我在这里看到了与这个问题类似的其他帖子,甚至凝视并尝试尝试所有可能的方法,但它们都不适合我。以下代码只是从网络摄像头无限捕获图像,代码正在成功构建,出现错误“错误:捕获为空”。
Windows 7 是否支持 opencv2.2.0,我在许多帖子中看到提到在窗口 7 中使用 Direct show 进行视频捕获
#include<opencv/cxcore.h>
#include<opencv/highgui.h>
#include<opencv/cxcore.h>
#include<stdio.h>
#include<stdlib.h>
int main(int argc,char* argv[])
{
CvSize size640x480 = cvSize(640,480);
CvCapture* p_capWebcam;
IplImage* p_imgOriginal;
p_capWebcam=cvCaptureFromCAM(0);//i tried p_capWebcam=cvCaptureFromCAM(CV_CAP_ANY)
//i tried index from -1 to 10 but nothing worked
if(p_capWebcam==NULL)
{
printf("error:capture is NULL");
getchar();
return -1;
}
cvNamedWindow("Original",CV_WINDOW_AUTOSIZE);
while(1)
{
p_imgOriginal=cvQueryFrame(p_capWebcam);
if(p_imgOriginal=NULL)
{
printf("error :frame is NULL \n");
break;
}
cvWaitKey(10);
cvShowImage("Original",p_imgOriginal);
}
}
IDE 是 Microsoft Visual C++ 2010 Express,
Webcamera(Frontech) usb2.0 支持以下格式 {'YUY2_160x120' 'YUY2_176x144' 'YUY2_320x240' 'YUY2_352x288' 'YUY2_640x480'}