|
Раздел "Обработка сигналов и изображений\Image Processing Toolbox"
И.М.Журавель "Краткий курс теории обработки изображений"
\ \
Регистрация аэрофотографий на ортофотоснимках
Два изображения одной и той же сцены могут сравниваться только в том случае, если они представлены в одинаковых координатных системах. Представим процесс преобразования изображения в одной из координатных систем в другое изображение.
Ключевые понятия |
Регистрация изображений, контрольные точки, геометрические преобразования, ортофотоснимки |
Ключевые функции |
cpselect, cp2tform, imtransform |
Демонстрация примера включает следующие шаги:
- Шаг 1: Считывание изображения.
- Шаг 2: Выбор контрольных точек.
- Шаг 3: Выбор геометрических преобразований.
- Шаг 4: Преобразование незарегистрированных изображений.
- Шаг 5: Просмотр зарегистрированных изображений.
Шаг 1: Считывание изображения.
Изображение westconcordorthophoto.png представляет собой ортофотоснимок, на котором изображена некоторая часть поверхности земли. Изображение westconcordaerial.png являет собой незарегистрированное аэроизображение и содержит некоторые искажение относительно ортофотоснимка.
unregistered=imread('westconcordaerial.png');
figure, imshow(unregistered)
figure, imshow('westconcordorthophoto.png')
Шаг 2: Выбор контрольных точек.
Первым шагом на пути совмещения представленных выше изображений является выбор контрольных точек с помощью функции cpselect.
load westconcordpoints
cpselect(unregistered(:, :, 1),'westconcordorthophoto.png',...
input_points,base_points)
С помощью специального пакета существует возможность выбора соответствующих контрольных точек. Контрольные точки используются в качестве маркеров для совмещения (привязки) двух изображений. Четырех пар контрольных точек уже достаточно для поиска (привязки). На основании этих точек делается заключение о том, какие геометрические преобразования нужно проделать в дальнейшем.
При идентификации аэрофотоснимка может возникнуть необходимость в добавлении пары контрольных точек.
Для запоминания контрольных точек необходимо в меню File выбрать опцию Save Points to Workspace. После запоминания точек следует перезаписать переменные input_points и base_points.
Шаг 3: Выбор геометрических преобразований.
На предварительных шагах было определено аэрофотоизображение и соответствующее ему топографическое изображение. На исходном аэрофотоизображении возможны геометрические искажения. С помощью функции cp2tform осуществляется поиск параметров проекционных искажений.
t_concord=cp2tform(input_points, base_points, 'projective');
Шаг 4: Преобразование незарегистрированных изображений.
Совмещая изображения с помощью выбранных контрольных точек существует возможность выявления геометрических искажений. А применение функции imtransform приводит к устранению этих искажений. Следует отметить, что выбор значений 'XData' и 'YData' обеспечивает еще более точное совмещение (калибровку) с ортофотоснимком.
Info=imfinfo('westconcordorthophoto.png');
registered=imtransform(unregistered, t_concord, ...
'XData', [1 info.Width], 'YData', [1 info.Height]);
Шаг 5: Просмотр зарегистрированных изображений.
figure, imshow(registered)
Визуальный анализ полученных результатов свидетельствует о их приемлемости. В другом случае, для получения еще более эффективного результата, следует начать обработку с шага 2 и выбрать большее число контрольных точек.
\ \
|
|