Contenido principal

simtform2d

Transformación geométrica de similitud 2D

Desde R2022b

    Descripción

    Un objeto simtform2d almacena información sobre una transformación geométrica de similitud 2D y permite transformaciones directas e inversas.

    Creación

    Puede crear un objeto simtform2d de los modos siguientes:

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

    • La función simtform2d aquí descrita.

    Descripción

    tform = simtform2d crea un objeto simtform2d que realiza la transformación de identidad.

    tform = simtform2d(s,rotAngle,t) crea un objeto simtform2d que realiza una transformación de similitud basada en el factor escala s, el ángulo de rotación rotAngle y la cantidad de traslación t especificados.

    tform = simtform2d(s,rotMat,t) crea un objeto simtform2d que realiza una transformación de similitud basada en el factor escala s, la matriz de rotación rotMat y la cantidad de traslación t especificados.

    ejemplo

    tform = simtform2d(simMat) crea un objeto simtform2d a partir de la matriz de transformación 2D de similitud especificada, simMat.

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

    Argumentos de entrada

    expandir todo

    Factor de escala, especificado como un número positivo. El factor de escala corresponde al valor s de la matriz de transformación de similitud definida por la propiedad A.

    Este argumento establece la propiedad Scale.

    Tipos de datos: double | single

    Ángulo de rotación sobre el origen, en grados, especificado como un escalar numérico en el intervalo [-180, 180). Si especifica un ángulo de rotación fuera de este rango, el objeto simtform2d lleva automáticamente el valor al intervalo [-180, 180) sumando múltiplos positivos o negativos de 360.

    El ángulo de rotación corresponde al valor r de la matriz de transformación definida por la propiedad A y de la matriz de rotación definida por la propiedad R.

    Este argumento establece la propiedad RotationAngle.

    Tipos de datos: double | single

    Matriz de rotación, especificada como matriz numérica de 2 por 2. La matriz debe tener la siguiente forma:

     R = [cosd(r) -sind(r); sind(r)  cosd(r)]
    donde r es el valor del ángulo de rotación sobre el origen.

    Este argumento establece la propiedad R.

    Cantidad de traslación, especificada como vector numérico de 2 elementos de la forma [tx ty]. Estas cantidades de traslación corresponden a los valores tx y ty de la matriz de transformación de similitud definida por A.

    Este argumento establece la propiedad Translation.

    Tipos de datos: double | single

    Transformación de similitud 2D directa, especificada como matriz numérica de 3 por 3. También puede especificar simMat 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 2D de similitud válida, A tiene la forma:

    Α=[s×cosd(r)s×sind(r)txs×sind(r)s×cosd(r)ty001]

    s es el factor de escala y establece la propiedad Scale. r es el ángulo de rotación y establece la propiedad RotationAngle. tx y ty son la cantidad de traslación en las direcciones x e y, respectivamente, y establecen la propiedad Translation.

    Este argumento establece la propiedad A.

    Tipos de datos: double | single

    Transformación geométrica 2D de similitud, especificada como objeto affinetform2d, objeto rigidtform2d, objeto simtform2d, objeto transltform2d u objeto projtform2d.

    Argumentos de salida

    expandir todo

    Transformación geométrica 2D de similitud, devuelta como un objeto simtform2d.

    Propiedades

    expandir todo

    Transformación de similitud 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 de similitud, A tiene la forma:

    Α=[s×cosd(r)s×sind(r)txs×sind(r)s×cosd(r)ty001]

    donde s es el factor de escala y corresponde a la propiedad Scale. r es el ángulo de rotación y corresponde a la propiedad RotationAngle. tx y ty son la cantidad de traslación en las direcciones x e y, respectivamente, y corresponden a la propiedad Translation.

    Tipos de datos: double | single

    Factor de escala, especificado como un número positivo. El factor de escala corresponde al valor s de la matriz de transformación de similitud definida por la propiedad A.

    Tipos de datos: double | single

    Matriz de rotación, especificada como matriz numérica de 2 por 2. La matriz debe tener la siguiente forma:

     R = [cosd(r) -sind(r); sind(r)  cosd(r)]
    donde r es el valor de la propiedad RotationAngle.

    Ángulo de rotación sobre el origen, en grados, especificado como un escalar numérico en el intervalo [-180, 180). Si especifica un ángulo de rotación fuera de este rango, el objeto simtform2d lleva automáticamente el valor al intervalo [-180, 180) sumando múltiplos positivos o negativos de 360.

    El ángulo de rotación corresponde al valor r de la matriz de transformación definida por A y de la matriz de rotación definida por R.

    Tipos de datos: double | single

    Cantidad de traslación, especificada como vector numérico de 2 elementos de la forma [tx ty]. Estas cantidades de traslación corresponden a los valores tx y ty de la matriz de transformación de similitud definida por A.

    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.

    Tipos de datos: double

    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

    Especifique el factor de escala, el ángulo de rotación y la cantidad de traslación.

    scaleFactor = 3;
    theta = 30;
    translation = [10 20.5];

    Cree un objeto simtform2d que realice el escalado, la rotación y la traslación especificados.

    tform = simtform2d(scaleFactor,theta,translation)
    tform = 
      simtform2d with properties:
    
        Dimensionality: 2
                 Scale: 3
         RotationAngle: 30
           Translation: [10 20.5000]
                     R: [2×2 double]
    
                     A: [2.5981   -1.5000   10.0000
                         1.5000    2.5981   20.5000
                              0         0    1.0000]
    
    

    Examine el valor de la propiedad A.

    tform.A
    ans = 3×3
    
        2.5981   -1.5000   10.0000
        1.5000    2.5981   20.5000
             0         0    1.0000
    
    

    Capacidades ampliadas

    expandir todo

    Historial de versiones

    Introducido en R2022b

    expandir todo