affine2d

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

Описание

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

Создание

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

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

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

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

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

Синтаксис

tform = affine2d
tform = affine2d(A)

Описание

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

пример

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

Свойства

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

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

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

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

где T имеет форму:

 [a b 0;
  c d 0;
  e f 1];

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

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

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

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

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

Примеры

свернуть все

Создайте объект affine2d, который задает 30 вращений степени в направлении против часовой стрелки вокруг источника.

theta = 30;
tform = affine2d([cosd(theta) sind(theta) 0;...
    -sind(theta) cosd(theta) 0; 0 0 1])
tform = 
  affine2d with properties:

    Dimensionality: 2
                 T: [3x3 double]

Примените прямое геометрическое преобразование к точке (10,0).

[x,y] = transformPointsForward(tform,10,0)
x = 8.6603
y = 5

Подтвердите преобразование путем графического вывода исходной точки (в синем) и преобразованной точки (в красном).

figure
plot(10,0,'bo',x,y,'ro')
axis([0 12 0 12]); axis square;

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

A = imread('pout.tif');

Создайте объект affine2d, который задает аффинное геометрическое преобразование. Этот пример комбинирует вертикальный сдвиг и горизонтальный фрагмент.

tform = affine2d([2 0.33 0; 0 1 0; 0 0 1])
tform = 
  affine2d with properties:

    Dimensionality: 2
                 T: [3x3 double]

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

B = imwarp(A,tform);

Отобразите получившееся изображение.

figure
imshow(B);
axis on equal;

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

Введенный в R2013a