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.

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)

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

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)

Figure contains 2 axes objects. Axes object 1 contains an object of type stem. Axes object 2 contains 2 objects of type image, line.

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)

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

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)

Figure contains 2 axes objects. Axes object 1 contains an object of type stem. Axes object 2 contains 2 objects of type image, line.

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

| | |

Temas relacionados