Main Content

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 varios cuadros de imagen como un montaje rectangular

Descripción

ejemplo

montage(I) muestra todos los cuadros de un arreglo de imágenes de varios cuadros I. Por defecto, la función montage organiza las imágenes de manera que formen aproximadamente un cuadrado.

montage(imagelist) muestra un montaje de imágenes especificadas en el arreglo de celdas imagelist. Las imágenes pueden ser de diferentes tipos y tamaños.

ejemplo

montage(filenames) muestra un montaje de las imágenes con nombres de archivo especificados en filenames.

ejemplo

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

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.

ejemplo

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

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

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 axes object contains an object of type image.

Lea varias imágenes de diferentes tipos y tamaños en el espacio 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 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 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 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 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 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 axes object contains an object of type image.

Argumentos de entrada

contraer todo

Arreglo de imagen con varios cuadros, especificado como uno de los siguientes:

  • Arreglo numérico de m por n por k que representa una secuencia de k imágenes binarias o en escala de grises

  • Arreglo numérico de m por n por 1 por k que representa una secuencia de k imágenes binarias o en escala de grises

  • Arreglo numérico de m por n por 3 por k que representa una secuencia de k imágenes en color verdadero

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

Conjunto de imágenes, especificado como un arreglo de celdas de matrices numéricas de tamaño m por n o m por n por 3.

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

Nombres de los archivos que contienen imágenes, especificados como un arreglo de celdas de vectores de caracteres o como un arreglo 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: char | string | cell

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

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

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.

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

Ejemplo: 'Indices',1:9 crea un montaje de los primeros nueve cuadros

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 en un arreglo I, especificado como un vector de 1 por 2 de 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.

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 arreglo I o en el arreglo de celdas filenames o imagelist.

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 cuando se escala una imagen, especificada como uno de estos valores:

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

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.

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

Historial de versiones

Introducido antes de R2006a