我正在开发一个代码,我必须找到所有我感兴趣的角点的轨迹。因此,对于相同的情况,我使用了LKPyr光流,它使用角点先前的图像并在当前图像中找到它们。我逐帧使用光流帧,即帧1和帧2,然后是2和3.因此,我认为在前一次迭代中发现的帧2角特征将成为光流的当前特征,但是,不是这种情况,每当我做好跟踪的特征时,点就会改变,问题是,对于轨迹点,我需要跟踪当前点并在新点到来时添加新点,当旧点即将丢失时,我应该得到状态= 0,以便我可以跟踪点一个一个。有没有办法做到这一点?有没有办法知道视频中每个点何时结束,以便我可以跟踪轨迹?改变cvLKpyrOpticalFlow调用中的标志是否有助于获得持续流量?OpenCV Lucas Kanade光流
cvGoodFeaturesToTrack (imgGrayscale, imgEigen, imgTemp, corners_img, &corner_count, 0.01, 5.0, 0, 3, 0.4);
cvCalcOpticalFlowPyrLK(imgGrayscale, nxtimgGrayscale, pyr_img, pyr_nxtimg, corners_img, corners_nxtimg, corner_count, cvSize (win_size, win_size), 5, status, track_error, IterCriteria, NULL);
这是我运行得到光流的代码块。
类似的问题:http://stackoverflow.com/a/9702540/769220 – Chris