exponenta event banner

imregdemons

Поле оценки смещения, выравнивающее два 2-D или 3-D изображения

Описание

пример

[D,moving_reg] = imregdemons(moving,fixed) оценивает поле смещения D выравнивает регистрируемое изображение, moving, с опорным изображением, fixed. Векторы смещения в каждом местоположении пикселя отображают местоположения из fixed сетка изображения в соответствующее расположение в moving изображение. moving_reg является деформированной версией moving изображение, искривленное в соответствии с полем смещения D и повторно дискретизируют с использованием линейной интерполяции.

[D,moving_reg] = imregdemons(moving,fixed,N) указывает количество итераций, которые должны быть вычислены. Эта функция не использует критерий сходимости и поэтому всегда гарантирует выполнение для указанного или заданного по умолчанию числа итераций.

пример

[D,moving_reg] = imregdemons(___,Name,Value) регистрирует движущееся изображение с использованием пар имя-значение для управления аспектами вычисления веса.

Примеры

свернуть все

Этот пример показывает, как решить проблему регистрации, в которой одна и та же рука была сфотографирована в двух разных позах. Рассогласование изображений меняется локально в каждом изображении. Поэтому это проблема нежесткой регистрации.

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

fixed  = imread('hands1.jpg');
moving = imread('hands2.jpg');

Преобразование изображений в градации серого для обработки.

fixed  = im2gray(fixed);
moving = im2gray(moving);

Наблюдайте за начальным рассогласованием. Пальцы в разных позах.

imshowpair(fixed,moving,'montage')

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

Наложите два изображения, чтобы было легко увидеть, где они различаются. Различия выделены зеленым и пурпурным цветом.

imshowpair(fixed,moving)

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

Правильные различия в освещении между moving и fixed изображения с использованием сопоставления гистограмм. Это обычный этап предварительной обработки.

moving = imhistmatch(moving,fixed);

Оцените преобразование, необходимое для выравнивания двух изображений.

[~,movingReg] = imregdemons(moving,fixed,[500 400 200],...
    'AccumulatedFieldSmoothing',1.3);

Просмотрите результаты регистрации. На первом рисунке изображения накладываются для отображения выравнивания.

imshowpair(fixed,movingReg)

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

imshowpair(fixed,movingReg,'montage')

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

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

свернуть все

Регистрируемое изображение, указанное как 2-D или 3-D изображение в градациях серого.

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

Ссылочное изображение в целевой ориентации, указанное как 2-D или 3-D изображение в градациях серого.

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

Число итераций, указанное как положительный целый скаляр или вектор.

При указании вектора N - количество итераций на уровень пирамиды (уровень разрешения). Например, если имеется 3 уровня пирамиды, можно задать вектор [100,50,25], где imregdemons выполняет 100 итераций на самом низком уровне разрешения, 50 итераций на следующем уровне пирамиды и 25 итераций на последнем уровне итерации - уровне с полным разрешением. Поскольку обработка более низких уровней разрешения занимает меньше времени, выполнение большего количества итераций при низком разрешении и меньшего количества итераций при более высоких разрешениях пирамиды может способствовать повышению производительности.

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

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

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

Пример: [D,movingReg] = imregdemons(moving,fixed,[500 400 200],'AccumulatedFieldSmoothing',1.5);

Сглаживание, применяемое в каждой итерации, указанное как пара, разделенная запятыми, состоящая из 'AccumulatedFieldSmoothing' и числовое значение. Этот параметр управляет величиной диффузионно-подобной регуляризации.imregdemons применяет стандартное отклонение гауссова сглаживания для регуляризации накопленного поля при каждой итерации. Большие значения приводят к более плавным полям выходного смещения. Меньшие значения приводят к более локализованной деформации в поле выходного смещения. Значения обычно находятся в диапазоне [0,5, 3,0]. При указании нескольких PyramidLevelsстандартное отклонение, используемое при гауссовом сглаживании, остается одинаковым на каждом уровне пирамиды.

Типы данных: double

Количество используемых уровней пирамиды изображения с множественным разрешением, указанное как пара, разделенная запятыми, состоящая из 'PyramidLevels' и положительное целое число.

Типы данных: double

Отображение полосы ожидания для указания хода выполнения, указанной как пара, разделенная запятыми, состоящая из 'DisplayWaitbar' и значение true или false. Если установлено значение true, imregdemons отображает панель ожидания для указания хода выполнения длительных операций. Предотвратить imregdemons из отображения официозной панели, установка DisplayWaitbar кому false.

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

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

свернуть все

Поле смещения, указанное как числовой массив. Значения смещения выражены в единицах пикселов.

  • Если fixed представляет собой 2-D изображение в градациях серого размера m-by-n, затем массив поля смещения представляет собой m-by-n-by-2. D(:,:,1) содержит перемещения вдоль оси x и D(:,:,2) содержит перемещения вдоль оси Y.

  • Если fixed представляет собой 3-D изображение в градациях серого размера m-by-n-by-p, затем массив поля смещения представляет собой m-by-n-by-p-by-3. D(:,:,:,1) содержит перемещения вдоль оси x, D(:,:,:,2) содержит перемещения вдоль оси Y. и D(:,:,:,3) содержит перемещения вдоль оси Z.

Типы данных: double

Зарегистрированное изображение, возвращенное как 2-D или 3-D изображение в градациях серого. Изображение деформируется в соответствии с полем смещения D и повторно дискретизируют с использованием линейной интерполяции.

Совет

  • Преобразование изображения с помощью поля смещения D, использовать imwarp.

Ссылки

[1] Тирион, Ж.-П. «Сопоставление изображений как диффузионный процесс: аналогия с демонами Максвелла». Медицинский анализ изображений. Том 2, номер 3, 1998, стр. 243-260.

[2] Веркаутерен, Т., X. Пеннек, А. Першант, Н. Айаш, «Диффеоморфные демоны: эффективная непараметрическая регистрация изображения», NeuroImage. том 45, номер 1, дополнение 1, март 2009 года, стр. 61-72.

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

См. также

Приложения

Функции

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