Importación, procesamiento y exportación básicos de imágenes
Este ejemplo muestra cómo leer una imagen en el área de trabajo, ajustar el contraste de la imagen y, después, escribir la imagen ajustada en un archivo.
Paso 1: Leer y mostrar una imagen
Lea una imagen en el área de trabajo utilizando la función imread
. El ejemplo lee una de las imágenes de muestra incluidas en la toolbox, una imagen de una niña en un archivo llamado pout.tif
, y la almacena en un arreglo llamado I
. La función imread
infiere a partir del archivo que el formato de archivo gráfico es Tagged Image File Format (TIFF).
I = imread("pout.tif");
Muestre la imagen utilizando la función imshow
. También puede ver una imagen en la app Image Viewer, que presenta un entorno integrado para visualizar imágenes y realizar algunas tareas comunes de procesamiento de imágenes. La app Image Viewer ofrece todas las prestaciones de visualización de imágenes de imshow
, pero también proporciona acceso a otras herramientas para navegar y explorar las imágenes, como barras de desplazamiento, la herramienta Pixel Region, la herramienta Image Information y la herramienta Contrast Adjustment.
imshow(I)
Paso 2: Comprobar cómo aparece la imagen en el área de trabajo
Compruebe cómo almacena la función imread
los datos de la imagen en el área de trabajo utilizando la función whos
. También puede comprobar la variable en el navegador del área de trabajo. La función imread
devuelve los datos de la imagen en la variable I
, que es un arreglo de 291 por 240 elementos de datos uint8
.
whos I
Name Size Bytes Class Attributes I 291x240 69840 uint8
Paso 3: Mejorar el contraste de la imagen
Compruebe la distribución de las intensidades de los píxeles de la imagen. La imagen pout.tif
es una imagen con poco contraste. Para ver la distribución de las intensidades de la imagen, cree un histograma llamando a la función imhist
. Observe cómo el histograma indica que el intervalo de intensidad de la imagen es bastante estrecho. El rango no cubre el rango potencial de [0, 255] y a la imagen le faltan los valores altos y bajos que darían lugar a un buen contraste.
imhist(I)
Mejore el contraste de la imagen utilizando la función imhist
y, después, muestre el resultado. La ecualización del histograma reparte los valores de intensidad en todo el intervalo de la imagen. La toolbox incluye otras funciones que realizan el ajuste del contraste, como imadjust
y adapthisteq
, y herramientas interactivas como la herramienta Adjust Contrast, disponible en la app Image Viewer.
I2 = histeq(I); imshow(I2)
Llame de nuevo a la función imhist
para crear un histograma de la imagen ecualizada I2
. Si compara los dos histogramas, puede ver que el histograma de I2
está más repartido por todo el rango que el histograma de I
.
figure imhist(I2)
Paso 4: Escribir la imagen ajustada en un archivo
Escriba la imagen I2
que acaba de ajustar en un archivo utilizando la función imwrite
. Este ejemplo incluye la extensión ".png"
en el nombre de archivo, por lo que la función imwrite
escribe la imagen en un archivo en formato Portable Network Graphics (PNG). Puede especificar otros formatos de archivo.
imwrite(I2,"pout2.png");
Paso 5: Comprobar el contenido del archivo que se acaba de escribir
Consulte información sobre la imagen del archivo, como su formato, tamaño, anchura y altura, utilizando la función imfinfo
.
imfinfo("pout2.png")
ans = struct with fields:
Filename: '/tmp/Bdoc23b_2395265_821990/tp942cdce9/images-ex89505080/pout2.png'
FileModDate: '26-Sep-2023 21:53:41'
FileSize: 36938
Format: 'png'
FormatVersion: []
Width: 240
Height: 291
BitDepth: 8
ColorType: 'grayscale'
FormatSignature: [137 80 78 71 13 10 26 10]
Colormap: []
Histogram: []
InterlaceType: 'none'
Transparency: 'none'
SimpleTransparencyData: []
BackgroundColor: []
RenderingIntent: []
Chromaticities: []
Gamma: []
XResolution: []
YResolution: []
ResolutionUnit: []
XOffset: []
YOffset: []
OffsetUnit: []
SignificantBits: []
ImageModTime: '27 Sep 2023 01:53:41 +0000'
Title: []
Author: []
Description: []
Copyright: []
CreationTime: []
Software: []
Disclaimer: []
Warning: []
Source: []
Comment: []
OtherText: []
Consulte también
imread
| imshow
| imwrite
| imfinfo