DEEP.I - Lab

오프라인 공간의 지능화를 꿈꾸는 딥아이 연구실입니다.

Python/Python

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

Jongwon Kim 2021. 3. 29. 17:47
반응형

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
AI 바우처 공급 기업
객체 추적 및 행동 분석 솔루션 | 제조 생산품 품질 검사 솔루션 | AI 엣지 컴퓨팅 시스템 개발

인공지능 프로젝트 개발 외주 및 상담
E-mail: contact@deep-i.ai
Site: www.deep-i.ai

 

딥아이 DEEP.I | AI 기반 지능형 기업 솔루션

딥아이는 AI 기술의 정상화라는 목표를 갖고, 최첨단 딥러닝 기술 기반의 기업 솔루션을 제공하고 있으며, 이를 통해 고도의 AI 기반 객체 탐지, 분석, 추적 기능을 통합하여 다양한 산업 분야에

deep-i.ai

 

반응형