我正在开发一个Opencv(C++)实时光流应用程序。 我不明白如何捕捉两个连续帧来应用Lucas-Kanade Tracking方法。Opencv从网络摄像头捕获连续帧
这不起作用:
CvCapture* capture = cvCaptureFromCAM(1);
IplImage *imgA=cvQueryFrame(capture);
IplImage *imgB=cvQueryFrame(capture);
我也曾经尝试这样做,但程序不会退出循环:
CvCapture* capture = cvCaptureFromCAM(1);
IplImage *imgA=cvQueryFrame(capture);
IplImage *imgB=cvCreateImage(cvSize(imgA),IPL_DEPTH_32F,3);
while(cvNorm(imgA,imgB)==0)
imgB=cvQueryFrame(capture);
任何想法?我希望这不是一个愚蠢的问题,但我怀疑它是:/提前对不起。 谢谢!
这是合乎逻辑的,它不会退出循环,因为网络摄像头永远不会停止将其馈送到图像中。你有没有尝试用cvShowImage()在窗口中观察结果? – 2011-04-29 09:13:56
“连续”是什么意思? – 2011-04-29 10:29:12
我使用这个QTOpencv APP:[链接](http://qt-apps.org/content/show.php/Qt+Opencv+webcam+viewer?content=89995) cvwidget-> putImage(imgA); – EnneKappa 2011-04-29 10:34:14