簡體   English   中英

OpenCV從外部攝像頭捕獲

[英]OpenCV Capture from external camera

我正在使用OpenCV編寫一個實時應用程序,在下面的例子中:我正在嘗試從插入firewire 800的HDV攝像頭捕獲圖像。我試圖循環使用cvCaptureFromCam上使用的索引,但沒有攝像頭可以'找到(網絡攝像頭除外)。

有我的代碼示例,它循環索引(轉義0導致它是網絡攝像頭的索引):

CvCapture* camera;
int index;
for (index = 1; index < 100; ++index) {
    camera = cvCaptureFromCAM(index);
    if (camera)
        break;
}    
if (!camera)
    abort();

在任何時候它停止在中止。

我正在編譯OSX 10.7,我測試過:

  • OpenCV 1.2私有框架
  • OpenCV 2.0私有框架(在這里找到: OpenCV2.0.dmg
  • 我自己編譯的OpenCV(第2版)

我知道問題是已知的,並且有很多關於此的討論,但我找不到任何解決方案。

有沒有人在同一案件中?

問候。

要明確選擇firewire,也許你可以嘗試在索引中添加300? 至少在OpenCV 2.4中,每種類型的攝像機都有一個特定的域。 例如,Video4Linux被賦予域200,因此200是第一個V4L相機,201是第二個,等等。對於Firewire,域是300.如果指定小於100的索引,OpenCV只是迭代它的每個域訂單,可能不是您期望的訂單。 例如,它可能會首先找到您的網絡攝像頭,但從未找到火線攝像頭。 如果這不是問題,請接受我的appologies。

index應該從0開始而不是1

如果這不起作用,OpenCV可能不支持您的相機。 我建議你檢查它是否在兼容性列表中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM