Leer imagen del archivo de gráficos
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.A
= imread(___,Name,Value
)
[
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, A
,map
,transparency
]
= imread(___) transparency
es el canal alfa, si uno está presente. Para los archivos CUR e ICO, es la máscara y (opacidad).
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
.
filename
— Nombre de archivoNombre 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
fmt
— Formato de imagenFormato 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
idx
— Imagen para leerImagen 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
'Index',5
lee la quinta imagen de un archivo TIFF.'Frames'
— Marco para leer'all'
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
'PixelRegion'
— Subimagen a leer{rows,cols}
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]}
'ReductionLevel'
— Reducción de la resolución de la imagenReducció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
'V79Compatible'
— Compatibilidad con MATLAB 7,9 (R2009b) y versiones anterioresfalse
(predeterminado) | true
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
'BackgroundColor'
— Color de fondo'none'
| Entero | Vector de 3 elementos de números enterosColor 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).
'Index'
— Imagen para leerImagen 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
'Info'
— Información sobre la imagenInformació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
'PixelRegion'
— Límite de regiónLí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
A
— Datos de imágenesDatos 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
map
— Colores m matriz
-por-3Colores se asoció a los datos de imagen indexados en A
, devueltos como una matriz m
-by-3 de la clase double
.
transparency
— Información de transparenciaInformació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.
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.
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 |
---|---|
1 bit por píxel |
|
2 a 8 bits por plano de color |
|
9 a 16 bits por píxel | y Para el formato comprimido BMP de 16 bits (5-6-5), MATLAB devuelve |
Las secciones siguientes proporcionan información sobre el soporte para formatos específicos, enumerados en orden alfabético por nombre de formato.
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 soportadas | Sin compresión | Compresión RLE | OUTPUT clase | Notas |
---|---|---|---|---|
1 bit | ✓ | – | logical | |
4 bit | ✓ | ✓ | uint8 | |
8 pedacito | ✓ | ✓ | uint8 | |
16 bit | ✓ | – | uint8 | 1 muestra/pixel |
24 bit | ✓ | – | uint8 | 3 samples/pixel |
32 bit | ✓ | – | uint8 | 3 muestras/pixel (1 relleno del octeto) |
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 soportadas | Sin compresión | Compresión | OUTPUT clase |
---|---|---|---|
1 bit | ✓ | – | logical |
4 bit | ✓ | – | uint8 |
8 pedacito | ✓ | – | uint8 |
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
.
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 soportadas | Sin compresión | Compresión | OUTPUT clase |
---|---|---|---|
1 bit | ✓ | – | logical |
2 pedacitos a 8 pedacitos | ✓ | – | uint8 |
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 soportadas | Imagen rasterizada con colores | Imagen rasterizada sin colores | OUTPUT clase | Notas |
---|---|---|---|---|
8 pedacito | ✓ | ✓ | uint8 | |
24 bit | – | ✓ | uint8 | 3 samples/pixel |
(Consulte CUR — archivo de cursor).
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 muestra | Compresión con pérdida | Compresión sin pérdida | OUTPUT clase | Notas |
---|---|---|---|---|
8 pedacito | ✓ | ✓ | uint8 | Escala de grises o RGB |
12 bit | ✓ | ✓ | uint16 | Escala de grises o RGB |
16 bit | – | ✓ | uint16 | Grises |
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érdida | Compresión sin pérdida | OUTPUT clase | Notas |
---|---|---|---|---|
1 bit | ✓ | ✓ | logical | Sólo en escala de grises |
2 pedacitos a 8 pedacitos | ✓ | ✓ | o | de escala de grises o RGB |
9 pedacito a 16 pedacito | ✓ | ✓ | o | de escala de grises o RGB |
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 soportadas | Binario RAW | ASCII (llano) codificado | OUTPUT clase |
---|---|---|---|
1 bit | ✓ | ✓ | logical |
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 soportadas | OUTPUT clase | Notas |
---|---|---|
1 bit | logical | Sólo en escala de grises |
8 pedacito | uint8 | Escala de grises o indizada |
24 bit | uint8 | RGB tres muestras/pixel de 8 pedacitos |
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 soportadas | Binario RAW | ASCII (llano) codificado | OUTPUT clase | Notas |
---|---|---|---|---|
8 pedacito | ✓ | – | uint8 | |
16 bit | ✓ | – | uint16 | |
Arbitraria | – | ✓ | 1-bit a 8-bit: uint8 de 9 bits a 16 bits: uint16 | Los valores se escalan |
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 soportadas | OUTPUT clase | Notas |
---|---|---|
1 bit | logical | Grises |
2 bit | uint8 | Grises |
4 bit | uint8 | Grises |
8 pedacito | uint8 | Escala de grises o indizada |
16 bit | uint16 | Escala de grises o indizada |
24 bit | uint8 | RGB tres muestras/pixel de 8 pedacitos. |
48 Bit | uint16 | RGB 3 16-bit samples/pixel. |
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 soportadas | Binario RAW | ASCII (llano) codificado | OUTPUT clase |
---|---|---|---|
Hasta 16 bit | ✓ | – | uint8 |
Arbitraria | – | ✓ |
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 soportadas | OUTPUT clase | Notas |
---|---|---|
1 bit | logical | Bits |
8 pedacito | uint8 | Indexadas |
24 bit | uint8 | RGB tres muestras/pixel de 8 pedacitos |
32 bit | uint8 | RGB con alfa cuatro muestras de 8 bits/pixel |
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
.
Esta tabla muestra las clases de profundidad de bits, compresión y salida admitidas para los archivos XWD.
Profundidades de bits soportadas | ZPixmaps | XYBitmaps | XYPixmaps | OUTPUT clase |
---|---|---|---|---|
1 bit | ✓ | – | ✓ | logical |
8 pedacito | ✓ | – | – | uint8 |
Notas de uso y limitaciones:
Admite la lectura de imágenes JPEG de 8 bits solamente. El argumento de entrada filename
debe ser una ruta de acceso absoluta o ruta relativa válida.
Esta función genera código que utiliza una biblioteca compartida específica de la plataforma precompilada (Image Processing Toolbox).
En un bloque MATLAB Function , el argumento de entrada filename
debe ser una constante en tiempo de compilación.
Tiene una versión modificada de este ejemplo. ¿Desea abrir este ejemplo con sus modificaciones?
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.