2014-06-12 3 views
4

현재 C++의 Win 7에 세 대의 카메라가있는 opencv2.4.8을 사용하고 있습니다. VideoCapture cap 등을 통해 카메라에서 읽는 방법을 이해하지만 어떤 카메라인지 식별하는 데 어려움이 있습니다.OpenCV 카메라를 고유하게 식별합니다.

내가 이해할 수있는 것으로부터 cap.open(int num) 카메라 색인이 필요합니다. 내 경우에는, 이러한 0, 1,

CAMA = 0 CAMB = 1 CAMC = 2 

그러나 만약 2

&이 프로그램을 시작하기 전에, 인덱스 0 캠, 내 카메라 지수 변화 분리 될 수 있습니다.

CAMA //GONE 
    CAMB = 0 
    CAMC = 1 

그래서 몇 가지 방법은 (... 사용자에게 매번 각각의 카메라를 표시 이외의) 어떤 카메라 기억이있다? 아마도 다시 시작할 때 읽을 수있는 카메라의 고유 ID를 기록하고 있습니까?

기기 관리자에서 나는 다소 영구적 인 값인 것처럼 보이는 USB device - Device Class guid의 속성을 보았습니다. 이 ID를 캠 색인과 연관시키는 방법이 있습니까?

나는 heretried the code here.을 검색했습니다. 스테레오 비전 사용자가 일반적으로이 문제를 겪고 있다고 상상해보십시오. 그렇다면 어떻게 관리 했습니까?

+0

"사람들이 어떻게 관리 했습니까?" 처음에는 올바른 주문을 묻는 구성 대화 상자가 있거나 절대 만지지 마십시오. –

답변

3

정말 대답이 아니지만 실제로는 그렇지 않습니다.

프로덕션 응용 프로그램에서 수행 한 작업은 OpenCV 외부에서 비디오를 완전히 처리 한 다음 프레임을 OpenCV 이미지로 변환하고 추가 처리를 수행하는 것입니다.

Windows에서는 DirectShow를 사용할 수 있으며 카메라 관련 API도 사용했습니다. 어떠한 방식으로도 휴대하거나 편리하지는 않지만 업무에 도움이됩니다. 더하기 측면에서 보통 OpenCV가 정의하는 몇 가지 속성이 아닌 전체 카메라 설정 및 기능에 액세스 할 수 있습니다.

관련 문제