Contenido principal

images.geotrans.PolynomialTransformation2D

Transformación geométrica polinómica 2D

Descripción

Un objeto PolynomialTransformation2D almacena información sobre una transformación geométrica polinomial 2D y permite las transformaciones inversas.

Creación

Puede crear un objeto PolynomialTransformation2D de los modos siguientes.

  • La función fitgeotform2d, que estima una transformación geométrica que asigna pares de puntos de control entre dos imágenes.

  • La función images.geotrans.PolynomialTransformation2D aquí descrita. Esta función crea un objeto PolynomialTransformation2D utilizando coordenadas de puntos fijos y puntos móviles, o los coeficientes de los polinomios conocidos para las transformaciones directa e inversa.

Descripción

tform = images.geotrans.PolynomialTransformation2D(movingPoints,fixedPoints,degree) crea un objeto PolynomialTransformation2D y establece la propiedad Degree. La función estima los coeficientes de los polinomios que asignan puntos de control de la imagen variable, movingPoints, a puntos de control de la imagen fija, fixedPoints. Puede seleccionar puntos de control utilizando la función cpselect.

ejemplo

tform = images.geotrans.PolynomialTransformation2D(a,b) crea un objeto PolynomialTransformation2D y establece las propiedades A y B utilizando los coeficientes de los polinomios especificados.

Argumentos de entrada

expandir todo

Los puntos de control de la imagen variable, especificados como una matriz de m por 2. Cada fila especifica la coordenada (x, y) de un punto de control.

Tipos de datos: double | single

Los puntos de control de la imagen fija, especificados como una matriz de m por 2. Cada fila especifica la coordenada (x, y) de un punto de control.

Tipos de datos: double | single

Propiedades

expandir todo

Coeficientes de los polinomios utilizados para determinar U en la transformación inversa, especificados como un vector de n elementos. Para polinomios de grado 2, 3 y 4, n es 6, 10 y 15, respectivamente.

Tipos de datos: double | single

Coeficientes de los polinomios utilizados para determinar V en la transformación inversa, especificados como un vector de n elementos. Para polinomios de grado 2, 3 y 4, n es 6, 10 y 15, respectivamente.

Tipos de datos: double | single

Grado de la transformación polinómica, especificado como el número 2, 3 o 4.

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

Funciones del objeto

outputLimitsEncontrar los límites espaciales de salida dados los límites espaciales de entrada
transformPointsInverseAplicar la transformación geométrica inversa

Ejemplos

contraer todo

Una transformación polinómica de segundo grado requiere seis pares de puntos de control. Escoja seis pares de puntos de control y puntos móviles. Por simplicidad, este ejemplo selecciona puntos móviles que se desplazan 5 píxeles horizontalmente y 10 píxeles verticalmente desde los puntos fijos.

fixedPoints = [10 20; 10 5; 2 3; 0 5; -5 3; -10 -20];
movingPoints = [15 30; 15 15; 7 13; 5 15; 0 13; -5 -10];

Estime una transformación polinómica de segundo grado que se ajuste a fixedPoints y movingPoints.

tformPolynomial = images.geotrans.PolynomialTransformation2D(movingPoints,fixedPoints,2)
tformPolynomial = 
  PolynomialTransformation2D with properties:

    Dimensionality: 2
            Degree: 2
                 A: [1.1102e-16 1.0000 8.1148e-17 3.1692e-15 -6.0409e-16 -1.4638e-15]
                 B: [1.1842e-16 -8.6803e-16 1.0000 5.5598e-15 -5.2617e-16 -2.6535e-15]

Verifique que la transformación inversa asigne los puntos fijos a los puntos móviles.

movingPointsEstimated = transformPointsInverse(tformPolynomial,fixedPoints)
movingPointsEstimated = 6×2

   15.0000   30.0000
   15.0000   15.0000
    7.0000   13.0000
    5.0000   15.0000
    0.0000   13.0000
   -5.0000  -10.0000

Más acerca de

expandir todo

Historial de versiones

Introducido en R2013b