Класс оптического потока в opencv (CalcOpticalFlowPyrLK) Параметры

У меня есть вопрос относительно двух параметров в классе CalcOpticalFlowPyrLK(). Вот ссылка на документацию:

http://docs.opencv.org/trunk/modules/video/doc/motion_analysis_and_object_tracking.html?highlight=calcopticalflowpyrlk#cv2.calcOpticalFlowPyrLK

Первым параметром является "err". В документации это определяется как ошибка отслеживания его функции, но они не дают никаких подробностей. Ошибка в отношении чего?

Во-вторых, параметр «статус». Они определяют его как состояние, если соответствующая функция найдена (1) или нет (0). У меня бывают случаи, что ошибка отслеживания для конкретной фичи низкая и статус "не найден=0" для этой фичи. У меня бывает и обратный случай.

Есть ли какая-то связь между этими двумя? Я пытаюсь обнаружить моргание глаз. Очевидно, что функция, которая у меня есть в роговице глаза (блики), отсутствует, когда глаз закрыт. Но все же для этого кадра состояние остается 1 (найдено), но ошибка взрывается. Например, у меня есть кадр t, и я пытаюсь отследить функцию в кадре t+1. В кадре t все функции есть. В кадре t+1 функции исчезли (моргание), но статус по-прежнему равен 1.


person alexfrag    schedule 30.05.2014    source источник


Ответы (1)


Связь этих двух значений заключается в том, что сначала нужно проверить массив состояния. Массив состояния сообщает, была ли найдена характерная точка или нет. Эта «проверка» имеет более высокий приоритет, чем ошибка. В документации написано: "если поток не найден, то ошибка не определяется". Но память должна быть выделена в любом случае, чтобы сохранить соответствия индексов. В C++ вы должны инициализировать значения, если этого не произошло, будет какое-то случайное значение. Поэтому я думаю, что OpenCV не заполнил массив нулями или чем-то еще. Вот почему может случиться так, что ошибка действительно мала, а бита состояния нет!

Вот несколько пояснений, как работает метод Лукаса-Канады.

Когда я внедрял Optical Flow в OpenCV, я нашел этот хорошая ссылка.

Также книга Освоение OpenCV с практическими проектами компьютерного зрения есть полезная глава об этом.

person PeterNL    schedule 30.05.2014
comment
Спасибо за ссылку очень пригодилась!! - person alexfrag; 31.05.2014
comment
Нет проблем, для лучшего результата я использую фильтрацию RANSAC. Если вы хотите больше деталей, я могу показать вам. - person PeterNL; 01.06.2014
comment
хорошо, мне будет интересен ваш подход :) @PeterNL - person Alex Tape; 05.08.2015