Main Content

projective2d

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

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

Descripción

Un objeto projective2d encapsula una transformación geométrica proyectiva 2D.

Creación

Puede crear un objeto projective2d empleando los métodos siguientes:

  • fitgeotrans: calcula una transformación geométrica que asigna pares de puntos de control entre dos imágenes

  • La función projective2d aquí descrita

Descripción

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

tform = projective2d(A) establece la propiedad T como la matriz de transformación proyectiva 2D especificada t.

ejemplo

Propiedades

expandir todo

Transformación proyectiva 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 c; ...
 d e f; ...
 g h i];

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
outputLimitsFind output spatial limits given input spatial limits
transformPointsForwardAplicar transformación geométrica directa
transformPointsInverseApply inverse geometric transformation

Ejemplos

contraer todo

Combine rotación e inclinación en una matriz de transformación, tm. Utilice esta matriz de transformación para crear un objeto de transformación geométrica projective2d, tform.

theta = 10;
tm = [cosd(theta) -sind(theta) 0.001; ...
      sind(theta) cosd(theta) 0.01; ...
      0 0 1];
tform = projective2d(tm)
tform = 
  projective2d with properties:

                 T: [3x3 double]
    Dimensionality: 2

Examine el valor de la propiedad T.

tform.T
ans = 3×3

    0.9848   -0.1736    0.0010
    0.1736    0.9848    0.0100
         0         0    1.0000

Capacidades ampliadas

Historial de versiones

Introducido en R2013a

expandir todo

R2022b: No recomendado

A partir de la versión R2022b, la mayoría de funciones de Image Processing Toolbox™ crean y realizan transformaciones geométricas utilizando la convención de la premultiplicación. Por lo tanto, no se recomienda el objeto projective2d porque utiliza la convención de la posmultiplicación. Aunque no está previsto eliminar el objeto projective2d por el momento, puede simplificar sus flujos de transformación geométrica cambiando al objeto projtform2d, que es compatible con la convención de la premultiplicación. Para obtener más información, consulte Migrate Geometric Transformations to Premultiply Convention.

Para actualizar su código:

  • Cambie las instancias del nombre de la función projective2d a projtform2d.

  • Especifique la matriz de transformación como la traspuesta de la matriz T, donde T es o bien el valor de la propiedad T del objeto projective2d o bien la matriz de transformación usada para crear el objeto projective2d.

Uso no recomendadoReemplazo recomendado

Este ejemplo crea un objeto projective2d a partir de la matriz de transformación T en la convención de la posmultiplicación.

T = [2 0.33 0; 0 1 0; 5 10 1];
tformPost = projective2d(T);

Este ejemplo crea un objeto projtform2d a partir de la traspuesta de la matriz de transformación T.

T = [2 0.33 0; 0 1 0; 5 10 1];
A = T';
tform = projtform2d(A);

Este ejemplo empieza con un objeto projective2d llamado tformPost y crea un objeto projtform2d a partir de la traspuesta de la propiedad T de tformPost.

T = tformPost.T;
tform = projtform2d(T');