Сравнение точки пересечения между двумя изображениями в MATLAB

StackOverflow https://stackoverflow.com/questions/1641808

Вопрос

Я сделал 2 снимка с точкой пересечения, и теперь я пытаюсь сравнить эти 2 снимка и выяснить, на какое расстояние и под каким углом они были перемещены.Как я могу использовать MATLAB для этого?Большое вам спасибо!

Pic3 Pic2

Это было полезно?

Решение

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

Посмотрите эти демонстрации регистрации изображений .

Другие советы

Если эти черные линии всегда присутствуют на изображениях, и они почти идеально прямые (не искажаются в кривые), лучшим методом было бы использовать Преобразование Хафа или Преобразование радона (можно по-разному подумать о том, чтобы сделать одно и то же) найти только две черные линии, а затем сравнить их положения.

Сначала вы бы инвертировали изображения, чтобы линии были ярко-белыми (большие значения), а затем выполнили преобразование Хафа.На выходе для каждого изображения будут две ярко-белые точки, по которым вы сможете определить пик.Координата каждого пика указывает вам угол и смещение линии.

Я не делал этого в MATLAB, но я вижу ряд примеров и документацию:

Кросс-корреляция (Википедия называет это Фазовая корреляция ) не будет работать, если изображения вращаются. Однако есть связанный метод, основанный на лог-полярных координатах это будет работать независимо от поворота, масштаба, сдвига и перевода.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top