PiecewiseLinearTransformation2D

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

Описание

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

Создание

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

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

  • images.geotrans.PiecewiseLinearTransformation2D функция описана здесь. Эта функция создает PiecewiseLinearTransformation2D объект с помощью координат фиксированных точек и перемещая точки.

Описание

пример

tform = images.geotrans.PiecewiseLinearTransformation2D(movingPoints,fixedPoints) создает PiecewiseLinearTransformation2D возразите данным координатам контрольной точки в movingPoints и fixedPoints, которые задают совпадающие контрольные точки в перемещении и зафиксированных изображениях, соответственно.

Входные параметры

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

x - и y - координаты контрольных точек в движущемся изображении, заданном как m-by-2 матрица. Количество контрольных точек m должно быть больше или быть равно n.

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

x - и y - координаты контрольных точек в фиксированном изображении, заданном как m-by-2 матрица. Количество контрольных точек m должно быть больше или быть равно n.

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

Свойства

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

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

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

outputLimitsНайдите выход, пространственные данные пределы вводят пространственные пределы
transformPointsInverseПримените обратное геометрическое преобразование

Примеры

свернуть все

Соответствуйте кусочному линейному преобразованию к набору фиксированных и движущихся контрольных точек, которые на самом деле связаны одной глобальной переменной affine2d преобразование через область.

Создайте 2D аффинное преобразование.

theta = 10;
tformAffine = affine2d([cosd(theta) -sind(theta) 0; sind(theta) cosd(theta) 0; 0 0 1])
tformAffine = 

  affine2d with properties:

                 T: [3x3 double]
    Dimensionality: 2

Произвольно выберите 6 пар контрольных точек.

fixedPoints = [10 20; 10 5; 2 3; 0 5; -5 3; -10 -20];

Примените прямое геометрическое преобразование, чтобы сопоставить фиксированные точки, чтобы получить эффект фиксированных и перемещающих точек, которые связаны некоторым геометрическим преобразованием.

movingPoints = transformPointsForward(tformAffine,fixedPoints)
movingPoints =

   13.3210   17.9597
   10.7163    3.1876
    2.4906    2.6071
    0.8682    4.9240
   -4.4031    3.8227
  -13.3210  -17.9597

Оцените кусочное линейное преобразование, которое сопоставляет movingPoints к fixedPoints.

tformPiecewiseLinear = images.geotrans.PiecewiseLinearTransformation2D(movingPoints,fixedPoints)
tformPiecewiseLinear = 

  PiecewiseLinearTransformation2D with properties:

    Dimensionality: 2

Проверьте припадок PiecewiseLinearTransformation2D объект в контрольных точках.

movingPointsComputed = transformPointsInverse(tformPiecewiseLinear,fixedPoints);
 
errorInFit = hypot(movingPointsComputed(:,1)-movingPoints(:,1),...
                   movingPointsComputed(:,2)-movingPoints(:,2))
errorInFit =

   1.0e-15 *

         0
         0
    0.4441
         0
         0
         0

Введенный в R2013b