При использовании функции findHomography
OpenCV для оценки гомографии между двумя наборами точек из разных изображений иногда вы получаете плохую гомографию из-за выбросов в ваших точках ввода, даже если вы используете RANSAC или LMEDS.Как вы можете определить, приемлема ли матрица гомографии или нет?
// opencv java example:
Mat H = Calib3d.findHomography(src_points, dst_points, Calib3d.RANSAC, 10);
Как вы можете определить, приемлема ли результирующая матрица гомосексуализма 3x3 или нет?
Я искал ответ на этот вопрос здесь, в Stackoverflow и в Google, и не смог его найти.
Я нашел эту статью, но это немного загадочным для меня:
"The geometric error for homographies"
См. Вопрос http://stackoverflow.com/questions/10972438/detecting-garbage-homographies-from-findhomography-in-opencv/10981249#10981249 –
Если ваше движение камеры ограничено, вы можете попытаться разложить свою гомографию и тестовую шкалу, параметры вращения и/или трансляции для резких значений. Другой метод. Если вы знаете (или принимаете ограничение), что большие части изображений должны пересекаться, вы можете вычислить перекрытие после деформирования и решить, может ли это быть явно ложной гомографией. Другой метод: если вы используете RANSAC, вы можете выбрать из числа более ранних (и/или соотношение inlier/total), следует ли отклонять гомографию) – Micka
@ Мичка спасибо за вашу помощь, я уже использовал RANSAC, движение камеры не ограничиваясь, и я искал методы отбрасывать гомологии (главным образом математические), прежде чем переходить к более тяжелым вычислениям, таким как применение гомографии и проверка на совпадение. –