2010-11-25 52 views

回答

1

嘗試使用一些操作系統功能來枚舉網絡攝像頭。這可能需要一些工作,但這種方法將保證你每次都得到一個列表(不像OpenCV黑客,由於某種原因,這有時不起作用)。

5

正如馬丁說,它不支持OpenCV的,但你可以使用一個小技巧。如果滿足您的需求,您可以通過調用cvCreateCameraCapture()連續枚舉攝像頭,直到返回NULL,找出攝像頭的數量。

某事像這樣:

CvCapture *cap; 
int n = 0; 
while(1) 
{ 
    cap = cvCreateCameraCapture(n++); 
    if (cap == NULL) break; 
    cvReleaseCapture(&cap); 
} 

cvReleaseCapture(&cap); 
return n-1; 

現在你有一些相機的設備,所以你可以讓你的用戶選擇一個由即列表框中的指標。

缺點是OpenCV不會給你任何有關設備名稱的信息,所以如果你想完成這個任務,你應該看看微軟的DirectShow或Martin提出的庫。

+1

在我的電腦上,無論我放置什麼索引,它都會返回默認攝像頭,儘管我只連接了2個攝像頭。 – xandy 2013-10-09 11:45:11

相關問題