Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

imref2d

Establecer referencias en imágenes 2D con las coordenadas mundiales

Descripción

Un objeto imref2d almacena la relación entre las coordenadas intrínsecas ancladas a las filas y columnas de una imagen 2D y la ubicación espacial de las ubicaciones de las mismas filas y columnas en un sistema de coordenadas mundial.

La imagen se muestrea frecuentemente en el sistema de coordenadas mundial planar x e y de forma que los valores intrínsecos de x se alinean con los valores mundiales de x, y los valores intrínsecos de y se alinean con los valores mundiales de y. La resolución en cada dimensión puede ser diferente.

Creación

Puede crear un objeto imref2d de los modos siguientes.

  • affineOutputView: almacenar la extensión espacial de una imagen que está deformada por una transformación geométrica afín de 2D.

  • La función imref2d aquí descrita

Descripción

R = imref2d crea un objeto imref2d con valores predeterminados de propiedad.

R = imref2d(imageSize) establece la propiedad opcional ImageSize.

ejemplo

R = imref2d(imageSize,pixelExtentInWorldX,pixelExtentInWorldY) establece las propiedades opcionales ImageSize, PixelExtentInWorldX y PixelExtentInWorldY.

ejemplo

R = imref2d(imageSize,xWorldLimits,yWorldLimits) establece las propiedades opcionales ImageSize, XWorldLimits y YWorldLimits.

Propiedades

expandir todo

Alcance de la imagen en la dimensión x en el sistema de coordenadas mundial, especificado como escalar numérico. El objeto imref2d establece este valor como PixelExtentInX * ImageSize(2).

Tipos de datos: double

Alcance de la imagen en la dimensión y en el sistema de coordenadas mundial, especificado como escalar numérico. El objeto imref2d establece este valor como PixelExtentInY * ImageSize(1).

Tipos de datos: double

Número de elementos en cada dimensión espacial, especificado como un vector fila positivo de 2 elementos. ImageSize tiene la misma forma que la devuelta por la función size.

Tipos de datos: double

Tamaño de un solo píxel en la dimensión x medido en el sistema de coordenadas mundial, especificado como número positivo.

Tipos de datos: double

Tamaño de un solo píxel en la dimensión y medido en el sistema de coordenadas mundial, especificado como número positivo.

Tipos de datos: double

Límites de la imagen en la dimensión mundial x, especificados como vector fila numérico de 2 elementos [xMin xMax].

Tipos de datos: double

Límites de la imagen en la dimensión mundial y, especificados como vector fila numérico de 2 elementos [yMin yMax].

Tipos de datos: double

Límites de la imagen en unidades intrínsecas en la dimensión x, especificados como vector fila de 2 elementos [xMin xMax]. Para una imagen m por n (o una imagen m por n por p), XIntrinsicLimits es igual a [0.5, n+0.5].

Tipos de datos: double

Límites de la imagen en unidades intrínsecas en la dimensión y, especificados como vector fila de 2 elementos [yMin yMax]. Para una imagen m por n (o una imagen m por n por p), YIntrinsicLimits es igual a [0.5, m+0.5].

Tipos de datos: double

Funciones del objeto

containsDetermine if image contains points in world coordinate system
intrinsicToWorldConvert from intrinsic to world coordinates
sizesMatchDetermine if object and image are size-compatible
worldToIntrinsicConvert from world to intrinsic coordinates
worldToSubscriptConvert world coordinates to row and column subscripts

Ejemplos

contraer todo

Lea una imagen 2D en escala de grises en el espacio de trabajo.

A = imread('pout.tif');

Cree un objeto imref2d, especificando el tamaño y los límites mundiales de la imagen asociada al objeto.

xWorldLimits = [2 5];
yWorldLimits = [3 6];
RA = imref2d(size(A),xWorldLimits,yWorldLimits)
RA = 
  imref2d with properties:

           XWorldLimits: [2 5]
           YWorldLimits: [3 6]
              ImageSize: [291 240]
    PixelExtentInWorldX: 0.0125
    PixelExtentInWorldY: 0.0103
    ImageExtentInWorldX: 3
    ImageExtentInWorldY: 3
       XIntrinsicLimits: [0.5000 240.5000]
       YIntrinsicLimits: [0.5000 291.5000]

Muestre la imagen, especificando el objeto de referencia espacial. Las coordenadas de los ejes reflejan las coordenadas mundiales.

figure
imshow(A,RA);

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

Lea una imagen 2D en escala de grises en el espacio de trabajo.

m = dicominfo('knee1.dcm');
A = dicomread(m);

Cree un objeto imref2d, especificando el tamaño y la resolución de los píxeles. El archivo DICOM contiene un campo de metadatos PixelSpacing que especifica la resolución de la imagen en cada dimensión en milímetros por píxel.

RA = imref2d(size(A),m.PixelSpacing(2),m.PixelSpacing(1))
RA = 
  imref2d with properties:

           XWorldLimits: [0.1562 160.1562]
           YWorldLimits: [0.1562 160.1562]
              ImageSize: [512 512]
    PixelExtentInWorldX: 0.3125
    PixelExtentInWorldY: 0.3125
    ImageExtentInWorldX: 160
    ImageExtentInWorldY: 160
       XIntrinsicLimits: [0.5000 512.5000]
       YIntrinsicLimits: [0.5000 512.5000]

Muestre la imagen, especificando el objeto de referencia espacial. Las coordenadas de los ejes reflejan las coordenadas mundiales.

figure
imshow(A,RA,'DisplayRange',[0 512])

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

Compare la anchura de la imagen en las coordenadas mundiales y en las coordenadas intrínsecas. Esta anchura de imagen en las coordinadas intrínsecas, con unidades de píxeles, es:

RA.ImageSize(1)
ans = 512

Esta anchura de imagen en las coordinadas mundiales, con unidades de milímetros, es:

RA.ImageExtentInWorldX
ans = 160

Más acerca de

expandir todo

Sugerencias

  • Puede crear un objeto imref2d para una imagen RGB. Si crea el objeto especificando la propiedad ImageSize como un vector de tres elementos (como el devuelto por la función size), únicamente los dos primeros elementos se utilizan para establecer ImageSize.

Capacidades ampliadas

Historial de versiones

Introducido en R2013a