#opencv #opticalflow
#opencv #opticalflow
Вопрос:
Я попробовал код, написанный здесь: http://i-vizon.blogspot.ch/2013/03/optical-flow-using-opencv-library-on.html
Он работает довольно хорошо, но не очень хорошо работает в случае движущейся камеры, потому что все функции удаляются при смене сцены.
По сути, код составлен так:
-
Первый кадр: goodFeaturesToTrack (grayFrames, points1,MAX_COUNT,0.01,5, Mat(),3,0,0.04);
-
Другие кадры: calcOpticalFlowPyrLK (prevGrayFrame, grayFrames, points2,points1, статус, ошибка, winSize,3, termcrit, 0,0.001); goodFeaturesToTrack (grayFrames, points1,MAX_COUNT,0.01,10, Mat(),3,0,0.04); с обменом точками и копиейтекущий кадр в предыдущем.
Проблема: когда я использую его с камерой, обрабатывая ее на руке, когда я меняю первые сцены, оптический поток не создается, я полагаю, потому что начальные функции больше не содержатся в новых кадрах. Как я могу обновить характеристическую точку в этом коде, чтобы продолжить работу? Что является хорошим условием обновления? Основываясь, например, на количестве функций?
Большое вам спасибо.
Комментарии:
1. Какова цель использования opticalflow? Чего вы пытаетесь достичь в своем приложении? Дайте нам некоторую информацию..
2. На первом этапе я просто хочу отслеживать оптический поток для движущейся камеры. Алгоритм, указанный в ссылке, хорошо работает только на стационарной камере (например, на веб-камере).
3. Есть ли особая причина, по которой вы хотите использовать goodFeaturesToTrack? Будет ли для вас работать постоянная сетка? Кроме того, вы можете включить свой код в вопрос.
4. Спасибо Sarid за ответ. Я думаю, что буду использовать постоянную сетку.