В этом примере показано, как использовать объекты пространственной ссылки для понимания пространственной взаимосвязи между двумя изображениями при регистрации изображения и их эффективного отображения. В этом примере приводится одно из изображений, называемое moving изображение, в соответствие с другим изображением, называемое fixed изображение.
Прочитайте два изображения одной и той же сцены, которые слегка не выровнены.
fixed = imread('westconcordorthophoto.png'); moving = imread('westconcordaerial.png');
Отображение движущегося (незарегистрированного) изображения.
iptsetpref('ImshowAxesVisible','on') imshow(moving) text(size(moving,2),size(moving,1)+30, ... 'Image courtesy of mPower3/Emerge', ... 'FontSize',7,'HorizontalAlignment','right');

Загрузите MAT-файл, содержащий предварительно выбранные управляющие точки для fixed и moving изображения и создание геометрического преобразования, соответствующего контрольным точкам, с помощью fitgeotrans .
load westconcordpoints tform = fitgeotrans(movingPoints, fixedPoints, 'projective');
Выполните преобразование, необходимое для регистрации moving изображение с fixed изображение, использование imwarp . В этом примере используется необязательный параметр 'FillValues' для указания значения заливки (белого), которое поможет при отображении fixed изображение поверх преобразованного moving изображение, чтобы проверить регистрацию. Обратите внимание, что все содержимое геометрически преобразовано moving изображение присутствует, теперь называется registered . Также следует отметить, что пустые строки или столбцы отсутствуют.
registered = imwarp(moving, tform,'FillValues', 255);
figure, imshow(registered);
Наложение преобразованного изображения, registered , над fixed изображение, использование imshowpair . Обратите внимание на неправильную регистрацию этих двух изображений. Это происходит потому, что imshowpair предполагает, что оба изображения находятся в собственной системе координат по умолчанию. Следующие шаги предоставляют два способа устранения этой проблемы отображения.
figure, imshowpair(fixed,registered,'blend');
Наложение зависимости на преобразованное изображение, registered , к тому же числу строк и столбцов и тем же пространственным пределам, что и fixed изображение. Это гарантирует, что зарегистрированное изображение появляется зарегистрированным фиксированным изображением, но области зарегистрированного изображения, которые будут экстраполироваться за пределы фиксированного изображения, отбрасываются. Для этого создайте объект пространственной ссылки по умолчанию, который определяет размер и расположение fixed изображение и использование imwarp's 'OutputView' параметр для создания зависимого изображения с повторной выборкой registered1. Отображение зарегистрированного изображения поверх фиксированного изображения. В этом представлении изображения, по-видимому, зарегистрированы, но не все незарегистрированные изображения видны.
Rfixed = imref2d(size(fixed)); registered1 = imwarp(moving,tform,'FillValues', 255,'OutputView',Rfixed); figure, imshowpair(fixed,registered1,'blend');

В качестве альтернативы используйте опциональное imwarp синтаксис, возвращающий выходной объект пространственной ссылки, который указывает положение полного преобразованного изображения в той же внутренней системе координат по умолчанию, что и fixed изображение. Отображение зарегистрированного изображения поверх фиксированного изображения и обратите внимание, что теперь полный registered изображение видно.
[registered2, Rregistered] = imwarp(moving, tform,'FillValues', 255); figure, imshowpair(fixed,Rfixed,registered2,Rregistered,'blend');

Убери.
iptsetpref('ImshowAxesVisible','off')