【问题标题】:Opencv cant access camera connected through video capture deviceOpencv无法访问通过视频捕获设备连接的摄像头
【发布时间】:2014-02-12 04:06:50
【问题描述】:

我有一个连接到 EasyCap 视频捕捉设备的模拟摄像头。当我运行使用 OPENCV 打开网络摄像头视频的基本代码时,我可以访问我的内置网络摄像头,但不能访问其他模拟摄像头。

您如何将任何其他相机(FPV、IR 等)连接到 PC,以便 OPENCV 可以访问它。

谢谢。

【问题讨论】:

    标签: opencv camera video-capture


    【解决方案1】:

    我遇到了同样的问题,希望对您有所帮助!

    the original thread + ANSWER

    还有relevant XKCD

    还有一个观察:根据您的描述,您的笔记本电脑上似乎已经有一个网络摄像头(可能是内置网络摄像头?)您可能希望在系统管理器中禁用它,以确保您的模拟摄像头 cam_index 为零对于某些。否则,如果您将网络摄像头作为设备启用,那么您的模拟摄像头很可能会增加到 cam_index=1,有趣的是,它似乎在 cam_index=1 上崩溃了。 可以说不是找到相机索引的好方法,但你有它!

    【讨论】:

      【解决方案2】:

      您可以通过将以下deviceID更改为您想要的设备来设置要连接的相机:

      CvCapture* capture = cvCaptureFromCAM(deviceID);  
      

      或新的 API:

      VideoCapture cap(deviceID);
      

      查看documenation 了解更多信息。

      【讨论】:

      • 当我输入 0 的 deviceID 时,它会打开网络摄像头。当我执行 1 或任何其他数字时,代码会崩溃并且系统会重新启动。视频捕获设备显示为视频控制器而不是成像设备。模拟摄像机不直接连接 PC。我仍然没有得到正确的答案
      • @user3285283 不直接连接PC是什么意思?
      • 相机有一个母 RCA 连接器来发送视频。我使用公对公 RCA 连接器将它连接到视频捕获设备。 EasyCap 视频捕获设备连接到 PC。 PC 硬件将此视频捕获设备识别为声音、游戏和视频控制器硬件,而不是直接识别相机。
      • @user3285283 如果您的 PC 无法将其识别为摄像头,那么 OpenCV 可能也会这样做(坏消息 :()。
      • 有什么方法可以连接模拟摄像头/红外摄像头。我猜人们已经在无人机上使用 ccd 摄像头/红外摄像头/模拟摄像头将视频传输到地面站并进行了某种图像处理。
      【解决方案3】:

      使用模拟摄像机的 deviceID 而不是内置的。

      【讨论】:

      • 模拟摄像机没有直接连接到PC。它有一个 RCA 连接器,我使用一个视频捕获设备将相机视频输入 PC。
      • 我使用的是 Windows 7。
      • 你能用vlc等其他软件访问相机吗?
      • 我正在通过 windows 电影制作器访问它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 2014-03-16
      • 2017-11-14
      • 2014-06-05
      • 2019-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多