Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Importación de imágenes

Para importar datos en el espacio de trabajo desde un archivo de gráficos, utilice la función.MATLAB®imread Con esta función, puede importar datos de archivos en muchos formatos de archivo estándar, como el formato de archivo de imagen etiquetada (TIFF), el formato de intercambio de gráficos (GIF), el grupo de expertos fotográficos conjuntos (JPEG) y los formatos de gráficos de red portátiles (PNG). Para obtener una lista completa de los formatos admitidos, consulte la página de referencia.imread

Este ejemplo lee los datos de imagen almacenados en un archivo en formato JPEG en el espacio de trabajo como la matriz:MATLABI

I = imread('ngc6543a.jpg'); 

representa la imagen en el espacio de trabajo como una matriz multidimensional de clase.imreaduint8 Las dimensiones de la matriz dependen del formato de los datos. Por ejemplo, utiliza tres dimensiones para representar imágenes de color RGB:imread

whos I   Name      Size                           Bytes  Class    I       650x600x3                      1170000  uint8 array  Grand total is 1170000 elements using 1170000 bytes 

Para obtener más control sobre la lectura de archivos TIFF, utilice el objeto, consulte para obtener más información.TiffLectura de datos de imagen y metadatos de archivos TIFF

Obtener información sobre los archivos de imagen

Si tiene un archivo en un formato de gráficos estándar, utilice la función para obtener información sobre su contenido.imfinfo La función devuelve una estructura que contiene información sobre el archivo.imfinfo Los campos de la estructura varían según el formato de archivo, pero siempre devuelven información básica, como el nombre del archivo, la fecha de la última modificación, el tamaño del archivo y el formato.imfinfo

Este ejemplo devuelve información sobre un archivo en el formato JPEG (Joint Photographic Experts Group):

info = imfinfo('ngc6543a.jpg') 
info = 

           Filename: 'matlabroot\toolbox\matlab\demos\ngc6543a.jpg'
        FileModDate: '01-Oct-1996 16:19:44'
           FileSize: 27387
             Format: 'jpg'
      FormatVersion: ''
              Width: 600
             Height: 650
           BitDepth: 24
          ColorType: 'truecolor'
    FormatSignature: ''
    NumberOfSamples: 3
       CodingMethod: 'Huffman'
      CodingProcess: 'Sequential'
            Comment: {'CREATOR: XV Version 3.00b  Rev: 6/15/94  Quality =...'}

Lectura de datos de imagen y metadatos de archivos TIFF

Aunque puede utilizar para importar datos de imagen y metadatos de archivos TIFF, la función tiene algunas limitaciones.imread Por ejemplo, un archivo TIFF puede contener varias imágenes y cada imagen puede tener múltiples subimagos. Mientras que usted puede leer todas las imágenes de un archivo TIFF multi-imagen con, usted no puede acceder a los subimagos.imread Con el objeto, puede leer datos de imagen, metadatos y subimagos desde un archivo TIFF.Tiff Cuando se construye un objeto, representa la conexión con un archivo TIFF y proporciona acceso a muchas de las rutinas de la biblioteca LibTIFF.Tiff

A continuación se muestra un ejemplo paso a paso del uso de métodos y propiedades de objetos para leer subimagos desde un archivo TIFF.Tiff Para sacar el máximo provecho del objeto, familiarícese con la especificación TIFF y las notas técnicas.Tiff Ver LibTIFF - TIFF Library and Utilities .

Leer SubImages de un archivo TIFF

Un archivo TIFF puede contener uno o más directorios de archivos de imagen (IFD). Cada IFD contiene datos de imagen y los metadatos (etiquetas) asociados a la imagen. Cada IFD puede contener una o más subIFDs, que también pueden contener datos de imagen y metadatos. Estos subimagos son típicamente versiones de resolución reducida (miniatura) de los datos de imagen en el IFD que contiene las subIFDs.

Para leer los subimagos en un IFD, usted debe obtener la ubicación de la subimagen de la etiqueta.SubIFD La etiqueta contiene una matriz de desplazamientos de bytes que apuntan a los subimagos.SubIFD A continuación, puede pasar la dirección del subIFD al método para hacer que la subIFD sea el IFD actual.setSubDirectory La mayoría de los métodos de objetos operan en el IFD actual.Tiff

  1. Abra un archivo TIFF que contenga imágenes y subimagos utilizando el constructor de objetos.Tiff Este ejemplo utiliza el archivo TIFF creado en, que contiene un directorio IFD con dos subIFDs.Creación de subdirectorios de archivos TIFF El constructor abre el archivo TIFF y hace que el primer subIFD en el archivo sea el IFD actual:Tiff

    t = Tiff('my_subimage_file.tif','r');
  2. Recupere las ubicaciones de subIFDs asociadas al IFD actual. Utilice el método para obtener el valor de la etiqueta.getTagSubIFD Este método devuelve una matriz de desplazamientos de bytes que especifican la ubicación de subIFDs:

    offsets = getTag(t,'SubIFD')
  3. Navega hasta la primera subimaga. En primer lugar, establezca el currentIFD en el directorio que contiene la primera subimagen:

    dirNum = 1;  setDirectory(t,dirNum);
  4. A continuación, navegue hasta la primera subIFD utilizando el método.setSubDirectory Especifique el desplazamiento de byte de la subIFD como argumento. Esta llamada hace la subIFD el IFD actual:

    setSubDirectory(t,offsets(1)); 
  5. Lea los datos de la imagen del IFD actual (el primer subIFD) de la misma manera que usted lee cualquier otro IFD en el archivo:

    subimage_one = read(t); 
  6. Ver la primera subimagen:

    imagesc(subimage_one) 
  7. Navega hasta la segunda subimagen. En primer lugar, restablezca el currentIFD al directorio que contiene la segunda subimagen:

    setDirectory(t,dirNum);
  8. A continuación, navegue hasta el segundo subIFD utilizando el método.setSubDirectory Especifique el desplazamiento de byte del segundo subIFD:

    setSubDirectory(t,offsets(2)); 
  9. Lea los datos de imagen del IFD actual (el segundo subIFD) como lo haría con cualquier otro IFD en el archivo:

    subimage_two = read(t); 
  10. Ver la segunda subimagen:

    imagesc(subimage_two) 
  11. Cierre el objeto:Tiff

    close(t); 

Consulte también

Sitios web externos