我正在使用 Opencv (C++) 开发实时光流应用程序。
我不明白如何捕捉两个连续的帧来应用 Lucas-Kanade 跟踪方法。
这不起作用:
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 );
有任何想法吗?我希望这不是一个愚蠢的问题,但我怀疑它是:/提前抱歉。
谢谢!!
最佳答案
cv::Mat m1, m2;
cv::VideoCapture cap(0);
if(!cap.isOpened())
;// ... throw error here
cap >> m1;
cap >> m2;
// m1 and m2 now contain consecutive frames.
关于c++ - 从网络摄像头捕获 Opencv 连续帧,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5829385/