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.

imagesc

Mostrar imagen con colores escalados

Descripción

imagesc(C) muestra los datos del arreglo C como una imagen que usa la gama completa de colores del mapa de colores. Cada elemento de C especifica el color de un píxel de la imagen. La imagen resultante es una cuadrícula de píxeles de m por n donde m es el número de filas y n es el número de columnas de C. Los índices de fila y de columna de los elementos determinan los centros de los píxeles correspondientes.

ejemplo

imagesc(x,y,C) especifica la ubicación de la imagen. Utilice x e y para especificar las ubicaciones de las esquinas correspondientes a C(1,1) y C(m,n). Para especificar ambas esquinas, establezca x e y como vectores de dos elementos. Para especificar la primera esquina y dejar que imagesc determine la otra, establezca x e y como valores escalares. La imagen se extiende y se orienta según corresponda.

ejemplo

imagesc('CData',C) añade la imagen de los ejes actuales sin reemplazar las gráficas existentes. Esta sintaxis es la versión de bajo nivel de imagesc(C). Para obtener más información, consulte Versión de alto nivel frente a versión de bajo nivel.

imagesc('XData',x,'YData',y,'CData',C) especifica la ubicación de la imagen. Esta sintaxis es la versión de bajo nivel de imagesc(x,y,C).

imagesc(___,Name,Value) especifica las propiedades de la imagen utilizando uno o más argumentos de par nombre-valor. Puede especificar argumentos de par nombre-valor después de cualquiera de las combinaciones de argumentos de entrada de las sintaxis anteriores. Para obtener una lista de las propiedades y las descripciones de la imagen, consulte Image Properties.

imagesc(___,clims) especifica los valores de datos que se asignan al primero y último elemento del mapa de colores. Especifique clims como vector de dos elementos con el formato [cmin cmax], donde los valores menores que o iguales a cmin se asignan al primer color del mapa de colores y los valores mayores que o iguales a cmax se asignan al último color del mapa de colores. Especifique clims después de los argumentos de par nombre-valor.

ejemplo

imagesc(ax,___) crea la imagen en los ejes especificados por ax en lugar de en los ejes actuales (gca). Especifique los ejes como primer argumento de entrada.

im = imagesc(___) devuelve el objeto Image creado. Use im para establecer las propiedades de la imagen después de crearla. Puede especificar esta salida con cualquiera de las combinaciones de argumentos de entrada de las sintaxis anteriores.

ejemplo

Ejemplos

contraer todo

Cree una matriz C. Muestre una imagen de los datos en C. Añada una barra de colores a la gráfica para mostrar el mapa de colores actual. De forma predeterminada, imagesc escala los límites de color para que la imagen utilice el rango completo del mapa de colores, donde el valor más pequeño de C se asigna al primer color del mapa de colores, mientras que el valor más grande se asigna al último color.

C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
imagesc(C)
colorbar

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

Coloque la imagen de forma que quede entre 5 y 8 en el eje x y entre 3 y 6 en el eje y.

x = [5 8];
y = [3 6];
C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
imagesc(x,y,C)

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

Observe que el píxel correspondiente a C(1,1) está centrado sobre el punto (5,3). El píxel correspondiente a C(3,4) está centrado sobre el punto (8,6). imagesc coloca y orienta el resto de la imagen entre esos dos puntos.

Cree C como un arreglo de valores de datos. Cree una imagen de C y establezca los límites de color de forma que los valores de 4 o inferior se asignen al primer color del mapa de colores y los valores de 18 o superior, al último color del mapa de colores. Muestre una barra de colores para ver cómo los valores de datos se asignan al mapa de colores.

C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
clims = [4 18];
imagesc(C,clims)
colorbar

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

Cree una imagen y devuelva el objeto de imagen, im. Después, haga la imagen semitransparente estableciendo la propiedad AlphaData del objeto de imagen.

C = [1 2 3; 4 5 6; 7 8 9];
im = imagesc(C);

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

im.AlphaData = .5;

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

Cree una gráfica de superficie. Luego, añada una imagen debajo de la superficie. imagesc muestra la imagen en el plano xy.

Z = 10 + peaks;
surf(Z)
hold on
imagesc(Z)

Figure contains an axes object. The axes object contains 2 objects of type surface, image.

Argumentos de entrada

contraer todo

Datos de color de una imagen, especificados como vector o matriz. Cada elemento de C define el color de un píxel de la imagen. Los elementos de C se asignan a colores del mapa de colores de los ejes asociados. El valor más pequeño de C se asigna al primer color del mapa de colores, mientras que el valor más grande se asigna al último color. El comportamiento de los elementos de NaN no está definido.

Nota

Si especifica C como arreglo de m por n por 3, la función imagesc interpreta la imagen como imagen de color real (RGB). imagesc no vuelve a escalar los valores de píxel de las imágenes de color real. Utilice la función rescale para escalar valores de píxel de color real antes de llamar a imagesc.

Para utilizar la versión de bajo nivel de la función imagesc en su lugar, establezca la propiedad CData como par de nombre-valor. Por ejemplo, imagesc('CData',C).

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

Colocación en el eje x, especificada de una de las siguientes formas:

  • Vector de dos elementos: utilice el primer elemento como ubicación para el centro de C(1,1) y el segundo elemento como ubicación para el centro de C(m,n), donde [m,n] = size(C). Si C es un arreglo 3D, m y n son las primeras dos dimensiones. Distribuya uniformemente los centros de los elementos restantes de C entre esos dos puntos.

    El ancho de cada píxel se determina mediante la expresión:

    (x(2)-x(1))/(size(C,2)-1)

    Si x(1) > x(2), la imagen se invierte de izquierda a derecha.

  • Escalar: centra C(1,1) en esta ubicación y cada elemento siguiente a una unidad de distancia.

Nota

  • Si x tiene más de dos elementos, imagesc utiliza el primer y último elemento e ignora los otros.

  • Para utilizar la versión de bajo nivel de la función imagesc en su lugar, establezca la propiedad XData usando un argumento nombre-valor. Por ejemplo, imagesc('XData',x,'YData',y,'CData',C).

  • No puede desplazarse ni acercarse/alejarse interactivamente fuera de los límites del eje x o del eje y de una imagen, a menos que los límites ya se hayan establecido fuera de los límites de la imagen. Si los límites ya están fuera de los límites de la imagen, no existe tal restricción. Si otros objetos (como una línea) ocupan los ejes y se extienden más allá de los límites de la imagen, puede desplazarse o acercarse/alejarse en los límites de los otros objetos, pero no más allá.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | datetime (desde R2023b) | duration (desde R2023b) | categorical (desde R2023b)

Colocación en el eje y, especificada de una de las siguientes formas:

  • Vector de dos elementos: utilice el primer elemento como ubicación para el centro de C(1,1) y el segundo elemento como ubicación para el centro de C(m,n), donde [m,n] = size(C). Si C es un arreglo 3D, m y n son las primeras dos dimensiones. Distribuya uniformemente los centros de los elementos restantes de C entre esos dos puntos.

    La altura de cada píxel se determina mediante la expresión:

    (y(2)-y(1))/(size(C,1)-1)

    Si y(1) > y(2), la imagen se invierte de arriba abajo.

  • Escalar: centra C(1,1) en esta ubicación y cada elemento siguiente a una unidad de distancia.

Nota

  • Si y tiene más de dos elementos, imagesc utiliza el primer y último elemento e ignora los otros.

  • Para utilizar la versión de bajo nivel de la función imagesc en su lugar, establezca la propiedad YData usando un argumento nombre-valor. Por ejemplo, imagesc('XData',x,'YData',y,'CData',C).

  • No puede desplazarse ni acercarse/alejarse interactivamente fuera de los límites del eje x o del eje y de una imagen, a menos que los límites ya se hayan establecido fuera de los límites de la imagen. Si los límites ya están fuera de los límites de la imagen, no existe tal restricción. Si otros objetos (como una línea) ocupan los ejes y se extienden más allá de los límites de la imagen, puede desplazarse o acercarse/alejarse en los límites de los otros objetos, pero no más allá.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | datetime (desde R2023b) | duration (desde R2023b) | categorical (desde R2023b)

Límites de color, especificados como vector de dos elementos con el formato [cmin cmax], donde cmax es mayor que cmin. Todos los valores de C que son menores que o iguales a cmin se asignan al primer color del mapa de colores. Los valores mayores que o iguales a cmax se asignan al último color del mapa de colores. Los valores entre cmin y cmax se asignan linealmente al mapa de colores.

Si especifica los límites de color, la función imagesc establece la propiedad CLim de los ejes en los valores especificados. Si no especifica los límites de color, imagesc establece la propiedad CLim de los ejes en el valor mínimo y máximo de C.

Objeto Axes. Si no especifica un objeto Axes, imagesc utiliza los ejes actuales.

Argumentos de par nombre-valor

contraer todo

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

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

Ejemplo: imagesc([1 2 3],'AlphaData',0.5) muestra una imagen semitransparente.

Las propiedades que se enumeran aquí son un subconjunto de propiedades de imagen. Para obtener una lista completa, consulte Image Properties.

Datos de transparencia, especificados de una de las siguientes formas:

  • Escalar: usa una transparencia consistente en toda la imagen.

  • Arreglo del mismo tamaño que CData: usa un valor de transparencia diferente para cada elemento de la imagen.

La propiedad AlphaDataMapping controla cómo MATLAB® interpreta los valores de transparencia de los datos alfa.

Ejemplo: 0.5

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

Interpretación de los valores AlphaData, especificada como uno de estos valores:

  • 'none': interpreta los valores como valores de transparencia. Un valor de 1 o superior indica una opacidad total; un valor de 0 o inferior, una transparencia total y un valor entre 0 y 1, semitransparencia.

  • 'scaled': asigna los valores al mapa alfa de la figura. Los límites alfa mínimo y máximo de los ejes determinan los valores de datos alfa que se asignan al primer y último elemento del mapa alfa, respectivamente. Por ejemplo, si los límites alfa son [3 5], los valores de datos alfa menores que o iguales a 3 se asignan al primer elemento del mapa alfa. Todos los valores de datos alfa mayores que o iguales a 5 se asignan al último elemento del mapa alfa. La propiedad ALim de los ejes contiene los límites alfa. La propiedad Alphamap de la figura contiene el mapa alfa.

  • 'direct': interpreta los valores como índices del mapa alfa de la figura. Los valores con porción decimal se fijan al entero menor más próximo:

    • Si los valores son del tipo double o single, los valores de 1 o inferior se asignan al primer elemento del mapa alfa. Los valores iguales a o mayores que la longitud del mapa alfa se asignan al último elemento del mapa alfa.

    • Si los valores son del tipo entero, los valores de 0 o inferior se asignan al primer elemento del mapa alfa. Los valores iguales a o mayores que la longitud del mapa alfa se asignan al último elemento del mapa alfa (o hasta los límites de rango del tipo). Los tipos enteros son uint8, uint16, uint32, uint64, int8, int16, int32 e int64.

    • Si los valores son del tipo logical, los valores de 0 se asignan al primer elemento del mapa alfa y los valores de 1 se asignan al segundo elemento del mapa alfa.

Argumentos de salida

contraer todo

Objeto Image. Use im para establecer las propiedades de la imagen después de crearla. Para obtener una lista, consulte Image Properties.

Más acerca de

contraer todo

Sugerencias

  • Para leer datos de imágenes en MATLAB desde archivos de gráficas en varios formatos estándar, como TIFF, utilice imread. Para escribir datos de imágenes de MATLAB en archivos de gráficas, utilice imwrite. Las funciones imread e imwrite admiten varios formatos de archivos de gráficas y esquemas de compresión.

  • Para ver o establecer los límites de color de los ejes, puede utilizar la función clim.

    Antes de R2022a: Utilice caxis, que tiene la misma sintaxis y argumentos que clim.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido antes de R2006a

expandir todo

Consulte también

Funciones

Propiedades