晚上按部就班将书上的代码敲进去,发现本本摄像头灯亮了,程序运行是黑框,后来发现是本人的lenovo上有个虚拟摄像头,去“管理”->图像设备,里面将此设备禁用,即能正确显示,网上其他的方法未能成功,估计不是新技术的问题。本人配置VS2010+opencv2.3.1+win7,附本人代码:
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(void)
{
CvCapture* capture;
capture = cvCreateCameraCapture(-1);
assert(capture != NULL);
IplImage* img;
img = cvQueryFrame(capture);
cvNamedWindow("eg7",1);
while(img != NULL)
{
img = cvQueryFrame(capture);
cvShowImage("eg7",img);
char c = cvWaitKey(10);
if(c == 27) break;
}
cvReleaseCapture(&capture);
cvDestroyWindow("eg7");
}