exponenta event banner

affine3d

3-D аффинное геометрическое преобразование

Описание

Один affine3d объект хранит информацию о 3-D аффинном геометрическом преобразовании и обеспечивает возможность прямого и обратного преобразований.

Создание

Можно создать affine3d объект с использованием следующих методов:

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

  • randomAffine3d - Создает рандомизированное 3D аффинное преобразование

  • affine3d функция, описанная здесь

Описание

tform = affine3d создает affine3d с параметрами свойств по умолчанию, соответствующими преобразованию идентификаторов.

пример

tform = affine3d(A) устанавливает свойство T с допустимым аффинным преобразованием, определяемым неингулярной матрицей A.

Свойства

развернуть все

Прямое 3-D аффинное преобразование, указанное как неингулярная числовая матрица 4 на 4.

Матрица T использует соглашение:

[x y z 1] = [u v w 1] * T

где T имеет вид:

 [a b c 0;
  d e f 0;
  g h i 0;
  j k l 1];

Значение по умолчанию T - преобразование идентичности.

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

Описывает размерность геометрического преобразования для входных и выходных точек, заданную как значение 3.

Функции объекта

invertИнвертировать геометрическое преобразование
isRigidОпределить, является ли преобразование жестким
isSimilarityОпределить, является ли преобразование преобразованием подобия
isTranslationОпределить, является ли преобразование чистым переводом
outputLimitsНайти выходные пространственные пределы, заданные входными пространственными пределами
transformPointsForwardПрименение прямого геометрического преобразования
transformPointsInverseПрименение обратного геометрического преобразования

Примеры

свернуть все

Создание affine3d объект, масштабирующий 3-D изображение на разные коэффициенты в каждом измерении.

Sx = 1.2;
Sy = 1.6;
Sz = 2.4;
tform = affine3d([Sx 0 0 0; 0 Sy 0 0; 0 0 Sz 0; 0 0 0 1])
tform = 
  affine3d with properties:

                 T: [4x4 double]
    Dimensionality: 3

Загрузите 3-D том в рабочую область.

load('mri');
D = squeeze(D);

Применение геометрического преобразования к изображению с помощью imwarp.

B = imwarp(D,tform);

Визуализируйте осевой срез через центр каждого объема, чтобы увидеть эффект перемещения масштаба. Обратите внимание, что центральный фрагмент преобразованного объема имеет индекс, отличный от индекса центрального фрагмента исходного объема, из-за масштабирования размера Z.

figure
imshowpair(D(:,:,14),B(:,:,33),'montage');

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

Исходное изображение находится слева, а преобразованное изображение - справа. Преобразованное изображение масштабируется больше в вертикальном направлении, чем в горизонтальном направлении, как ожидалось с Sy больше, чем Sx.

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

.
Представлен в R2013a