Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

PolynomialTransformation2D

Transformación geométrica polinómila 2-D

Descripción

Un objeto encapsula una transformación geométrica polinómila 2D.PolynomialTransformation2D

Creación

Puede crear un objeto utilizando los métodos siguientes:PolynomialTransformation2D

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

  • La función descrita aquí.images.geotrans.PolynomialTransformation2D Esta función crea un objeto utilizando coordenadas de puntos fijos y puntos móviles, o los coeficientes polinómicos conocidos para la transformación hacia delante e inversa.PolynomialTransformation2D

Descripción

ejemplo

tform = images.geotrans.PolynomialTransformation2D(movingPoints,fixedPoints,degree) crea un objeto y establece la propiedad.PolynomialTransformation2DDegree La función estima los coeficientes polinómicos y de las matrices y que definen los puntos de control coincidentes en las imágenes en movimiento y fijas, respectivamente.UnBmovingPointsfixedPoints

tform = images.geotrans.PolynomialTransformation2D(a,b) crea un objeto y establece las propiedades y.PolynomialTransformation2DUnB

Argumentos de entrada

expandir todo

- y -coordenadas de puntos de control en la imagen en movimiento, especificadas como una matriz -by-2.xym

Tipos de datos: double | single

- y -coordenadas de puntos de control en la imagen fija, especificadas como una matriz -by-2.xym

Tipos de datos: double | single

Propiedades

expandir todo

Coeficientes polinómicos utilizados para determinar en la transformación inversa, especificados como un vector -element.Un Para polinomios de grado 2, 3 y 4, es 6, 10 y 15, respectivamente.n

El vector de coeficiente polinómico cuadrático (grado 2) se ordena de la siguiente manera:Un

U = A(1) + A(2).*X + A(3).*Y + A(4).*X.*Y + A(5).*X.^2 + A(6).*Y.^2

El vector de coeficiente polinómio cúbico (grado 3) añade estos términos:

... + A(7).*X.^2.*Y + A(8).*X.*Y.^2 + A(9).*X.^3 + A(10).*Y.^3

El vector de coeficiente polinómico cuartico (grado 4) añade estos términos:

... + A(11).*X.^3.*Y + A(12).*X.^2.*Y.^2 + A(12).*X.*Y.^3 + A(14).*X.^3 + A(15).*Y.^4

Tipos de datos: double | single

Coeficientes polinómicos utilizados para determinar en la transformación inversa, especificados como un vector -element.Vn Para polinomios de grado 2, 3 y 4, es 6, 10 y 15, respectivamente.n

El vector de coeficiente polinómico cuadrático (grado 2) se ordena de la siguiente manera:B

V = B(1) + B(2).*X + B(3).*Y + B(4).*X.*Y + B(5).*X.^2 + B(6).*Y.^2

El vector de coeficiente polinómio cúbico (grado 3) añade estos términos:

... + B(7).*X.^2.*Y + B(8).*X.*Y.^2 + B(9).*X.^3 + B(10).*Y.^3

El vector de coeficiente polinómico cuartico (grado 4) añade estos términos:

... + B(11).*X.^3.*Y + B(12).*X.^2.*Y.^2 + B(12).*X.*Y.^3 + B(14).*X.^3 + B(15).*Y.^4

Tipos de datos: double | single

Grado de la transformación polinómica, especificado como los valores escalares , , o .234

Dimensionalidad de la transformación geométrica para los puntos de entrada y salida, especificados como el valor .2

Funciones del objeto

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

Ejemplos

contraer todo

Ajuste una transformación polinómica de segundo grado a un conjunto de puntos de control fijos y móviles que en realidad están relacionados con una transformación afín 2D.

Cree una transformación afín 2D.

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

Elija arbitrariamente seis pares de puntos de control. Un polinomio de segundo grado requiere seis pares de puntos de control.

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

Aplique la transformación geométrica hacia delante al mapa de puntos fijos para obtener el efecto de los puntos fijos y móviles relacionados con alguna transformación geométrica.

movingPoints = transformPointsForward(tformAffine,fixedPoints); 

Estimar la transformación de segundo grado que se ajusta y .PolynomialTransformation2DfixedPointsmovingPoints

tformPolynomial = images.geotrans.PolynomialTransformation2D(movingPoints,fixedPoints,2);

Compruebe el ajuste de la transformación en los puntos de control.PolynomialTransformation2D

movingPointsEstimated = transformPointsInverse(tformPolynomial,fixedPoints); errorInFit = hypot(movingPointsEstimated(:,1)-movingPoints(:,1),...                    movingPointsEstimated(:,2)-movingPoints(:,2))

Más acerca de

expandir todo

Introducido en R2013b