我有一个模拟摄像头连接到EasyCap视频捕捉设备 . 当我运行使用OPENCV打开网络摄像头视频的基本代码时,我可以访问我内置的网络摄像头,但不能访问其他模拟摄像头 .
如何将任何其他相机(FPV,IR等)连接到PC,以便OPENCV可以访问它 .
谢谢 .
我挣扎着同样的问题,希望它有所帮助!
the original thread + ANSWER
也relevant XKCD
还有一个观察:从您的描述中看起来您已经在笔记本电脑上运行了网络摄像头(可能是内置摄像头?)您可能希望在系统管理器中禁用它,以确保您的模拟摄像头cam_index为零 . 否则,如果您将网络摄像头作为设备启用,那么您的模拟摄像头很可能会增加到cam_index = 1,这似乎可以通过它在cam_index = 1上崩溃来确认 . 争论不是一个很好的方法来找到你的相机的索引,但你有它!
您可以通过将以下 deviceID 更改为所需的设备来设置要连接的相机以打开:
deviceID
CvCapture* capture = cvCaptureFromCAM(deviceID);
或新的API:
VideoCapture cap(deviceID);
查看documenation了解更多信息 .
使用模拟摄像机的deviceID而不是内置摄像机 .
3 回答
我挣扎着同样的问题,希望它有所帮助!
the original thread + ANSWER
也relevant XKCD
还有一个观察:从您的描述中看起来您已经在笔记本电脑上运行了网络摄像头(可能是内置摄像头?)您可能希望在系统管理器中禁用它,以确保您的模拟摄像头cam_index为零 . 否则,如果您将网络摄像头作为设备启用,那么您的模拟摄像头很可能会增加到cam_index = 1,这似乎可以通过它在cam_index = 1上崩溃来确认 . 争论不是一个很好的方法来找到你的相机的索引,但你有它!
您可以通过将以下
deviceID
更改为所需的设备来设置要连接的相机以打开:或新的API:
查看documenation了解更多信息 .
使用模拟摄像机的deviceID而不是内置摄像机 .