我是opencv的新手。 我想从网络摄像头捕获图像(intex it-105wc)。 我在windows xp上使用Microsoft visual c ++ 2008 express edition。 构建解决方案没有问题,但是当我尝试调试代码时,它会给出以下内容(这会在执行cvCaptureFromCAM(CV_CAP_ANY)时发生;)
已加载C:\Program Files\Common Files\Ahead\DSFilter\NeVideo.ax
,Binary未使用调试信息构建。
然后退出代码。
所以,我的代码有什么问题,还是与网络摄像头的兼容性问题?
#include "stdafx.h"
#include<stdio.h>
#include <cv.h>
#include <highgui.h>
void main(int argc,char *argv[])
{
int c;
IplImage* color_img;
CvCapture* cv_cap = cvCaptureFromCAM(CV_CAP_ANY);
if(!cv_cap)
{
printf( "ERROR: Capture is null!\n");
}
cvNamedWindow("Video",0); // create window
for(;;)
{
color_img = cvQueryFrame(cv_cap); // get frame
if(color_img != 0)
cvShowImage("Video", color_img); // show frame
c = cvWaitKey(10); // wait 10 ms or for key stroke
if(c == 27)
break; // if ESC, break and quit
}
/* clean up */
cvReleaseCapture( &cv_cap );
cvDestroyWindow("Video");
}
答案 0 :(得分:0)
此错误消息似乎与来自Nero刻录工具的视频编解码器有关。 如果您不需要此编解码器,您可以取消注册它,看看是否能解决您的问题。
为此,请在命令行上执行以下命令:
regsvr32 /u "C:\Program Files\Common Files\Ahead\DSFilter\NeVideo.ax"
你应该看到消息:
DllUnregisterServer in C:\Program Files\Common Files\Ahead\DSFilter\NeVideo.ax succeeded.
要撤消此操作,请执行
regsvr32 "C:\Program Files\Common Files\Ahead\DSFilter\NeVideo.ax"