affine2d

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

Описание

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

Создание

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

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

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

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

  • randomAffine2d — Создает рандомизированное 2D аффинное преобразование

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

Описание

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