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)
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.
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
.