[문제]
OpenCV을 이용하여 프로젝트를 개발하던 중 아래와 같은 메시지가 나타나고 카메라 영상이 나타나지 않는 현상이 발생했다.
[ WARN:0] global C:\projects\opencv-python\opencv\modules\videoio\src\cap_msmf.cpp (674) SourceReaderCB::~SourceReaderCB terminating async callback
[해결]
cam = cv2.VideoCapture(0)
기존 소스코드에서 아래와 같이 카메라 영상을 활성화시키는 메소드 내부에 카메라 처리 API를 지정해준다.
cam = cv2.VideoCapture(0, cv2.CAP_DSHOW)
두번째 매개변수에 해당하는 CAP_DSHOW는 카메라 영상이 화면에 바로 나타날 수 있도록 도와준다.
[추가]
아래는 주요 VideoCaptureAPIs 열거형 상수이다.
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 코덱 |
'OpenCV > 에러 해결' 카테고리의 다른 글
[OpenCV] module 'cv2.cv2' has no attribute 'face' 해결 (0) | 2021.09.25 |
---|---|
[OpenCV] No module named 'PIL' 해결 (0) | 2021.09.25 |