从外部摄像头拍摄的OpenCV(OpenCV Capture from external camer

2019-09-16 15:50发布

我目前正在写使用OpenCV的,并在以下情况下的实时应用:我试图捕捉到从火线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版)

我知道这个问题是省著名商标,有很多关于这个讨论,但我不能TI找到任何解决方案。

是否有人已经在同一案件?

问候。

Answer 1:

index应在0而不是1开始。

如果不工作,也许你的相机不支持OpenCV的。 我建议你检查它是否在兼容性列表 。



Answer 2:

要明确选择火线,也许你可以尝试添加300到您的索引? 至少在OpenCV中2.4,每种类型的照相机的被赋予一个特定的域。 例如,Video4Linux的给出域200,所以200是第一V4L照相机,201是第二等用于火线,所访问的300如果指定了索引小于100,只是OpenCV的通过每个其结构域的迭代中秩序,这可能不是你所期望的顺序。 例如,它可能会首先找到你的摄像头,并且永远找不到火线相机。 如果这不是问题,请接受我的appologies。



文章来源: OpenCV Capture from external camera