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.

imread

Leer imagen del archivo de gráficos

Sintaxis

A = imread(filename)
A = imread(filename,fmt)
A = imread(___,idx)
A = imread(___,Name,Value)
[A,map] = imread(___)
[A,map,transparency] = imread(___)

Descripción

ejemplo

A = imread(filename) lee la imagen del archivo especificado por filename, infiriendo el formato del archivo a partir de su contenido. Si filename es un archivo de varias imágenes, imread lee la primera imagen del archivo.

A = imread(filename,fmt) especifica además el formato del archivo con la extensión de archivo estándar indicada por fmt. Si imread no puede encontrar un archivo con el nombre especificado por filename, busca un archivo denominado filename.fmt.

A = imread(___,idx) lee la imagen o imágenes especificadas de un archivo de varias imágenes. Esta sintaxis sólo se aplica a los archivos GIF, CUR, ICO, TIF y HDF4. Debe especificar una entrada filename y, opcionalmente, puede especificar fmt.

ejemplo

A = imread(___,Name,Value) especifica opciones específicas del formato mediante uno o varios argumentos de pares de nombre y valor, además de cualquiera de los argumentos de entrada de las sintaxis anteriores.

ejemplo

[A,map] = imread(___) lee la imagen indexada en filename en A y lee su colores asociada en map. Los valores de colores en el archivo de imagen se reescalan automáticamente en el intervalo [0,1].

ejemplo

[A,map,transparency] = imread(___) devuelve además la transparencia de la imagen. Esta sintaxis sólo se aplica a los archivos PNG, CUR e ICO. Para los archivos PNG, transparency es el canal alfa, si uno está presente. Para los archivos CUR e ICO, es la máscara y (opacidad).

Ejemplos

contraer todo

Lea una imagen de ejemplo.

A = imread('ngc6543a.jpg');

imread devuelve un arreglo de discos 650-by-600-by-3, A.

Mostrar la imagen.

image(A)

Leer una imagen y convertirla a una imagen RGB.

Lea la primera imagen en el archivo de imagen indexado de ejemplo, corn.tif.

[X,map] = imread('corn.tif');

X es una matriz 415-by-312 de tipo uint8.

Compruebe que el colores, map, no está vacío y convierta los datos en X a RGB.

if ~isempty(map)
    Im = ind2rgb(X,map);
end

Vea el tamaño y la clase de X.

whos Im
  Name        Size                 Bytes  Class     Attributes

  Im        415x312x3            3107520  double              

X es ahora una matriz 415-by-312-by-3 de tipo double.

Lea la tercera imagen en el archivo de ejemplo, corn.tif.

[X,map] = imread('corn.tif',3);

Devuelva el canal alfa de la imagen de ejemplo, peppers.png.

[X,map,alpha] = imread('peppers.png');
alpha
alpha =

     []

No hay canal alfa presente, por lo que alpha está vacío.

Lea una región específica de píxeles de la imagen de ejemplo, corn.tif.

Especifique el parámetro 'PixelRegion' con una matriz de vectores de celdas que indique los límites de la región que se leerán. El primer vector especifica el rango de filas que se van a leer, y el segundo vector especifica el rango de columnas que se van a leer.

A = imread('corn.tif','PixelRegion',{[1,2],[2,5]});

imread Lee los datos de la imagen en las filas 1-2 y Columns 2-5 de corn.tif y devuelve el arreglo de discos 2 por 4, A.

Argumentos de entrada

contraer todo

Nombre de archivo, especificado como un vector de carácter. Si el archivo no está en la carpeta actual o en una carpeta de la ruta de acceso MATLAB® , especifique el nombre de la ruta de acceso completa.

filename también puede ser una dirección URL de Internet que especifique una ubicación de imagen. La dirección URL debe incluir el tipo de protocolo (por ejemplo, https://).

Para obtener información sobre las profundidades de bits, los esquemas de compresión y los espacios de color compatibles con cada tipo de archivo, vea Algoritmos.

Ejemplo: 'myFile.jpg'

Ejemplo: 'https://www.mathworks.com/myImage.gif'

Tipos de datos: char

Formato de imagen, especificado como un vector de caracteres que indica la extensión de archivo estándar. Llame a imformats para ver una lista de los formatos admitidos y sus extensiones de archivo.

Ejemplo: 'png'

Tipos de datos: char

Imagen a leer, especificada como un escalar entero o, para archivos GIF, un vector de números enteros. Por ejemplo, si idx es 3, imread devuelve la tercera imagen del archivo. En el caso de un archivo GIF, si idx es 1:5, imread devuelve sólo los cinco primeros fotogramas. El argumento idx sólo se admite para archivos GIF, CUR, ICO y HDF4 de varias imágenes.

Al leer varios fotogramas del mismo archivo GIF, especifique idx como un vector de fotogramas o utilice el argumento par nombre-valor de 'Frames','all' . Debido a la forma en que se estructuran los archivos GIF, estas sintaxis proporcionan un rendimiento más rápido en comparación con llamar a imread en un bucle.

Para los archivos HDF4, idx corresponde al número de referencia de la imagen que se debe leer. Los números de referencia no corresponden necesariamente al orden de las imágenes del archivo. Puede utilizar imfinfo para que coincida con el orden de la imagen con el número de referencia.

Ejemplo: 3

Tipos de datos: double

Argumentos de par nombre-valor

Ejemplo: 'Index',5 lee la quinta imagen de un archivo TIFF.

Archivos GIF

contraer todo

Marcos que se leen, especificados como pares separados por comas que consisten en 'Frames' y un entero positivo, un vector de enteros o 'all'. Por ejemplo, si especifica el valor 3, imread lee el tercer fotograma del archivo. Si especifica 'all', imread Lee todos los fotogramas y los devuelve en el orden en que aparecen en el archivo.

Ejemplo: 'frames',5

Archivos JPEG 2000

contraer todo

Subimagen a leer, especificada como el par separado por comas consistente en 'PixelRegion' y una matriz de celda del formulario {rows,cols}. La entrada rows especifica el intervalo de filas que se van a leer. La entrada cols especifica el intervalo de columnas que se van a leer. Tanto rows como cols deben ser vectores de dos elementos que contengan índices basados en 1. Por ejemplo, 'PixelRegion',{[1 2],[3 4]} lee la subimagen delimitada por las filas 1 y 2 y las columnas 3 y 4 de los datos de la imagen. Si el valor de 'ReductionLevel' es mayor que 0, rows y cols son coordenadas de la subimagen.

Ejemplo: 'PixelRegion',{[1 100],[4 500]}

Reducción de la resolución de la imagen, especificada como el par separado por comas consistente en 'ReductionLevel' y un entero no negativo. Para el nivel de reducción L, la resolución de la imagen se reduce por un factor de 2 ^L. El nivel de reducción está limitado por el número total de niveles de descomposición especificados por el campo'WaveletDecompositionLevels' en la salida de la función imfinfo .

Ejemplo: 'ReductionLevel',5

Tipos de datos: single | double

Compatibilidad con MATLAB 7,9 (R2009b) y versiones anteriores, especificados como pares separados por comas que consisten en 'V79Compatible' y true o false. Si especifica true, la imagen de escala de grises o RGB devuelta es coherente con las versiones anteriores de imread (MATLAB 7,9 (R2009b) y anteriores).

Ejemplo: 'V79Compatible',true

Tipos de datos: logical

Archivos PNG

contraer todo

Color de fondo, especificado como 'none', un entero o un vector de tres elementos de enteros. Si BackgroundColor es 'none', imread no realiza ninguna composición. De lo contrario, imread mezcla los píxeles transparentes con el color de fondo.

  • Si la imagen de entrada está indizada, el valor de BackgroundColor debe ser un entero en el intervalo [1,P], donde P es la longitud colores.

  • Si la imagen de entrada es de escala de grises, el valor de BackgroundColor debe ser un entero en el intervalo [0,1].

  • Si la imagen de entrada es RGB, el valor de BackgroundColor debe ser un vector de tres elementos con valores en el intervalo [0,1].

El valor predeterminado de BackgroundColor depende de la presencia del argumento de salida transparency y del tipo de imagen:

  • Si solicita el argumento de salida transparency , el valor predeterminado de BackgroundColor es 'none'.

  • Si no solicita la salida transparency y el archivo PNG contiene un fragmento de color de fondo, ese color es el valor predeterminado de BackgroundColor.

  • Si no solicita la salida transparency y el archivo no contiene un fragmento de color de fondo, a continuación, el valor predeterminado de BackgroundColor es 1 para imágenes indizadas, 0 para imágenes en escala de grises y [0 0 0] para las imágenes TrueColor (RGB).

Archivos TIFF

contraer todo

Imagen que se debe leer, especificada como el par separado por comas consistente en 'Index' y un entero positivo. Por ejemplo, si el valor de Index es 3, imread lee la tercera imagen del archivo.

Tipos de datos: single | double

Información acerca de la imagen, especificada como el par separado por comas consistente en 'Info' y una matriz de estructura devuelta por la función imfinfo . Utilice el argumento Info name-value pair para ayudar a imread a localizar las imágenes en un archivo TIFF de varias imágenes más rápidamente.

Tipos de datos: struct

Límite de región, especificado como el par separado por comas consistente en 'PixelRegion' y una matriz de celdas del formulario {rows,cols}. La entrada rows especifica el intervalo de filas que se van a leer. La entrada cols especifica el intervalo de columnas que se van a leer. rows y cols deben ser vectores de dos elementos o de tres elementos de índices basados en 1. Un vector de dos elementos especifica las primeras y últimas filas o columnas que se leerán. Por ejemplo, 'PixelRegion',{[1 2],[3 4]} lee la región delimitada por las filas 1 y 2 y las columnas 3 y 4 de los datos de la imagen.

Un vector de tres elementos debe estar en la forma [start increment stop], donde start es la primera fila o columna que se va a leer, increment es un valor incremental, y stop es el última fila o columna que se desea leer. Esta sintaxis permite la imagen disminución. Por ejemplo, 'PixelRegion',{[1 2 10],[4 3 12]} lee la región delimitada por las filas 1 y 10 y las columnas 4 y 12, y muestrea los datos de cada 2 píxeles en la dirección vertical y cada 3 píxeles en la dirección horizontal.

Ejemplo: 'PixelRegion',{[1 100],[4 500]}

Tipos de datos: cell

Argumentos de salida

contraer todo

Datos de imagen, devueltos como una matriz.

  • Si el archivo contiene una imagen en escala de grises, a es un array m-by-n .

  • Si el archivo contiene una imagen indizada, A es una matriz m-by-n de valores de índice correspondientes al color de ese índice en map.

  • Si el archivo contiene una imagen truecolor, a es un array m-by-n-by-3.

  • Si el archivo es un archivo TIFF que contiene imágenes de color que utilizan el espacio de color CMYK, a es un array m-by-n-by-4.

La clase de A depende del formato de la imagen y de la profundidad de bits de los datos de la imagen. Para obtener más información, vea Algoritmos

Colores se asoció a los datos de imagen indexados en A, devueltos como una matriz m-by-3 de la clase double.

Información de transparencia, devuelta como matriz. Para los archivos PNG, transparency es el canal alfa, si está presente. Si no hay ningún canal alfa, o si se especifica el argumento 'BackgroundColor' name-value pair, transparency es []. Para los archivos CUR y ICO, transparency es la máscara y. Para los archivos de cursor, esta máscara a veces contiene los únicos datos útiles.

Más acerca de

contraer todo

Profundidad de bits

La profundidad de bits es el número de bits que se utilizan para representar cada píxel de imagen.

La profundidad de bits se calcula multiplicando los bits por muestra con los samples por píxel. Por lo tanto, un formato que utiliza 8 bits para cada componente de color (o muestra) y tres muestras por píxel tiene una profundidad de bits de 24. A veces el tamaño de muestra asociado con una profundidad de bits puede ser ambiguo. Por ejemplo, ¿una profundidad de bit de 48 representa seis muestras de 8 bits, muestras de 4 12 bits o muestras de 3 16 bits? Vea Algoritmos para obtener información sobre el tamaño de la muestra para evitar esta ambigüedad.

Algoritmos

contraer todo

Para la mayoría de los formatos de archivo de imagen, imread utiliza 8 o menos bits por plano de color para almacenar los píxeles de la imagen. En esta tabla se enumera la clase de la matriz de imágenes devuelta, A, para las profundidades de bits utilizadas por los formatos de archivo.

Profundidad de bits en el archivo

Clase de matriz devuelta por imread

1 bit por píxel

logical

2 a 8 bits por plano de color

uint8

9 a 16 bits por píxel

y

Para el formato comprimido BMP de 16 bits (5-6-5), MATLAB devuelve uint8

Las secciones siguientes proporcionan información sobre el soporte para formatos específicos, enumerados en orden alfabético por nombre de formato.

BMP — mapa de bits Windows

Esta tabla muestra las profundidades de bits admitidas y el tipo de datos de la matriz de datos de imagen de salida.

Profundidades de bits soportadasSin compresiónCompresión RLEOUTPUT claseNotas
1 bitlogical 
4 bituint8 
8 pedacitouint8 
16 bituint81 muestra/pixel
24 bituint83 samples/pixel
32 bituint83 muestras/pixel
(1 relleno del octeto)

CUR — archivo de cursor

Esta tabla muestra las profundidades de bits admitidas y el tipo de datos de la matriz de datos de imagen de salida.

Profundidades de bits soportadasSin compresiónCompresiónOUTPUT clase
1 bitlogical
4 bituint8
8 pedacitouint8

Nota

De forma predeterminada, los cursores Microsoft® Windows® son 32-por-32 píxeles. Dado que los punteros de MATLAB deben ser 16 por 16, es posible que necesite escalar la imagen. Si tiene Image Processing Toolbox™, puede utilizar la función imresize .

GIF — formato de intercambio de gráficos

Esta tabla muestra las profundidades de bits admitidas y el tipo de datos de la matriz de datos de imagen de salida.

Profundidades de bits soportadasSin compresiónCompresiónOUTPUT clase
1 bitlogical
2 pedacitos a 8 pedacitosuint8

HDF4 — formato de datos jerárquicos

Esta tabla muestra las profundidades de bits admitidas y el tipo de datos de la matriz de datos de imagen de salida.

Profundidades de bits soportadasImagen rasterizada con coloresImagen rasterizada sin coloresOUTPUT claseNotas
8 pedacitouint8 
24 bituint83 samples/pixel

ICO — icono de archivo

JPEG — grupo mixto de expertos en fotografía

imread lee cualquier imagen JPEG de línea de base, así como imágenes JPEG con algunas extensiones comúnmente utilizadas. Para obtener información sobre la compatibilidad con archivos JPEG 2000, vea JPEG 2000.

Bits admitidos por muestraCompresión con pérdidaCompresión sin pérdidaOUTPUT claseNotas
8 pedacitouint8Escala de grises o RGB
12 bituint16Escala de grises o RGB
16 bituint16Grises

JPEG 2000 — grupo de expertos fotográficos conjuntos 2000

Para obtener información acerca de los archivos JPEG, vea JPEG.

Nota

JPEG indexado 2000 imágenes no son compatibles. Sólo se admiten espacios de color compatibles con JP2 para los archivos JP2/jpx. De forma predeterminada, todos los canales de imagen se devuelven en el orden en que se almacenan en el archivo.

Bits admitidos por muestra

Compresión con pérdidaCompresión sin pérdidaOUTPUT claseNotas
1 bitlogicalSólo en escala de grises
2 pedacitos a 8 pedacitoso
de escala de grises o RGB
9 pedacito a 16 pedacitoo
de escala de grises o RGB

PBM: mapa de bits portátil

Esta tabla muestra las profundidades de bits admitidas y el tipo de datos de la matriz de datos de imagen de salida.

Profundidades de bits soportadasBinario RAWASCII (llano) codificadoOUTPUT clase
1 bitlogical

PCX — pincel Windows

Esta tabla muestra las profundidades de bits admitidas y el tipo de datos de la matriz de datos de imagen de salida.

Profundidades de bits soportadasOUTPUT claseNotas
1 bitlogicalSólo en escala de grises
8 pedacitouint8Escala de grises o indizada
24 bituint8RGB
tres muestras/pixel de 8 pedacitos

PGM — Graymap portable

Esta tabla muestra las profundidades de bits admitidas y el tipo de datos de la matriz de datos de imagen de salida.

Profundidades de bits soportadasBinario RAWASCII (llano) codificadoOUTPUT claseNotas
8 pedacitouint8 
16 bituint16 
Arbitraria1-bit a 8-bit: uint8
de 9 bits a 16 bits: uint16
Los valores se escalan

PNG: gráficos de red portátiles

Esta tabla muestra las profundidades de bits admitidas y el tipo de datos de la matriz de datos de imagen de salida.

Profundidades de bits soportadasOUTPUT claseNotas
1 bitlogicalGrises
2 bituint8Grises
4 bituint8Grises
8 pedacitouint8Escala de grises o indizada
16 bituint16Escala de grises o indizada
24 bituint8RGB
tres muestras/pixel de 8 pedacitos.
48 Bituint16RGB
3 16-bit samples/pixel.

Pixmap portable del ppm-

Esta tabla muestra las profundidades de bits admitidas y el tipo de datos de la matriz de datos de imagen de salida.

Profundidades de bits soportadasBinario RAWASCII (llano) codificadoOUTPUT clase
Hasta 16 bituint8
Arbitraria 

RAS — Sun Raster

Esta tabla muestra las profundidades de bits admitidas y el tipo de datos de la matriz de datos de imagen de salida.

Profundidades de bits soportadasOUTPUT claseNotas
1 bitlogicalBits
8 pedacitouint8Indexadas
24 bituint8RGB
tres muestras/pixel de 8 pedacitos
32 bituint8RGB con alfa
cuatro muestras de 8 bits/pixel

TIFF: formato de archivo de imagen etiquetado

imread lee la mayoría de las imágenes compatibles con la especificación TIFF o LibTIFF. La función imread admite estas funcionalidades de TIFF:

  • Cualquier número de muestras por pixel

  • Grupo CCITT 3 y 4 fax, Packbits, JPEG, LZW, desinflado, compresión ThunderScan y imágenes sin comprimir

  • Imágenes lógicas, en escala de grises, color indexado, truecolor e hiperespectrales

  • RGB, CMYK, CIELAB, espacios del color de ICCLAB. Si la imagen de color utiliza el espacio de color CMYK, A es un array m-by-n-by-4. Para determinar qué espacio de color se utiliza, utilice imfinfo para obtener información sobre el archivo gráfico y examinar el valor del campo PhotometricInterpretation . Si un archivo contiene datos de color CIELAB, imread lo convierte en ICCLAB antes de introducirlo en el espacio de trabajo MATLAB . Esta conversión es necesaria porque los valores codificados en CIELab TIFF de 8 o 16 bits utilizan una mezcla de tipos de datos firmados y no firmados que no se pueden representar como una única matriz MATLAB .

  • Datos organizados en azulejos o scanlines

imread Lee y convierte las imágenes TIFF de la siguiente manera:

  • Las imágenes YCbCr se convierten en RGB ColorSpace.

  • Todas las imágenes en escala de grises se leen como si negro = 0, blanco = valor más grande.

  • las imágenes de 1 bit se devuelven como clase logical.

  • Las imágenes CIELAB se convierten en ICCLab ColorSpace.

Para obtener información sobre derechos de autor, abra el archivo libtiffcopyright.txt .

XWD — X volcado de ventana

Esta tabla muestra las clases de profundidad de bits, compresión y salida admitidas para los archivos XWD.

Profundidades de bits soportadasZPixmapsXYBitmapsXYPixmapsOUTPUT clase
1 bitlogical
8 pedacitouint8

Capacidades ampliadas

Introducido antes de R2006a