Main Content

affine3d

Transformación geométrica afín 3D

Descripción

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

Creación

Puede crear un objeto affine3d empleando los métodos siguientes:

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

  • randomAffine3d: crea una transformación afín 3D aleatoria.

  • La función affine3d aquí descrita

Descripción

tform = affine3d crea un objeto affine3d con valores predeterminados de propiedad que se corresponden con la transformación identidad.

ejemplo

tform = affine3d(A) establece la propiedad T con una transformación afín válida definida por la matriz no única A.

Propiedades

expandir todo

Transformación afín 3D directa, especificada como matriz numérica de 4 por 4 no única.

La matriz T utiliza la convención:

[x y z 1] = [u v w 1] * T

en la que T tiene la forma:

 [a b c 0;
  d e f 0;
  g h i 0;
  j k l 1];

El valor predeterminado de T es la transformación identidad.

Tipos de datos: double | single

Describe la dimensionalidad de la transformación geométrica tanto para puntos de entrada como de salida, especificada como el valor 3.

Funciones del objeto

invertInvertir la transformación geométrica
isRigidDetermine if transformation is rigid transformation
isSimilarityDetermine if transformation is similarity transformation
isTranslationDetermine if transformation is pure translation
outputLimitsFind output spatial limits given input spatial limits
transformPointsForwardApply forward geometric transformation
transformPointsInverseApply inverse geometric transformation

Ejemplos

contraer todo

Cree un objeto affine3d que permita escalar una imagen 3D mediante un factor diferente en cada dimensión.

Sx = 1.2;
Sy = 1.6;
Sz = 2.4;
tform = affine3d([Sx 0 0 0; 0 Sy 0 0; 0 0 Sz 0; 0 0 0 1])
tform = 
  affine3d with properties:

                 T: [4x4 double]
    Dimensionality: 3

Cargue un volumen 3D en el espacio de trabajo.

load('mri');
D = squeeze(D);

Aplique la transformación geométrica a la imagen utilizando imwarp.

B = imwarp(D,tform);

Visualice un corte axial a través del centro de cada volumen para ver el efecto de la traslación de escalas. Tenga en cuenta que el corte central del volumen transformado tiene un índice distinto al corte central del volumen original por la escala en la dimensión z.

figure
imshowpair(D(:,:,14),B(:,:,33),'montage');

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

A la izquierda está la imagen original y, a la derecha, la transformada. La imagen transformada está escalada más en dirección vertical que horizontal, tal como se esperaba ya que Sy es mayor que Sx.

Capacidades ampliadas

Historial de versiones

Introducido en R2013a