我是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
,二进制文件未使用调试信息构建。
然后退出代码。
那么,我的代码有问题还是与网络摄像头的兼容性问题?
#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");
}