imregcorr

Оцените геометрическое преобразование, которое выравнивает две 2D корреляции фазы использования изображений

Описание

пример

tform = imregcorr(moving,fixed) оценивает геометрическое преобразование, которое выравнивает изображение, moving, со ссылочным изображением, fixed. Функция возвращает объект геометрического преобразования, tform, это сопоставляет пиксели в moving к пикселям в fixed.

tform = imregcorr(moving,fixed,transformtype) оценивает геометрическое преобразование, где transformtype скаляр строки или вектор символов, который задает тип преобразования.

tform = imregcorr(moving,Rmoving,fixed,Rfixed,___) оценивает геометрическое преобразование, которое выравнивает изображение, moving, со ссылочным изображением, fixed. Rmoving и Rfixed пространственные объекты привязки, которые содержат пространственную информацию о moving и fixed изображения, соответственно. Возвращенный объект преобразования, tform, задает отображение точки в системе мировой координаты.

tform = imregcorr(___,Name,Value,___) указывает движущееся изображение к фиксированному изображению с помощью пар "имя-значение", чтобы управлять различными аспектами регистрационного алгоритма.

Примеры

свернуть все

Считайте ссылочное изображение в рабочую область.

fixed  = imread('cameraman.tif');

Создайте синтетическое движущееся изображение путем масштабирования и вращения фиксированного изображения.

theta = 20;
S = 2.3;
tform = affine2d([S.*cosd(theta) -S.*sind(theta) 0; ...
                  S.*sind(theta)  S.*cosd(theta) 0; ...
                  0 0 1]);
moving = imwarp(fixed,tform);
moving = moving + uint8(10*rand(size(moving)));

Отобразите фиксированное и движущееся изображение друг вместе с другом.

imshowpair(fixed,moving,'montage')

Оцените, что преобразование должно было выровнять изображения с помощью imregcorr.

tformEstimate = imregcorr(moving,fixed);

Применяйте оцененное геометрическое преобразование к движущемуся изображению. Этот пример использует 'OutputView' параметр, чтобы получить зарегистрированное изображение тот же размер и с тем же миром ограничивает как ссылочное изображение.

Rfixed = imref2d(size(fixed));
movingReg = imwarp(moving,tformEstimate,'OutputView',Rfixed);

Просмотрите оригинальное изображение и зарегистрированное изображение рядом друг с другом, чтобы проверять регистрацию. Затем просмотрите зарегистрированное изображение, наложенное на исходном использовании 'falsecolor' опция, чтобы подсветить любые области, где изображения отличаются.

imshowpair(fixed,movingReg,'montage')

imshowpair(fixed,movingReg,'falsecolor');

Входные параметры

свернуть все

Отобразите, чтобы быть указанными, заданными как шкала полутонов, двоичный файл или изображение RGB. Если вы задаете изображение RGB, imregcorr преобразует его в полутоновое изображение с помощью rgb2gray перед обработкой.

Примечание

Соотношение сторон moving влияет на выход, преобразовывают tform. Для лучших результатов используйте квадратное изображение.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Ссылочное изображение в целевой ориентации, заданной как шкала полутонов, двоичный файл или изображение RGB. Если вы задаете изображение RGB, imregcorr преобразует его в полутоновое изображение с помощью rgb2gray перед обработкой.

Примечание

Соотношение сторон fixed влияет на выход, преобразовывают tform. Для лучших результатов используйте квадратное изображение.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Тип преобразования, чтобы оценить, заданный как одно из следующих значений.

ЗначениеОписание
'translation'Перевод
'rigid'Перевод и вращение
'similarity'Перевод, вращение и масштабирование

При использовании 'similarity' опция, алгоритм корреляции фазы только инвариантен к масштабу в некоторой области значений различия в шкале между фиксированными и движущимися изображениями. imregcorr ограничивает пространство поиска, чтобы масштабировать различия в области значений [1/4, 4]. imregcorr не обнаруживает различия в шкале меньше, чем 1/4 или больше, чем 4.

Типы данных: char | string

Пространственная информация о ссылке, сопоставленная с изображением, которое будет указано, задала как imref2d объект.

Пространственная информация о ссылке сопоставила со ссылкой (зафиксированное) изображение, заданное как imref2d объект.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: tformEstimate = imregcorr(moving,fixed,'Window',true);

Логический флаг, чтобы управлять использованием работы с окнами, чтобы подавить спектральные эффекты утечки в частотном диапазоне, заданном как разделенная запятой пара, состоящая из 'Window' и логический скаляр. Когда установлено в true, imregcorr использует окно Блэкмена, чтобы увеличить устойчивость регистрационных результатов. Если типичные функции, которые вы пытаетесь выровнять в своих изображениях, ориентированы вдоль ребер, установки 'Window' к false может иногда обеспечивать превосходящие регистрационные результаты.

Пример: tformEstimate = imregcorr(moving,fixed,'Window',true);

Типы данных: логический

Выходные аргументы

свернуть все

Геометрическое преобразование, возвращенное как объект геометрического преобразования типа affine2d.

Советы

  • Если ваше изображение имеет тип double, можно достигнуть повышений производительности путем кастинга изображения к single с im2single перед регистрацией. Введите изображения типа double заставьте алгоритм вычислять БПФ в double.

Ссылки

[1] Reddy, B. S. и Chatterji, B. N. основанный на БПФ метод для перевода, вращения, и инвариантной к масштабу регистрации изображений, транзакций IEEE на обработке изображений, издании 5, № 8, август 1996

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

Приложения

Функции

Введенный в R2014a