본문 바로가기
파이썬/OpenCV관련

[Python] OpenCV 웹캠 연결 문제 cv2.VideoCapture 해결 방법

by David.Ho 2023. 1. 5.
728x90
반응형

윈도우 기본 카메라 앱에서는 출력되지만, opencv에서 특정 웹캠 연결 문제가 발생하여 영상이 출력되지 않는 경우가 가끔 발생합니다.

 

다양한 이유가 있지만, 동영상 프레임을 불러오는 과정을 결정짓는 apiPreference 문제로 발생하기도 합니다.

 

일반적으로 opencv가 알아서 최적값을 찾아주지만 영상 출력이 되지 않는다면 한 번 시도해보길 바랍니다.


VideoCaptureAPIs 열거형 함수

CAP_ANY 자동 선택
CAP_V4L, CAP_V4L2 V4L/V4L2(리눅스)
CAP_FIREWIRE, CAP_FIREWARE, CAP_IEEE1394 IEEE 1394 드라이버
CAP_DSHOW 다이렉트쇼(DirectShow)
CAP_PVAPI PvAPI, Prosilica GigE SDK
CAP_OPENNI OpenNI
CAP_MSMF 마이크로소프트 미디어 파운데이션 (Microsoft Media Foundation)
CAP_GSTREAMER GStreamer
CAP_FFMPEG FFMPEG 라이브러리
CAPIMAGES OpenCV에서 지원하는 일련의 영상 파일 (예) img%02d.jpg
CAP_OPENCV_MJPEG OpenCV에 내장된 MotionJPEG 코덱

import cv2

# 일반적으로 웹캠 불러오기
cam = cv2.VideoCapture(0)
ret, frame = cam.read()

# 기존 방식으로 연결이 안될 경우
# 여기서 숫자 0은 웹캠의 채널 인덱스
cam = cv2.VideoCapture(cv2.CAP_DSHOW+0)
ret, frame = cam.read()

cv2.CAP_DSHOW 이외에 여러 API 인자들이 있습니다. 연결이 안된다면 한 번쯤 시도해볼만 합니다.

728x90
반응형

댓글