2013-05-19 2 views
2

OpenCV를 사용하여 일부 비디오 프레임을 가져옵니다. 이 카메라 캡처가 초기화되는 방법입니다현재 캡처에서 장치 ID 가져 오기

capture.release(); //Release the stream 
capture.open(1); //Open different stream 

당신이 당신의 컴퓨터와 연결된 몇 개의 카메라를 가지고 상상 :

VideoCapture capture; 
capture.open(0); //Read from camera #0 

내가 다른 카메라로 전환하고 싶었다면, 나는이 작업을 수행 할 것 두 개의 버튼을 사용하여 반복하고 싶습니다. 이전 카메라다음 카메라. 현재 카메라 ID를 변수에 저장하지 않고 VideoCapture 객체에서 실제 값을 가져와야합니다.
방법이 있습니까 현재 사용중인 장치의 ID는입니까?

의사 코드 :

int current = capture.deviceId; 
capture.release(); 
capture.open(current++); 
+0

그럴 것 같지 않습니다. 정적 변수에서 현재 카메라의 색인을 유지할 수 있습니까? –

+0

다른 방법이 없으면 나는 확실히 전역 변수를 사용할 것입니다. 그리고 저는 임시 해결책으로 그렇게했습니다. 그러나 두 곳에서 동일한 정보를 저장하는 데 아무런 문제가 없으므로'VideoCapture' 인스턴스에서 추출하려고합니다. –

답변

0

그래서 현재 사용중인 장치의 ID를 알아내는 방법을 방법이?

클래스 VideoCapture에는 이러한 변수 또는 메소드가 없기 때문에이 방법이 없습니다. CvCapture (실제로 highgui.h을보십시오)에 대한 포인터는 실제로 protected 포인터를 포함하므로 게임을 시도 할 수는 있지만이 필드에 대한 액세스 권한은 없습니다.