Сравнение точки пересечения между двумя изображениями в MATLAB - PullRequest
2 голосов
/ 29 октября 2009

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

Pic3 Pic2

Ответы [ 3 ]

1 голос
/ 29 октября 2009

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

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

0 голосов
/ 10 ноября 2009

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

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

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

0 голосов
/ 10 ноября 2009

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

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

...