Contenido principal

fitgeotform2d

Ajustar una transformación geométrica 2D a pares de puntos de control

Desde R2022b

Descripción

tform = fitgeotform2d(movingPoints,fixedPoints,tformType) ajusta una transformación geométrica lineal de tipo tformType a los pares de puntos de control movingPoints y fixedPoints.

ejemplo

tform = fitgeotform2d(movingPoints,fixedPoints,"polynomial",degree) ajusta una transformación polinómica de grado degree a los pares de puntos de control movingPoints y fixedPoints. Especifique el grado de transformación polinómica degree, que puede ser 2, 3 o 4.

tform = fitgeotform2d(movingPoints,fixedPoints,"pwl") ajusta una transformación lineal a trozos a los pares de puntos de control movingPoints y fixedPoints. Esta transformación crea una triangulación de Delaunay de los puntos de control fijos y aplica los puntos de control móviles a los puntos de control fijos correspondientes. Una transformación afín diferente aplica los puntos de control en cada región local. La asignación es continua por todos los puntos de control, pero no es diferenciable de manera continua.

tform = fitgeotform2d(movingPoints,fixedPoints,"lwm",n) ajusta una transformación de la media ponderada local a los pares de puntos de control movingPoints y fixedPoints. La transformación de la media ponderada local crea una aplicación infiriendo un polinomio en cada punto de control usando los puntos de control contiguos. La aplicación en cualquier ubicación depende de la media ponderada de estos polinomios. La función usa los n puntos más cercanos para inferir una transformación polinómica de segundo grado para cada par de puntos de control.

Ejemplos

contraer todo

Cree una imagen de damero y gírela para crear una imagen desalineada.

I = checkerboard(40);
J = imrotate(I,30);
imshowpair(I,J,"montage")

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

Defina algunos puntos de control correspondientes en la imagen fija (damero) y en la imagen variable (el damero rotado). Puede definir puntos de forma interactiva mediante la herramienta de selección de puntos de control.

fixedPoints = [41 41; 281 161];
movingPoints = [56 175; 324 160];

Cree una transformación geométrica de similitud que se pueda utilizar para alinear dos imágenes.

tform = fitgeotform2d(movingPoints,fixedPoints,"similarity");

Utilice la estimación tform para remuestrear la imagen rotada y registrarla con la imagen fija. Las regiones de color (verde y magenta) de la imagen de superposición de color falso indican un error en el registro. Este error se debe a una falta de precisión en la correspondencia de los puntos de control.

Jregistered = imwarp(J,tform,OutputView=imref2d(size(I)));
imshowpair(I,Jregistered)

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

Argumentos de entrada

contraer 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.

El tipo de transformación afecta al número mínimo de pares de puntos de control. Por ejemplo, una transformación de similitud sin reflexión requiere como mínimo dos pares de puntos de control. Una transformación polinómica de cuarto orden requiere como mínimo 15 pares de puntos de control. Para obtener más información, consulte Tipos de transformación.

Ejemplo: movingPoints = [11 11; 41 71];

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.

Ejemplo: fixedPoints = [14 44; 70 81];

Tipos de datos: double | single

Tipo de transformación lineal, especificado como "similarity", "reflectivesimilarity", "affine" o "projective".

Tipos de datos: char | string

Grado del polinomio, especificado como el entero 2, 3 o 4.

Número de puntos que se desea usar en el cálculo de la media ponderada local, especificado como un entero positivo. n puede ser tan bajo como 6, pero un n bajo puede generar polinomios mal condicionados.

Argumentos de salida

contraer todo

Transformación geométrica, devuelta como objeto de transformación geométrica, tal y como se indica en la tabla.

Tipo de transformación

Objeto de transformación geométrica
"similarity"simtform2d
"reflectivesimilarity"affinetform2d
"affine"affinetform2d
"projective"projtform2d
"polynomial"PolynomialTransformation2D
"pwl"PiecewiseLinearTransformation2D
"lwm"LocalWeightedMeanTransformation2D

Más acerca de

contraer todo

Referencias

[1] Goshtasby, Ardeshir. “Piecewise Linear Mapping Functions for Image Registration.” Pattern Recognition 19, no. 6 (January 1986): 459–66. https://doi.org/10.1016/0031-3203(86)90044-0.

[2] Goshtasby, Ardeshir. “Image Registration by Local Approximation Methods.” Image and Vision Computing 6, no. 4 (November 1988): 255–61. https://doi.org/10.1016/0262-8856(88)90016-9.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido en R2022b

expandir todo