exponenta event banner

imregcorr

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

Описание

пример

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

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

tform = imregcorr(___,transformType) также указывает тип преобразования, transformType.

tform = imregcorr(___,'Window',window) также указывает, следует ли выполнять оконную обработку в частотной области. Для повышения стабильности результатов регистрации указать window как true. Однако если общие элементы на изображениях ориентированы вдоль кромок, то настройка window кому false иногда может обеспечить превосходные результаты регистрации.

[tform,peakcorr] = imregcorr(___) также возвращает пиковую корреляцию, peakcorr, разности фаз между двумя изображениями.

Примеры

свернуть все

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

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')

Figure contains an axes. The axes contains an object of type image.

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

tformEstimate = imregcorr(moving,fixed);

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

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

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

imshowpair(fixed,movingReg,'montage')

Figure contains an axes. The axes contains an object of type image.

imshowpair(fixed,movingReg,'falsecolor');

Figure contains an axes. The axes contains an object of type image.

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

свернуть все

Регистрируемое изображение, указанное как изображение в градациях серого, двоичное или 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 объект.

Использование оконного режима для подавления спектральных эффектов утечки в частотной области, указанных как числовые или логические 1 (true) или 0 (false). Когда true, imregcorr функция выполняет оконную обработку с помощью фильтра Блэкмана.

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

свернуть все

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

Пиковое значение корреляции разности фаз между двумя изображениями, возвращаемое в виде числового скаляра.

Совет

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

Ссылки

[1] Редди, Б. С. и Чаттерджи, Б. Н., метод на основе FFT для трансляции, вращения и инвариантной по масштабу регистрации изображений, транзакции IEEE по обработке изображений, том 5, № 8, август 1996 г.

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

См. также

Приложения

Функции

Представлен в R2014a