2015-05-20 3 views
0

У меня есть несколько бинарных изображений, которые представляют собой частичную карту площадью (~ радиусом 4м) и были взяты ~ 0,2 м друг от друга, например:Fit два двоичных изображения (панорамы?)

First map picture Second map picture

(Извините за ограничение по оси).

Если вы посмотрите внимательно, вы увидите, что первое изображение около 20 см вправо.

Я хочу, чтобы иметь возможность создать карту области из нескольких фотографий, подобных этому. Я пробовал несколько методов, таких как регистр Matlab, но не смог найти хороший алгоритм для этой цели. Любые идеи о том, как подойти к этому?

Заранее благодарен!

+0

Я бы сказал: зарегистрироваться. Есть много методов регистрации изображений! также вы знаете, что хотите зарегистрировать масштаб/перевод/вращение, но все это жесткое движение, поэтому вам будет проще. –

ответ

1

два возможных маршрута:

Используйте imregister. Это делает запись на основе интенсивности изображения. Вероятно, вам понадобится жесткое преобразование.

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

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

Matlab имеет встроенную функцию для определения контрольных точек, cpselect. Тем не менее, для этого требуются данные изображения. Возможно, вам лучше написать свою собственную функцию для этого или просто выбрать контрольные точки вручную.

После того как вы контрольные точки можно определить преобразование между ними с помощью fitgeotrans

Смежные вопросы