Самый быстрый и точный способ сопоставить искаженное / преобразованное изображение с базовым изображением? - PullRequest
5 голосов
/ 22 января 2012

Я пытаюсь взять изображение, снятое через сканер (или, возможно, камеру мобильного телефона), различного качества и искажения, и заново выровнять его с базовым изображением (созданным в фотошопе, до того, как оно будет напечатано и отсканировано).) быть как можно ближе.

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

Я пытался использовать cvGoodFeaturesToTrack (), но я не могу придумать точный способ убедиться, что четыре точки для калибровки точны привсе обстоятельства.Я думал об использовании сопоставления с шаблоном, но не похоже, что он будет надежно работать при различных искажениях.Я вижу множество методов для выполнения конкретных задач, таких как поиск контуров, ключевых точек, линий и т. Д., Но нет признаков того, что на самом деле делает с ними.

Есть лилучший способ, который я просто не вижу?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 16 февраля 2012

Классический подход - бинаризация и анализ BLOB-объектов: найдите пиксели, которые темнее порога, и сгруппируйте их при касании (анализ подключенных компонентов). Держите группы, которые имеют точечную форму (хорошая округлость) и область в ожидаемом диапазоне. Используйте центр тяжести. Это должно быть достаточно точным для ваших ориентиров.

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

0 голосов
/ 16 апреля 2014

Если ваши искажения можно охарактеризовать как гомографию, тогда вы можете использовать алгоритм «ESM» (эффективная минимизация второго порядка, доступная в библиотеке CVD).http://www.edwardrosten.com/cvd/cvd/html/group__gEsm.html

Если ваши искажения включают некоторые искажения линзы, которые вы можете использовать DIC (цифровая корреляция изображений).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...