Я работаю над кодом, где мне нужно найти траектории всех угловых точек, которые меня интересуют. Так что, для того же, я использовал оптический поток 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