Contenido principal

Mostrar varias imágenes

Esta página describe las opciones para mostrar varias imágenes 2D a la vez. Para obtener una visión general de las prestaciones de visualización de Image Processing Toolbox™, consulte Choose Approach to Display 2-D and 3-D Images.

Cargar imágenes

Lea tres imágenes en el área de trabajo.

pears = imread("pears.png");
peppers = imread("peppers.png");
moon = imread("moon.tif");

Mostrar imágenes individualmente

Muestre las imágenes de una en una con la función imshow. En Live Editor, cada llamada a imshow muestra una imagen como salida independiente. En scripts de código estándar o la ventana de comandos de MATLAB®, cada llamada a imshow reemplaza a la imagen de la figura actual. Para mostrar cada imagen en su propia figura, utilice el comando figure para crear una nueva ventana de figura entre llamadas a imshow.

imshow(pears)

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

figure
imshow(peppers)

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

Puede personalizar el modo en que imshow muestra una imagen utilizando argumentos nombre-valor. Por ejemplo, este código muestra la imagen de la luna usando el mapa de colores turbo con un aumento del 50%.

figure
imshow(moon,Colormap=turbo,InitialMagnification=50)

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

Mostrar pares de imágenes

Muestre dos imágenes como una superposición o montaje usando la función imshowpair.

Traslade una copia de la imagen de los pimientos y compárela con la original. De forma predeterminada, imshowpair convierte las imágenes a escala de grises y las muestra como superposición de falso color.

peppersTranslate = imtranslate(peppers,[0 10]);
imshowpair(peppers,peppersTranslate)

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

Opcionalmente, puede especificar el método utilizado para mostrar las imágenes como tercer argumento de entrada. Por ejemplo, muestre las imágenes usando la composición alfa.

imshowpair(peppers,peppersTranslate,"blend") 

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

Otras opciones incluyen mostrar imágenes como un montaje, un diseño de damero o una imagen de diferencia. Este gráfico muestra cómo se muestran las imágenes para cada opción.

Montage of representative examples of the imshowpair display methods, including falsecolor, blend, checkerboard, diff, and montage

La salida del método "montage" suele ser similar a la salida de la función montage. Sin embargo, si bien montage siempre vuelve a escalar a la vez las intensidades de todas las imágenes al mismo intervalo de visualización, puede elegir si imshowpair escala los rangos de visualización de la imagen de manera independiente, a la vez o si no aplica escalado especificando el argumento nombre-valor Scaling. Para obtener más detalles, consulte las páginas de referencia imshowpair y montage.

Mostrar varias imágenes como montaje

Muestre varias imágenes una al lado de la otra usando la función montage.

Puede especificar las imágenes que se desea mostrar de varias formas, como usando un arreglo con varios cuadros, una lista de nombres de archivo o un almacén de datos de imágenes. También puede especificar un volumen de imagen como entrada para mostrar los cortes del volumen como montaje. Para mostrar imágenes con tamaños diferentes, como en este ejemplo, especifique un arreglo de celdas de matrices. De forma predeterminada, montage organiza las imágenes en filas y columnas para formar aproximadamente un cuadrado. La función escala cada imagen para ajustarse al montaje, preservando su relación de aspecto original.

imagelist = {pears moon peppers peppersTranslate};
figure
montage(imagelist)

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

Puede personalizar características como qué imágenes de un arreglo con varios cuadros mostrar, el espacio entre las imágenes y el color de fondo entre imágenes usando argumentos nombre-valor. Por ejemplo, este código muestra las imágenes como una fila con fondo blanco.

figure
montage(imagelist,Size=[1 NaN],BackgroundColor="white")

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

Mostrar imágenes como una distribución en mosaico

Muestre varias imágenes con diferentes títulos, mapas de colores y barras de colores usando la función tiledlayout.

Para crear una distribución en mosaico, especifique el número de filas y columnas que desea incluir con la función tiledlayout. Después, llame a la función nexttile para colocar un objeto de ejes en la distribución. A continuación, llame a imshow para mostrar la imagen en los ejes. Opcionalmente, puede especificar más detalles para el mosaico, como el título. Cuando lo tenga todo preparado para pasar al mosaico siguiente, utilice la función nexttile.

figure
tiledlayout(2,2)

nexttile
imshow(pears)
title("Pears")

nexttile
imshow(peppers)
title("Peppers")

nexttile
imshow(moon)
title("Moon")

Figure contains 3 axes objects. Hidden axes object 1 with title Pears contains an object of type image. Hidden axes object 2 with title Peppers contains an object of type image. Hidden axes object 3 with title Moon contains an object of type image.

Puede utilizar tiledlayout para mostrar una imagen en escala de grises usando varios mapas de color dentro de una sola figura o una salida de Live Editor.

figure
tiledlayout(1,2);

nexttile
imshow(moon)
colorbar
title("Moon - Original")

nexttile
imshow(moon,turbo)
colorbar
title("Moon - Turbo")

Figure contains 2 axes objects. Hidden axes object 1 with title Moon - Original contains an object of type image. Hidden axes object 2 with title Moon - Turbo contains an object of type image.

También puede usar tiledlayout con la función linkaxes para mantener sincronizadas las imágenes mientras las acerca o aleja y las desplaza. Cuando use la función nexttile para pasar a un mosaico que desee enlazar, incluya un argumento de salida para devolver el objeto de ejes de ese mosaico. Después, enlace los ejes devueltos de los mosaicos especificándolos en la función linkaxes.

moonfilt = imgaussfilt(moon,2);

figure
tiledlayout(1,2)

ax1 = nexttile;
imshow(moon)
title("Original")

ax2 = nexttile;
imshow(moonfilt)
title("Filtered")

linkaxes([ax1 ax2])

Acerque o aleje a la misma subregión en las dos imágenes. También puede acercar y alejar o desplazar interactivamente usando la barra de herramientas de los ejes en la ventana de figura.

xlim([100 150])
ylim([120 180])

Figure contains 2 axes objects. Hidden axes object 1 with title Original contains an object of type image. Hidden axes object 2 with title Filtered contains an object of type image.

Mostrar imágenes de etiqueta

Puede mostrar imágenes de etiqueta usando la función labeloverlay para imágenes de etiqueta binarias, numéricas y categóricas o la función imoverlay solo para etiquetas binarias. Las funciones labeloverlay e imoverlay crean una imagen fusionada de la imagen de etiqueta sobre la imagen original. Puede mostrar la imagen fusionada usando cualquier función de visualización, como imshow o imshowpair.

Por ejemplo, cree una imagen de etiqueta numérica para la imagen de las peras con una segmentación watershed.

pearscomp = imcomplement(im2gray(pears));
pearsfilt = imhmin(pearscomp,30);
pearslabel = watershed(pearsfilt);

Cree una imagen fusionada de las etiquetas superpuestas en la imagen original.

pearsoverlay = labeloverlay(pears,pearslabel);

Muestre la imagen fusionada.

figure
imshow(pearsoverlay)

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

Cree una máscara binaria de la luna usando umbrales.

t = graythresh(moon);
BW = imbinarize(moon,t);

Cree una imagen fusionada de la máscara superpuesta en la imagen original.

B = imoverlay(moon,BW);

Muestre la imagen original de la luna y la superposición fusionada una al lado de la otra.

figure
imshowpair(moon,B,"montage")

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

Consulte también

| | | | |

Temas