transformPointsInverse

Применить обратное геометрическое преобразование

Описание

пример

[u,v] = transformPointsInverse(tform,x,y) применяет обратное преобразование 2-D геометрического преобразования tform к точкам, заданным координатами x и y.

[u,v,w] = transformPointsInverse(tform,x,y,z) применяет обратное преобразование 3-D геометрического преобразования tform к точкам, заданным координатами x, y, и z.

U = transformPointsInverse(tform,X) применяет обратное преобразование tform во входную матрицу координат X и возвращает матрицу координат U. transformPointsInverse отображает k-ю точку X(k,:) к точке U(k:).

Примеры

свернуть все

Создайте affine2d объект, который определяет преобразование.

theta = 10;

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

  affine2d with properties:

                 T: [3x3 double]
    Dimensionality: 2

Применить прямое преобразование 2-D геометрического преобразования к входу точке.

[X,Y] = transformPointsForward(tform,5,10)
X =

    6.6605


Y =

    8.9798

Примените обратное преобразование 2-D геометрического преобразования к выходной точке с предыдущего шага, чтобы восстановить исходные координаты.

[U,V] = transformPointsInverse(tform,X,Y)
U =

    5.0000


V =

    10

Задайте упакованные (x, y) координаты пяти входных точек. Упакованные координаты хранятся в матрице 5 на 2, где координата X каждой точки находится в первом столбце, а координата Y каждой точки - во втором столбце.

XY = [10 15;11 32;15 34;2 7;2 10];

Задайте функцию обратного отображения. Функция принимает и возвращает точки в упакованном (x, y) формате.

inversefn = @(c) [c(:,1)+c(:,2),c(:,1)-c(:,2)]
inversefn = function_handle with value:
    @(c)[c(:,1)+c(:,2),c(:,1)-c(:,2)]

Создайте 2-D объект геометрического преобразования, tform, который хранит функцию обратного отображения.

tform = geometricTransform2d(inversefn)
tform = 
  geometricTransform2d with properties:

        InverseFcn: @(c)[c(:,1)+c(:,2),c(:,1)-c(:,2)]
        ForwardFcn: []
    Dimensionality: 2

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

UV = transformPointsInverse(tform,XY)
UV = 5×2

    25    -5
    43   -21
    49   -19
     9    -5
    12    -8

Создайте affine3d объект, который определяет преобразование.

tform = affine3d([3 1 2 0;4 5 8 0;6 2 1 0;0 0 0 1])
tform = 

  affine3d with properties:

                 T: [4×4 double]
    Dimensionality: 3

Применить прямое преобразование 3-D геометрического преобразования к входу точке.

[X,Y,Z] = transformPointsForward(tform,2,3,5)
X =

    48


Y =

    27


Z =

    33

Примените обратное преобразование 3-D геометрического преобразования к выходной точке с предыдущего шага, чтобы восстановить исходные координаты.

[U,V,W] = transformPointsInverse(tform,X,Y,Z)
U =

    2.0000


V =

     3


W =

    5.0000

Задайте упакованные (x, y, z) координаты пяти входных точек. Упакованные координаты хранятся как матрица 5 на 3, где первый, второй и третий столбцы содержат координаты x -, y - и z - соответственно.

XYZ = [5 25 20;10 5 25;15 10 5;20 15 10;25 20 15];

Задайте функцию обратного отображения, которая принимает и возвращает точки в упакованном (x, y, z) формате.

inverseFcn = @(c) [c(:,1)+c(:,2),c(:,1)-c(:,2),c(:,3).^2];

Создайте 3-D геометрический объект преобразования, tform, который хранит эту функцию обратного отображения.

tform = geometricTransform3d(inverseFcn)
tform = 
  geometricTransform3d with properties:

        InverseFcn: @(c)[c(:,1)+c(:,2),c(:,1)-c(:,2),c(:,3).^2]
        ForwardFcn: []
    Dimensionality: 3

Примените обратное преобразование этого 3-D геометрического преобразования к входу точкам.

UVW = transformPointsInverse(tform,XYZ)
UVW = 5×3

    30   -20   400
    15     5   625
    25     5    25
    35     5   100
    45     5   225

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

свернуть все

Геометрическое преобразование, заданное как объект геометрического преобразования.

Для 2-D геометрических преобразований tform может быть rigid2d, affine2d, projective2d, geometricTransform2d, LocalWeightedMeanTransformation2D, PiecewiseLinearTransformation2D, или PolynomialTransformation2D геометрический объект преобразования.

Для 3-D геометрических преобразований tform может быть affine3d, rigid3d, или geometricTransform3d геометрический объект преобразования.

x -координаты точек, которые будут преобразованы, заданные как m -by- n или m -by- n -by- p числовой массив. Количество размерностей x соответствует размерности tform.

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

y -координаты точек, которые будут преобразованы, заданные как m -by- n или m -by- n -by- p числовой массив. Размер y должен совпадать с размером x.

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

z -координаты точек, которые будут преобразованы, заданные как m -by- n -by- p числовой массив. z используется только тогда, когда tform является 3-D геометрическим преобразованием. Размер z должен совпадать с размером x.

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

Координаты точек, которые будут преобразованы, заданные как l -by - 2 или l -by - 3 числовой массив. Количество столбцов X соответствует размерности tform.

В первом столбце перечислены x -cordinate каждой точки для преобразования, а во втором - y -cordinate. Если tform представляет собой 3-D геометрическое преобразование, X имеет size l -by - 3, а в третьем столбце перечислены z -cordinate точек для преобразования.

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

Выходные аргументы

свернуть все

x -координаты точек после преобразования, возвращенные как m -by- n или m -by- n -by- p числовой массив. Количество размерностей u соответствует размерности tform.

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

y -координаты точек после преобразования, возвращенные как m -by- n или m -by- n -by- p числовой массив. Размер v соответствует размеру u.

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

z -координаты точек после преобразования, возвращенные как m -by- n -by- p числовой массив. Размер w соответствует размеру u.

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

Координаты точек после преобразования, возвращенные как числовой массив. Размер U соответствует размеру X.

В первом столбце перечислены x -cordinate каждой точки после преобразования, а во втором - y -cordinate. Если tform представляет собой 3-D геометрическое преобразование, в третьем столбце перечислены z-координаты точек после преобразования.

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

См. также

|

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