Contenido principal

affine2d

(No recomendado) Transformación geométrica afín 2D mediante la convención de la posmultiplicación

No se recomienda el uso de affine2d. Utilice el objeto affinetform2d en su lugar. Para obtener más información, consulte Historial de versiones.

Descripción

Un objeto affine2d almacena información sobre una transformación geométrica afín 2D mediante la convención de la posmultiplicación y permite las transformaciones directas e inversas.

Creación

Descripción

tform = affine2d crea un objeto affine2d con valores predeterminados de propiedad que se corresponden con la transformación identidad.

tform = affine2d(t) establece la propiedad T como la matriz de transformación afín 2D especificada t.

ejemplo

Propiedades

expandir todo

Transformación afín 2D directa, especificada como matriz numérica de 3 por 3 no única. La matriz T utiliza la convención:

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

en la que T tiene la forma:

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

El valor predeterminado de T es la transformación identidad.

Tipos de datos: double | single

Esta propiedad o parámetro es de solo lectura.

Dimensionalidad de la transformación geométrica tanto para puntos de entrada como de salida, especificada como el valor 2.

Funciones del objeto

invertInvertir la transformación geométrica
isRigidDetermine if geometric transformation is rigid transformation
isSimilarityDetermine if geometric transformation is similarity transformation
isTranslationDetermine if geometric transformation is pure translation
outputLimitsEncontrar los límites espaciales de salida dados los límites espaciales de entrada
transformPointsForwardAplicar transformación geométrica directa
transformPointsInverseAplicar la transformación geométrica inversa

Ejemplos

contraer todo

Cree un objeto affine2d que defina una rotación de 30 grados en sentido contrario a las agujas del reloj alrededor del origen.

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

                 T: [3×3 double]
    Dimensionality: 2

Aplique la transformación geométrica directa a un punto (10,0).

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

Valide la transformación representando el punto original (color azul) y el punto transformado (color rojo).

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

Figure contains an axes object. The axes object contains 2 objects of type line. One or more of the lines displays its values using only markers

Lea una imagen en el área de trabajo.

A = imread('pout.tif');

Cree un objeto affine2d que defina una transformación geométrica afín. En este ejemplo se combina el corte vertical con el estiramiento horizontal.

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

                 T: [3×3 double]
    Dimensionality: 2

Aplique la transformación geométrica a la imagen utilizando imwarp.

B = imwarp(A,tform);

Muestre la imagen resultante.

figure
imshow(B);
axis on equal;

Figure contains an axes object. The axes object contains an object of type image.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido en R2013a

expandir todo