Main Content

Mostrar una imagen en la ventana de figura

Visión general

Para mostrar los datos de la imagen, utilice la función imshow. El siguiente ejemplo lee una imagen en el espacio de trabajo y luego la muestra en una ventana de figura mediante la función imshow.

moon = imread("moon.tif");
imshow(moon)

Grayscale image in a figure window

También puede pasar a imshow el nombre de un archivo que contenga una imagen.

imshow("moon.tif");

Esta sintaxis puede ser útil para escanear imágenes. Sin embargo, tenga en cuenta que cuando utiliza esta sintaxis, imread no almacena los datos de imagen en el espacio de trabajo. Si desea traer la imagen al espacio de trabajo, debe utilizar la función getimage, que recupera los datos de imagen del objeto de imagen actual. Este ejemplo asigna los datos de imagen de moon.tif a la variable moon, si la ventana de figura en la que se muestra está activa en ese momento.

moon = getimage;

Para obtener más información sobre el uso de imshow para mostrar los distintos tipos de imágenes que admite la toolbox, consulte Display Different Image Types.

Especificar el aumento inicial de una imagen

De forma predeterminada, imshow intenta mostrar una imagen en su totalidad con un aumento del 100% (un píxel de la pantalla por cada píxel de la imagen). Sin embargo, si una imagen es demasiado grande para caber en una ventana de figura en la pantalla al 100% de aumento, imshow la escala para que quepa en la pantalla y emite un mensaje de advertencia.

Para anular el comportamiento de aumento inicial predeterminado de una llamada concreta a imshow, especifique el parámetro InitialMagnification. Por ejemplo, para ver una imagen con un aumento del 150%, utilice el siguiente código.

pout = imread("pout.tif");
imshow(pout,"InitialMagnification",150)

imshow intenta respetar el aumento que especifique. Sin embargo, si la imagen no cabe en la pantalla con el aumento especificado, imshow ajusta la imagen para que quepa. También puede especificar "fit" como valor de aumento inicial. En este caso, imshow escala la imagen para ajustarla al tamaño de la ventana de figura.

Para cambiar el comportamiento del aumento inicial predeterminado de imshow, establezca la preferencia de la toolbox ImshowInitialMagnification. Para establecer la preferencia, abra el cuadro de diálogo de preferencias de Image Processing Toolbox™ llamando a iptprefs o, en la pestaña Home de MATLAB®, en la sección Environment, haga clic en Preferences.

Cuando imshow escala una imagen, utiliza la interpolación para determinar los valores de los píxeles de la pantalla que no corresponden directamente a elementos de la matriz de la imagen. Para obtener más información sobre la especificación de métodos de interpolación, consulte Cambiar el tamaño de una imagen.

Controlar la apariencia de la figura

De forma predeterminada, cuando imshow muestra una imagen en una figura, la rodea con un borde gris. Puede cambiar este valor predeterminado y eliminar el borde mediante el argumento de nombre-valor "Border", como se muestra en el siguiente ejemplo.

imshow("moon.tif","Border","tight")

La siguiente figura muestra la misma imagen con y sin borde.

Grayscale image in a figure window with a gray border surrounding the image.

El argumento "Border" solo afecta a la imagen que se muestra en la llamada a imshow. Si desea que todas las imágenes que muestre con imshow aparezcan sin el borde gris, establezca la preferencia "ImshowBorder" de Image Processing Toolbox en "tight". También puede utilizar las preferencias para incluir ejes visibles en la figura. Para obtener más información sobre las preferencias, consulte iptprefs.

Temas relacionados