Contenido principal

affinetform2d

Transformación geométrica afín 2D

Desde R2022b. Recomendado en lugar de affine2d.

    Descripción

    Un objeto affinetform2d almacena información sobre una transformación geométrica afín 2D y permite las transformaciones directas e inversas.

    Creación

    Puede crear un objeto affinetform2d de los modos siguientes:

    • imregtform: estima una transformación geométrica que asigna una imagen variable a una imagen fija usando la optimización de similitud.

    • imregcorr: estima una transformación geométrica que asigna una imagen variable a una imagen fija usando la correlación de fase.

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

    • randomAffine2d: crea una transformación afín 2D aleatoria.

    • La función affinetform2d aquí descrita.

    Descripción

    tform = affinetform2d crea un objeto affinetform2d que realiza una transformación de identidad.

    tform = affinetform2d(affineMat) crea un objeto affinetform2d a partir de la matriz de transformación afín 2D especificada, affineMat.

    ejemplo

    tform = affinetform2d(tformIn) crea un objeto affinetform2d a partir de otro objeto de transformación geométrica, tformIn, que representa una transformación geométrica afín 2D válida.

    Argumentos de entrada

    expandir todo

    Transformación afín 2D directa, especificada como matriz numérica de 3 por 3. También puede especificar affineMat como una matriz numérica de 2 por 3. En este caso, el objeto concatena el vector fila [0 0 1] al final de la matriz, formando una matriz de 3 por 3.

    En una transformación afín 2D válida, A tiene la forma siguiente:

    Α=[abcdef001]

    Este argumento establece la propiedad A.

    Tipos de datos: double | single

    Transformación geométrica afín 2D, especificada como objeto affinetform2d, rigidtform2d, simtform2d, transltform2d o projtform2d.

    Argumentos de salida

    expandir todo

    Transformación geométrica afín 2D, devuelta como un objeto affinetform2d.

    Propiedades

    expandir todo

    Transformación afín 2D directa, especificada como matriz numérica de 3 por 3. El valor predeterminado de A es la matriz identidad.

    La matriz A transforma el punto (u, v) del espacio de coordenadas de entrada en el punto (x, y) del espacio de coordenadas de salida utilizando la convención:

    [xy1]=Α×[uv1]

    En una transformación afín, A tiene la forma siguiente:

    Α=[abcdef001]

    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, devuelta como el valor 2.

    Funciones del objeto

    invertInvertir la transformación geométrica
    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

    Defina una matriz de transformación geométrica de 3 por 3. Este ejemplo especifica una matriz correspondiente a una transformación afín que consiste en el corte vertical y el estiramiento horizontal.

    A = [2 0 0; 0.33 1 0; 0 0 1];

    Cree un objeto affinetform2d a partir de la matriz de transformación.

    tform = affinetform2d(A)
    tform = 
      affinetform2d with properties:
    
        Dimensionality: 2
    
                     A: [2.0000         0         0
                         0.3300    1.0000         0
                              0         0    1.0000]
    
    

    Lea y muestre una imagen.

    I = imread("pout.tif");
    imshow(I)

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

    Aplique la transformación geométrica a la imagen y muestre el resultado.

    J = imwarp(I,tform);
    imshow(J)

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

    Capacidades ampliadas

    expandir todo

    Historial de versiones

    Introducido en R2022b

    expandir todo