我在Windows 10(10.0.10586)上使用opencv C ++(2.4.13)使用以下代码从我的网络摄像头读取一些图像帧:
VideoCapture capture;
Mat frame;
capture.open(-1);
if (!capture.isOpened()) { printf("--(!)Error opening video capture\n"); return -1; }
while (capture.read(frame)) ....
打开凸轮成功但capture.read(frame)
失败,返回空框架。
我的摄像头适用于Windows 10的相机应用程序。
我调试了opencv源代码,发现问题出在这里:
hic = ICOpen( MAKEFOURCC('V','I','D','C'),
vfmt0.biCompression, ICMODE_DECOMPRESS );
使用vfmt0.biCompression = 0x47504a4d(" MJPG" =动态JPEG)
ICOpen
函数返回零,因此整个进度失败。 ICOpen
是一个Windows API,用于获取视频流的压缩器/解压缩器。
我是否需要安装其他解压缩程序或任何配置步骤才能在openCV下运行cam?