Как я могу получить точки гомографии, вычисленные findHomography и RANSAC?

Я новичок в OpenCV. Я заметил, что линия

Mat H = findHomography( obj, scene, CV_RANSAC );

помогает найти гомографию H с помощью RANSAC.

Однако мне нужно расположение «очищенных» точек сопоставления после RANSAC, и я просто не могу найти, какую функцию я могу использовать. Мне нужна функция, которая использует RANSAC и возвращает местоположения совпадающих точек после RANSAC.


person Tongxin Wang    schedule 23.07.2015    source источник
comment
Непонятно, о чем вы спрашиваете. Попробуйте также опубликовать фрагмент кода   -  person Miki    schedule 23.07.2015
comment
Извините. Я имею в виду, что использование RANSAC после BFMatcher или FlannBasedMatcher фактически дополнительно «очищает» совпадающие точки, а функция findHomography использует «очищенные» совпадающие точки для вычисления H. Однако мне нужны местоположения «очищенных» совпадающих точек, и я просто не могу найти, какую функцию я могу использовать. Мне нужна функция, которая использует RANSAC и возвращает местоположения совпадающих точек после RANSAC.   -  person Tongxin Wang    schedule 28.07.2015


Ответы (2)


findHomography может дополнительно предоставлять маску выбросов и выбросов ( вставки - это то, что вы называете очищенным сопоставлением).

C ++: Mat findHomography (InputArray srcPoints, InputArray dstPoints, int method = 0, двойной ransacReprojThreshold = 3, OutputArray mask = noArray ())

Python: cv2.findHomography (srcPoints, dstPoints [, метод [, ransacReprojThreshold [, маска]]]) → retval, маска

Вы можете использовать только вставки (то есть точки с соответствующим значением mask, равным 1) при выполнении сопоставления.

person Miki    schedule 29.07.2015
comment
Возможно ли, что эта функция регулярно генерирует маску входящих и выбросов, содержащих ошибки? т.е. некоторые точки считаются вставками, в то время как они не должны - person LandonZeKepitelOfGreytBritn; 04.06.2017

Когда вы получаете истинный результат H33 от фингомографии, почему бы не выполнить перспективу: преобразовать точки совпадения от маски к кадру, тогда вы получите много «очищенных» точек совпадения.

person user9775723    schedule 11.05.2018