Подтвердить что ты не робот

Как вы можете определить, приемлема ли матрица гомографии или нет?

При использовании функции OpenCV findHomography для оценки гомографии между двумя наборами точек из разных изображений вы иногда получаете плохую гомографию из-за выбросов в ваших точках ввода, даже если вы используете RANSAC или LMEDS.

// opencv java example:
Mat H = Calib3d.findHomography( src_points, dst_points, Calib3d.RANSAC, 10 );

Как вы можете определить, приемлема ли результирующая матрица гомосексуализма 3x3 или нет?

Я искал ответ на этот вопрос здесь, в Stackoverflow и в Google, и не смог его найти.

Я нашел эту статью, но для меня это немного загадочно:

"Геометрическая ошибка для гомографий"

4b9b3361

Ответ 1

Лучше всего сказать, приемлема ли гомография.

1- Возьмите точки одного изображения и перепрограммируйте их, используя вычисленную гомографию.

//for one 3D point, this would be the projection
px' = H * px;
py' = H * py;
pz' = H * pz;

2- Вычислите эвклидовое расстояние между перепроданными точками и реальными точками изображения.

Ошибка перепроектирования для одной точки. p - проецируемая точка, q - вещественная точка.

enter image description here

. 3. Установите треск, который решает, допустима ли ошибка повторения.

Например, ошибка, превышающая один пиксель, не будет приемлемой для многих приложений отслеживания.