Contenido principal

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.

montage

Mostrar varias imágenes como un montaje rectangular

Descripción

montage(imagelist) muestra un montaje de imágenes especificadas por imagelist. Las imágenes pueden ser de diferentes tipos y tamaños. Por defecto, la función montage organiza las imágenes de manera que formen aproximadamente un cuadrado.

ejemplo

montage(imds) muestra un montaje de las imágenes del almacén de datos de imágenes imds.

ejemplo

montage(I) muestra todos los cuadros de una imagen con varios cuadros I.

ejemplo

montage(___,map) trata todas las imágenes en escala de grises y binarias (especificadas mediante cualquiera de las sintaxis anteriores) como imágenes indexadas y las muestra con el mapa de colores especificado map. Si especifica las imágenes utilizando nombres de archivo o un almacén de datos de imágenes, map anula cualquier mapa de colores interno presente en los archivos de imagen. montage no modifica el mapa de colores de las imágenes RGB.

montage(___,Name=Value) utiliza argumentos nombre-valor para personalizar la visualización del montaje de imágenes.

ejemplo

img = montage(___) devuelve un identificador al objeto único de imagen que contiene todos los cuadros que se muestran.

Nota

Medical Imaging Toolbox™ extiende la funcionalidad de la función montage (Image Processing Toolbox™) para mostrar datos de un objeto medicalImage (Medical Imaging Toolbox) o medicalVolume (Medical Imaging Toolbox). Para obtener más información, consulte montage (Medical Imaging Toolbox).

Ejemplos

contraer todo

Lea varias imágenes de diferentes tipos y tamaños en el área de trabajo.

imRGB = imread("peppers.png");
imGray = imread("coins.png");

Muestre un montaje que contenga todas las imágenes.

figure
montage({imRGB,imGray,"cameraman.tif"})

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

Cree un objeto ImageDatastore que contenga una serie de diez imágenes de la carpeta de imágenes de muestra de Image Processing Toolbox™.

fileFolder = fullfile(matlabroot,"toolbox","images","imdata");
imds = imageDatastore(fullfile(fileFolder,"AT3*"));

Muestre el contenido del almacén de datos como un montaje.

montage(imds)

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

Cargue un conjunto de datos de RM.

load mristack

Muestre el conjunto de datos. montage trata los datos como una imagen con varios cuadros y muestra cada corte.

montage(mristack)

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

Cree un montaje a partir de una serie de imágenes en archivos. Haga el montaje en un rectángulo de 2 por 5. A continuación, cree un segundo montaje, esta vez utilizando el argumento nombre-valor "DisplayRange" para resaltar estructuras de la imagen.

Muestre las imágenes como un montaje rectangular.

Cree un arreglo de cadenas que contenga una serie de nombres de archivos.

fileFolder = fullfile(matlabroot,"toolbox","images","imdata");
dirOutput = dir(fullfile(fileFolder,"AT3_1m4_*.tif"));
fileNames = string({dirOutput.name});

Muestre las imágenes como un montaje. Especifique la forma del montaje como un rectángulo de 2 por 5.

montage(fileNames,"Size",[2 5]);

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

Ajuste el contraste de las imágenes del montaje.

En otra figura, cree el mismo montaje de 2 por 5. Además, ajuste el intervalo de visualización para ajustar el contraste de las imágenes en el montaje.

figure 
montage(fileNames,"Size",[2 5],"DisplayRange",[75 200]);

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

Muestre todas las imágenes de un conjunto de datos de RM utilizando el montaje con la configuración predeterminada. Hay 27 imágenes en el conjunto.

load mri
montage(D,map)

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

Cree un nuevo montaje que contenga solo las 9 primeras imágenes.

figure
montage(D,map,Indices=1:9);

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

Argumentos de entrada

contraer todo

Conjunto de imágenes, especificado como un arreglo de celdas o como un vector de cadenas. Utilice un arreglo de celdas para mostrar cualquier combinación de estos elementos:

  • Matriz numérica de tamaño m por n que representa una imagen en escala de grises

  • Arreglo numérico de tamaño m por n por 3 que representa una imagen en color

  • Vector de caracteres o cadena que especifica el nombre de un archivo de imagen

Si desea especificar todas las imágenes por nombre de archivo, puede utilizar un vector de cadenas. Si los archivos no se encuentran en la carpeta actual o en una carpeta en la ruta de MATLAB®, especifique el nombre completo de la ruta. Para obtener más información, consulte imread.

Tipos de datos: single | double | int16 | uint8 | uint16 | logical | char | string | cell

Almacén de datos de imágenes, especificado como un objeto ImageDatastore.

Imagen con varios cuadros, especificada como arreglo numérico de uno de estos tamaños:

  • m por n por k, que representa una serie de k imágenes binarias o en escala de grises.

  • m por n por 1 por k, que representa una serie de k imágenes binarias o en escala de grises.

  • m por n por 3 por k, que representa una serie de k imágenes en color verdadero.

También puede especificar la imagen con varios cuadros como un objeto dlarray (Deep Learning Toolbox):

  • Un objeto dlarray sin formato que contiene un arreglo numérico de uno de los tamaños anteriores.

  • Un objeto dlarray formateado con dos dimensiones espaciales (etiquetadas como "S") y como máximo una dimensión etiquetada "T", "B" o "U". Si el objeto tiene una dimensión de canal (etiquetada como "C"), entonces la longitud de esa dimensión debe ser 1 o 3.

Tipos de datos: single | double | int16 | uint8 | uint16 | logical

Mapa de colores, especificado como matriz numérica de c por 3 con valores en el intervalo [0, 1]. Cada fila es un triplete RGB que especifica los componentes rojo, verde y azul de un único color del mapa de colores.

Tipos de datos: double

Argumentos de par nombre-valor

contraer todo

Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos de nombre-valor deben aparecer después de otros argumentos. Sin embargo, el orden de los pares no importa.

Ejemplo: montage(I,Indices=1:9) crea un montaje de los primeros nueve cuadros de la imagen con varios cuadros I.

En las versiones anteriores a la R2021a, use comas para separar cada nombre y valor, y encierre Name entre comillas.

Ejemplo: montage(I,"Indices",1:9)

Color de fondo, especificado como triplete RGB, un nombre del color o un nombre corto del color. La función montage rellena todos los espacios en blanco con el color de fondo, incluido el espacio especificado por BorderSize. Si especifica un color de fondo, la función montage renderiza la salida como una imagen RGB.

Puede especificar cualquier color utilizando un triplete RGB. Un triplete RGB es un vector fila de 3 elementos cuyos elementos especifican las intensidades de los componentes rojo, verde y azul del color. Las intensidades deben estar en el intervalo [0, 1].

Puede especificar algunos colores habituales por su nombre como un escalar de cadena o un vector de caracteres. En esta tabla se enumeran las opciones de color con nombre y los tripletes RGB equivalentes.

Nombre del colorNombre cortoTriplete RGBApariencia
"red""r"[1 0 0]

A rectangle colored pure red

"green""g"[0 1 0]

A rectangle colored pure green

"blue""b"[0 0 1]

A rectangle colored pure blue

"cyan" "c"[0 1 1]

A rectangle colored pure cyan

"magenta""m"[1 0 1]

A rectangle colored pure magenta

"yellow""y"[1 1 0]

A rectangle colored pure yellow

"black""k"[0 0 0]

A rectangle colored black

"white""w"[1 1 1]

A rectangle colored white

Aquí están los tripletes RGB para los colores por defecto que MATLAB utiliza en muchos tipos de gráficas.

Triplete RGBApariencia
[0 0.4470 0.7410]

A rectangle colored medium blue

[0.8500 0.3250 0.0980]

A rectangle colored reddish-orange

[0.9290 0.6940 0.1250]

A rectangle colored dark yellow

[0.4940 0.1840 0.5560]

A rectangle colored dark purple

[0.4660 0.6740 0.1880]

A rectangle colored light green

[0.3010 0.7450 0.9330]

A rectangle colored light blue

[0.6350 0.0780 0.1840]

A rectangle colored dark red

Ejemplo: "BackgroundColor","r"

Ejemplo: "BackgroundColor","green"

Ejemplo: "BackgroundColor",[0 0.4470 0.7410]

Relleno alrededor de cada imagen en miniatura, en píxeles, especificado como un entero no negativo o un vector de enteros no negativos de 1 por 2. La función montage rellena los bordes de la imagen con el color de fondo, BackgroundColor.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Rango de visualización de imágenes en escala de grises, especificado como un vector de 1 por 2 con la forma [low high]. Todos los valores de píxeles menores o iguales a low se muestran en negro. Todos los valores de píxeles superiores o iguales a high se muestran en blanco. Si se especifica una matriz vacía ([]), montage utiliza los valores mínimos y máximos de píxeles de las imágenes. Si cualquiera de las imágenes es una imagen en color, la función montage ignora este argumento para todas las imágenes.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Cuadros que se desea mostrar en el montaje, especificados como un arreglo de enteros positivos. La función montage interpreta los valores como índices en el conjunto de imágenes especificado por imagelist, imds o I.

Por defecto, la función montage muestra todos los cuadros o archivos de imagen.

Ejemplo: "Indices",1:4 crea un montaje de los cuatro primeros cuadros en I

Ejemplo: "Indices",1:2:20 muestra los cuadros alternos.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Técnica de interpolación utilizada para cambiar el tamaño del montaje para la visualización, especificada como uno de los valores siguientes.

ValorDescripción
"nearest"Interpolación del vecino más cercano (por defecto)
"bilinear"Interpolación bilineal

Objeto principal del objeto de imagen creado por montage, especificado como un objeto de ejes. La función montage cambia el tamaño de la imagen para que se ajuste a las extensiones disponibles en los ejes principales.

Número de filas y columnas de imágenes especificado como un vector de 2 elementos de la forma [nrows ncols].

Si especifica NaN o Inf para una dimensión concreta, la función montage calcula el valor de la dimensión para mostrar todas las imágenes del montaje. Por ejemplo, si Size es [2 NaN], el montaje tendrá dos filas y el número mínimo de columnas para mostrar todas las imágenes. Cuando hay una discrepancia entre Size y el número de imágenes (cuadros) especificado, la función montage crea la imagen en mosaico basándose en Size.

Tipos de datos: single | double

Método de interpolación para cambiar el tamaño de las imágenes para las miniaturas, especificado como uno de los siguientes valores.

MétodoDescripción

"bicubic"

Interpolación bicúbica; el valor del píxel de salida es una media ponderada de los píxeles del entorno más cercano de 4 por 4.

Nota

La interpolación bicúbica puede producir valores de píxeles que se sitúan fuera del intervalo original.

"bilinear"

Interpolación bilineal; el valor del píxel de salida es una media ponderada de los píxeles del entorno más cercano de 2 por 2.

"nearest"

Interpolación del vecino más cercano; al píxel de salida se le asigna el valor del píxel en el que cae el punto. No se tienen en cuenta otros píxeles.

"box"

Núcleo de interpolación con forma de cuadro

"triangle"Núcleo de interpolación triangular (equivalente a "bilinear")
"cubic"Núcleo de interpolación cúbica (equivalente a "bicubic")
"lanczos2"Núcleo de interpolación de Lanczos-2
"lanczos3"Núcleo de interpolación de Lanczos-3

El método de cambio de tamaño predeterminado, "bicubic", generalmente funciona bien cuando las imágenes son más grandes que las miniaturas. Si el tamaño de las imágenes es más pequeño que las miniaturas y desea evitar suavizar los valores de los píxeles, considere establecer ThumbnailInterpolation en "nearest".

Tipos de datos: char | string

Tamaño de cada miniatura, especificado como vector de 2 elementos enteros positivos. La relación de aspecto de cada imagen se conserva, y cualquier espacio en blanco se rellena con el color de fondo, BackgroundColor.

Si especifica un arreglo vacío ([]), el tamaño de la miniatura es el tamaño completo de la primera imagen. Si especifica cualquiera de los elementos como NaN o Inf, la función montage calcula automáticamente el valor correspondiente para conservar la relación de aspecto de la primera imagen.

Tipos de datos: single | double

Argumentos de salida

contraer todo

Imagen de montaje, devuelta como un objeto de imagen.

Sugerencias

  • Si especifica una imagen indexada, montage la convierte a RGB utilizando el mapa de colores presente en el archivo.

  • Si hay una discrepancia de tipo de datos entre las imágenes, la función montage convierte todas las imágenes al tipo de datos double utilizando la función im2double.

  • Al calcular el número de imágenes a mostrar en horizontal y en vertical, montage tiene en cuenta la relación de aspecto de las imágenes, para que el montaje visualizado sea casi cuadrado.

  • Cuando se muestra un montaje en Live Editor, la figura se integra en la salida del script en vivo. Para abrir la figura en una ventana independiente, haga clic en el botón Open in figure window Open in figure window button de la esquina superior derecha de la salida.

  • Los títulos de las figuras pueden aparecer cortados en Live Editor. Para garantizar que se puede ver todo el título, establezca la propiedad PositionContraint del objeto de los ejes principales en "outerposition". Actualice el valor de la propiedad después de la función montage y antes de la función title.

    I = imread("peppers.png");
    montage({I,I})
    ax = gca;
    ax.PositionConstraint = "outerposition";
    title("Peppers");
    Si especifica los ejes principales utilizando el argumento nombre-valor Parent, establezca la propiedad PositionConstraint del objeto de los ejes principales especificado. Para obtener más detalles sobre las propiedades de ubicación de los ejes, consulte Controlar el diseño de los ejes.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido antes de R2006a

expandir todo