반응형
Concept
윈도우 기본 카메라 앱에서는 출력되지만, 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 인자들이 있습니다. 연결이 안된다면 한 번쯤 시도해볼만 합니다.
Reference
thebook.io/006939/ch04/01/01-03/
Your Best AI Partner DEEP.I
Jetson 시리즈 & 라즈베리 기반 엣지 컴퓨팅 시스템 제작
인공지능 프로젝트 제작 외주 및 상담
인공지능 접목 졸업 작품 상담
E-mail: deepi.contact.us@gmail.com
Site: www.deep-i.net
출처 : https://deep-eye.tistory.com/73