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 imshow(peppers)

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)

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)

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

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

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

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

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)

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")
Consulte también
imshow | imshowpair | montage | tiledlayout | labeloverlay | imoverlay