affine3d

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

Описание

Объект affine3d инкапсулирует 3-D аффинное геометрическое преобразование.

Создание

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

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

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

Синтаксис

tform = affine3d
tform = affine3d(A)

Описание

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:

    Dimensionality: 3
                 T: [4x4 double]

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

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

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

B = imwarp(D,tform);

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

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

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

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

Введенный в R2013a

Для просмотра документации необходимо авторизоваться на сайте