Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

imagesc

Mostrar imagen con colores escalados

Descripción

ejemplo

imagesc(C) muestra los datos de la matriz C como una imagen que utiliza el rango completo de colores en el colores. Cada elemento de C especifica el color de 1 píxel de la imagen. La imagen resultante es una cuadrícula m-by-n de píxeles donde m es el número de columnas y n es el número de filas en C . Los índices de fila y 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 y y para especificar las ubicaciones de las esquinas correspondientes a C(1,1) y C(m,n). Para especificar ambas esquinas, establezca x y y como vectores de dos elementos. Para especificar la primera esquina y dejar que imagesc determine el otro, establezca x y y como valores escalares. La imagen se estira y orienta según corresponda.

imagesc('CData',C) agrega la imagen a los ejes actuales sin reemplazar las tramas existentes. Esta sintaxis es la versión de bajo nivel de imagesc(C). Para obtener más información, vea Versión de alto nivel versus 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 mediante uno o varios argumentos de par nombre-valor. Puede especificar argumentos de par nombre-valor después de cualquiera de las combinaciones de argumentos de entrada en las sintaxis anteriores. Para obtener una lista de las propiedades y descripciones de la imagen, vea Image Properties.

ejemplo

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

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

ejemplo

im = imagesc(___) devuelve el objeto Image creado. Utilice im para establecer las propiedades de la imagen una vez creada. Puede especificar este resultado con cualquiera de las combinaciones de argumentos de entrada en las sintaxis anteriores.

Ejemplos

contraer todo

Crear matriz c. Mostrar una imagen de los datos en c. Añada un Colorbar al gráfico para mostrar el colores actual. De forma predeterminada, imagesc escala los límites de color para que la imagen utilice el rango completo del colores, donde el valor más pequeño de C se asigna al primer color de la colores y 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

Coloque la imagen de manera que se sitúe entre 5 y 8 en el eje xy 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)

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) se centra sobre el punto (8, 6). imagesc coloca y orienta el resto de la imagen entre esos dos puntos.

Cree C como una matriz de valores de datos. Cree una imagen de C y defina los límites de color de modo que los valores de 4 o menos se asignan al primer color de la colores y los valores de 18 o más mapas al último color de la colores. Muestre un Colorbar para mostrar cómo se asignan los valores de datos al colores.

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

Cree una imagen y devuelva el objeto Image, im. A continuación, haga que la imagen sea semitransparente estableciendo la propiedad AlphaData del objeto Image.

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

im.AlphaData = .5;

Crear una trama de superficie. A continuación, 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)

Argumentos de entrada

contraer todo

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

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

Conversión entre tipos de datos

Para convertir los datos de imagen de un tipo entero a tipo double, agregue 1. Por ejemplo, si X8 es datos de imagen indexados de tipo uint8, conviertalo a tipo double utilizando:

X64 = double(X8) + 1;

Para convertir los datos de imagen de tipo double a un tipo entero, reste 1 y utilice round para asegurarse de que todos los valores son enteros. Por ejemplo, si X64 es datos de imagen indexados de tipo double, conviertalo a uint8 utilizando:

X8 = uint8(round(X64 - 1));

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

Ubicación a lo largo del eje x, especificado en uno de estos formularios:

  • Vector de dos elementos: Utilice el primer elemento como ubicación del centro de C(1,1) y el segundo elemento como ubicación del centro de C(m,n), donde [m,n] = size(C). Si C es una matriz tridimensional, m y n son las dos primeras dimensiones. Distribuya uniformemente los centros de los elementos restantes de C entre esos dos puntos.

    La anchura de cada píxel viene determinada por la expresión:

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

    Si x(1) > x(2), la imagen se volteará a la izquierda y a la derecha.

  • Escalar (Scalar): centrar C(1,1) en esta ubicación y cada elemento siguiente una unidad aparte.

Para utilizar en su lugar la versión de bajo nivel de la función imagesc , establezca la propiedad XData como par nombre-valor. Por ejemplo:

No se puede panorámica o zoom interactivamente fuera de los límites del eje x o los límites del eje y de una imagen, a menos que los límites ya estén establecidos fuera de los límites de la imagen. Si los límites ya están fuera del límite, 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, se puede panorámica o zoom a los límites de los otros objetos, pero no más.

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

Ubicación a lo largo de y-AXIS, especificada en uno de estos formularios:

  • Vector de dos elementos: Utilice el primer elemento como ubicación del centro de C(1,1) y el segundo elemento como ubicación del centro de C(m,n), donde [m,n] = size(C). Si C es una matriz tridimensional, m y n son las dos primeras dimensiones. Distribuya uniformemente los centros de los elementos restantes de C entre esos dos puntos.

    La altura de cada píxel viene determinada por la expresión:

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

    Si y(1) > y(2), la imagen se volteará hacia arriba hacia abajo.

  • Escalar (Scalar): centrar C(1,1) en esta ubicación y cada elemento siguiente una unidad aparte.

Para utilizar en su lugar la versión de bajo nivel de la función imagesc , establezca la propiedad YData como par nombre-valor. Por ejemplo:

No se puede panorámica o zoom interactivamente fuera de los límites del eje x o los límites del eje y de una imagen, a menos que los límites ya estén establecidos fuera de los límites de la imagen. Si los límites ya están fuera del límite, 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, se puede panorámica o zoom a los límites de los otros objetos, pero no más.

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

Límites de color, especificados como vector de dos elementos de la forma [cmin cmax], donde cmax es mayor que cmin. Valores de C que son inferiores o iguales al mapa de cmin al primer color de la colores. Valores mayores o iguales que cmax Map al último color de la colores. Los valores entre cmin y cmax se asignan linealmente al 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 los valores mínimo y máximo de C.

(objeto): Si no se especifica un objeto Axes , imagesc utiliza los ejes actuales.

Argumentos de par nombre-valor

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

Las propiedades enumeradas aquí son un subconjunto de propiedades de imagen. Para obtener una lista completa, vea Image Properties.

Datos de transparencia, especificados en uno de estos formularios:

  • Escalar (Scalar): permite utilizar una transparencia consistente en toda la imagen.

  • Array del mismo tamaño que CData : utilice un valor de transparencia diferente para cada elemento de imagen.

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

Ejemplo: 0.5

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

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

  • 'none' : Permite interpretar los valores como valores de transparencia. Un valor de 1 o superior es completamente opaco, un valor de 0 o menos es completamente transparente, y un valor entre 0 y 1 es semitransparente.

  • 'scaled' : Permite asignar los valores a la Alphamap de la figura. Los límites alfa mínimos y máximos de los ejes determinan los valores de datos alfa que se asignan al primer y último elemento de la Alphamap, respectivamente. Por ejemplo, si los límites alfa son [3 5], los valores de datos alfa son inferiores o iguales al mapa de 3 al primer elemento del Alphamap. Los valores de datos alfa mayor o igual que 5 se asignan al último elemento de la Alphamap. La propiedad ALim de los ejes contiene los límites alfa. La propiedad Alphamap de la figura contiene el Alphamap.

  • 'direct' : Interprete los valores como índices en el Alphamap de la figura. Los valores con una parte decimal se fijan al entero inferior más cercano:

    • Si los valores son de tipo double o single, entonces los valores de 1 o menos se asignan al primer elemento del Alphamap. Valores iguales o superiores a la longitud del mapa Alphamap al último elemento de la Alphamap.

    • Si los valores son de tipo entero, entonces los valores de 0 o menos se asignan al primer elemento del Alphamap. Valores iguales o superiores a la longitud del mapa Alphamap se asignan al último elemento del Alphamap (o hasta los límites del rango del tipo de dato). Los tipos de dato entero son uint8, uint16, uint32, uint64 , int8 , int16, int32 y int64.

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

Argumentos de salida

contraer todo

(objeto): Utilice im para establecer las propiedades de la imagen una vez creada. Para obtener una lista, vea Image Properties.

Más acerca de

contraer todo

Versión de alto nivel versus bajo nivel

La función imagesc tiene dos versiones, la versión de alto nivel y la versión de nivel bajo. Si utiliza imagesc con 'CData' como argumento de entrada, utilizará la versión de nivel inferior. De lo contrario, está utilizando la versión de alto nivel.

La versión de alto nivel de imagesc llama a newplot antes de trazar y establece estas propiedades de los ejes:

  • Layer a 'top'. La imagen se muestra delante de cualquier marca de garrapatas o líneas de cuadrícula.

  • YDir a 'reverse'. Los valores a lo largo del eje yaumentan de arriba hacia abajo. Para reducir los valores de arriba a abajo, establezca YDir en 'normal'. Esta configuración invierte tanto el eje ycomo la imagen.

  • View a [0 90].

La versión de bajo nivel de la función imagesc no llama a newplot y no establece estas propiedades de los ejes.

En ambas versiones, la función imagesc establece:

  • La propiedad CData del objeto Image a los valores de C.

  • La propiedad CDataMapping del objeto Image a 'scaled'.

  • La propiedad CLim del objeto Axes a los valores mínimo y máximo de C, a menos que especifique el argumento de entrada clims .

Sugerencias

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

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

Consulte también

Funciones

Propiedades

Introducido antes de R2006a