2015-01-02 5 views
1

OpenCV/VideoCapture 클래스를 사용하여 다양한 카메라 (IEEE 1394, Logitech 웹캠)에 대한 노출/이득 매개 변수를 설정하고 싶습니다. 이 주제에 대한 대부분의 게시물은 시행 및 오류임을 나타냅니다.OpenCV/VideoCapture/기존 카메라에 파라미터 디버깅

더 체계적으로 진행할 방법이 없습니까?

videocapture.cpp를 검색해도 opencv-3.0-beta의 코드가 표시되지 않습니다. videocapture 클래스 용 헤더 파일은 특별히 없습니다. 다른 헤더 파일에 포함되어야합니다.

videocapture (Ubuntu 및/또는 Windows)의 작동 방식에 대해 자세히 알 수 있습니까? O/S에서 운전자와 어떻게 통신합니까?

답변

1

modules/videoio/src/cap.cpp에서 cvCreateCameraCapture()의 소스를보고 기능을 예측하기 어려운 이유를 확인하십시오. 당신은 그것의 디버깅 할 경우는 probalby class CvCaptureCAM_VFW로 이어지는, VFW (cvCreateCameraCapture_VFW)는 웹 캠을 열 사용, 윈도우에서

// try every possibly installed camera API 
    for (int i = 0; domains[i] >= 0; i++) 
    { 
#if defined(HAVE_MSMF)   || \ 
    defined(HAVE_TYZX)   || \ 
    defined(HAVE_VFW)   || \ 
    defined(HAVE_LIBV4L)  || \ 
    defined(HAVE_CAMV4L)  || \ 
    defined(HAVE_CAMV4L2)  || \ 
    defined(HAVE_VIDEOIO)  || \ 
    defined(HAVE_GSTREAMER) || \ 
    defined(HAVE_DC1394_2)  || \ 
    defined(HAVE_DC1394)  || \ 
    defined(HAVE_CMU1394)  || \ 
    defined(HAVE_MIL)   || \ 
    defined(HAVE_QUICKTIME) || \ 
    defined(HAVE_QTKIT)  || \ 
    defined(HAVE_UNICAP)  || \ 
    defined(HAVE_PVAPI)  || \ 
    defined(HAVE_OPENNI)  || \ 
    defined(HAVE_OPENNI2)  || \ 
    defined(HAVE_XIMEA)  || \ 
    defined(HAVE_AVFOUNDATION) || \ 
    defined(HAVE_ANDROID_NATIVE_CAMERA) || \ 
    defined(HAVE_GIGE_API) || \ 
    defined(HAVE_INTELPERC) || \ 

: 시스템에 따라 사용할 수있는 몇 카메라 API를보다 더있다 매개 변수를 설정하는 데 사용되는 VFW의 capCaptureSetSetup() 기능을 사용합니다. 리눅스에서는 어떤 API를 링크 할 수 있는지 알아보기 위해 시스템에서 CMake를 사용해보아야 할 수도 있지만, GStreamer와 XIMEA는 다른 것들 중에서 지원됩니다.

+0

Ok ...보세요. 나는 그것이 일반적으로 다른 운전자를 찾는 방법을 얻는다. 그러나 'CvCaptureCAM_VFW'와 같은 것을 가리킬 필요가 있습니다 (예를 들어). 이 코드는 어디에 있습니까? ** DLL ** 또는 ** 그렇게 ** 일반 수 있습니다. ** OpenCV **에 기여하기보다는 카메라 드라이버를 위해 직접 작성된 코드로 비디오/스틸 사진을 찍는 것이 좋습니다. 생각? – user3533030

+0

https://github.com/Itseez/opencv/tree/master/modules/videoio/src – berak