affine3d

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

Описание

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

Создание

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

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

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

  • 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