【发布时间】:2011-03-03 06:23:59
【问题描述】:
我正在编写一个需要使用 opencv 从网络摄像头捕获的程序。我正在使用罗技 C260 相机和 OpenCV2.2、Windows XP、QT Creator。这是我的代码示例:
int i = 0;
int arg = 0;
CvCapture *pCapturedImage = cvCaptureFromCAM(arg);
cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE );
IplImage* img1= cvQueryFrame(pCapturedImage);
IplImage* img2;
IplImage* merged;
int MAX_FRAMES = 10;
for (int i = 0; i < MAX_FRAMES; i++){
pCapturedImage = cvCaptureFromCAM(arg);
if (!pCapturedImage){
printf("Uh oh");
}
img1 = cvQueryFrame(pCapturedImage);
printf("Query");
cvShowImage( "Example1", img1 );
cvWaitKey(0);
}
for (int i = 0; i < MAX_FRAMES; i++){
printf("Enter");
img2 = img1;
pCapturedImage = cvCaptureFromCAM(arg);
if (!pCapturedImage){
printf("Uh oh");
}else
printf("Capture");
img1 = cvQueryFrame(pCapturedImage);
printf("Query");
cvShowImage( "Example1", img1 );
cvWaitKey(0);
img1 = mergePhotos(img2, img1, i*25, i*25);
printf("Merge");
cvShowImage( "Example1", img1 );
cvWaitKey(0);
}
但它不起作用。在前 10 次捕获中,我只获得了一个,然后,捕获变为空(我会发布一张图片,但我不允许这样做)。
我被难住了。我试过 cvCaptureFromCAM 和 cvCreateCameraCapture。我已经尝试将 args 更改为该函数。我已经尝试了所有的 USB 端口。
有人知道问题可能是什么吗?我非常感谢所有帮助。
【问题讨论】:
标签: c++ qt windows-xp opencv webcam