January 17

Tutorial de MATLAB Colormap (imágenes): mapa de calor, líneas y ejemplos

Tutorial de MATLAB Colormap (imágenes): mapa de calor, líneas y ejemplos

Matthew Scyoc

Tutorial de MATLAB Colormap (imágenes): mapa de calor, líneas y ejemplos

Tabla de contenido

¿Qué es el mapa de colores de MATLAB?

Colormap es una matriz de tres colores que especifica el contenido rojo, verde y azul de los objetos gráficos, como los objetos de superficie, imagen y parche. Los valores RGB son tripletes, lo que significa que están en el orden de Rojo, Verde y Azul y pueden variar de 0 a 1. MATLAB dibuja los objetos al asignar valores de datos a colores en el mapa de colores.

Descripción

Un mapa de colores puede tener hasta 255 filas, lo que muestra cuántos valores se pueden almacenar en un solo byte. El vector triplete RBG muestra las intensidades de los tres componentes de color básicos. Un valor de  0 indica que no hay color y un valor de  1 indica intensidad completa.

Colormap map establece el mapa de colores para la figura actual en uno de los mapas de colores predefinidos. Si establece el mapa de colores para la figura, los ejes y gráficos de la figura usan el mismo mapa de colores. El nuevo mapa de colores tiene la misma longitud (número de colores) que el mapa de colores actual. Cuando utiliza esta sintaxis, no puede especificar una longitud personalizada para el mapa de colores.

Por ejemplo: Tabla 1.

Código MATLAB:

abdul = [0 0 0, %black

0 0 1,  %red

0 1 0,  %green

1 0 0] %blue

% Define a square matrix

SqMat = zeros(15,15);

SqMat(7:9,7:9) = 1;

SqMat(7:9,3:5) = 2;

SqMat(7:9,11:13) = 3;

%Display

figure(1)

colormap (abdul)

imagesc (SqMat)

Fig. 1 (a)

Nombre del mapa de colores

La siguiente tabla enumera los mapas de color predefinidos.

Tabla 2.

Crear un mapa de colores personalizado

Para crear un mapa de colores personalizado, debe especificar  map como una matriz de tres columnas de tripletes RGB donde cada fila define un color. Las intensidades deben estar en el rango de 0 a 1.

  • Cree un mapa de colores personalizado definiendo una matriz de valores de tres columnas entre 0.0 y 1.0. Cada fila define un valor de vector triplete RGB de tres elementos.
  • La primera columna especifica las intensidades rojas.
  • La segunda columna especifica las intensidades verdes.
  • La tercera columna especifica las intensidades azules. . Por ejemplo, esta matriz define un mapa de colores que contiene cinco colores.

Código Matlab:

map = [0.2 0.1 0.5

0.1 0.5 0.8

0.2 0.7 0.6

0.8 0.7 0.3

0.9 1 0];

surf(peaks)

colormap(map)

Fig. 2 (a)

Vaya a la configuración personalizada del mapa de colores encerrada en la figura 2 (b). Verás una ventana:

Fig. 2 (b)

Cómo devolver los valores del mapa de colores utilizados en la trama

Para devolver los valores de colormap, se usa el comando ‘cmap’. Pruebe el ejemplo anterior junto con el siguiente código. Primero cree un diagrama de superficie de la  peaks función y especifique un mapa de colores.

Código MATLAB:

map = [0.2 0.1 0.5

0.1 0.5 0.8

0.2 0.7 0.6

0.8 0.7 0.3

0.9 1 0];

surf(peaks)

colormap(map)

mesh(peaks);

colormap(autumn(5))

cmap = colormap

Salida de la ventana de comandos:

Fig. 3 (a)

Cómo devolver valores de mapa de colores para ejes específicos

  • El primer paso es devolver los valores del mapa de colores para ejes específicos pasando su manejador de ejes a la  colormap función.
  • Ahora cree una figura con dos subtramas y devuelva los identificadores de los ejes,  x1 y  x2. use un mapa de colores diferente para cada eje y agregue un contorno relleno para cada eje.
  • Devuelva los valores del mapa de colores utilizados en la subtrama superior pasando su identificador de ejes,,  x1 a la función  colormap.

Fig. 4. (a)

  • El mapa de colores de la figura afecta a todos los ejes en las parcelas dentro de la figura.
  • Defina un mapa de colores único para los diferentes ejes dentro de una figura.
  • Objeto de gráficos que tiene una propiedad  Colormap. Por ejemplo, puede cambiar el mapa de colores para un objeto HeatmapChart, fig. 4 (a).
  • Cada fila de la matriz define un triplete RGB que especifica un color del mapa de colores. Los valores están en el rango de 0 a 1. Los valores del mapa de colores volverán como una matriz de tres columnas de tripletes RGB.

Código MATLAB:

x1 = subplot(2,1,1);

contourf(peaks)

colormap(x1,hot(8))

x2 = subplot(2,1,2);

contourf(peaks)

colormap(x2,pink)

cmap = colormap(x1)

Fig. 4 (b)

Cambiar el mapa de colores de las imágenes importadas

  1. Importar y leer imagen:
  2. Cambie el directorio y la carpeta de búsqueda desde la opción que se muestra en la figura 5 (a).
  3. Seleccione la imagen que desea importar.
  4. El nombre de la imagen se mostrará en el lugar de trabajo.
  5. Ingrese el comando “imread (nombre de imagen. Formato de imagen)” en el símbolo del sistema.
  6. Por ejemplo: imread (xxx.PNG).

Fig.5 (a)

Fig. 5 (b)

  • Analizando el componente RGB usando el cursor de datos:
  • La imagen seleccionada se abrirá .
  • Haga clic en el botón del cursor de datos resaltado en la fig. 5 (c).
  • Haga clic en la imagen y se abrirá una ventana que muestra los valores del vector de tripletes RGB que se muestran en la fig. 5 (d).
  • Mueva el cursor sobre el área para la que desea conocer el valor.

 Fig. 5 (c)Fig. 5 (d)

Cambiar el mapa de colores de su imagen:

Seleccione la opción de mapa de color personalizado que se muestra en la fig. 2. (a).

Seleccione el mapa de colores de su elección o puede personalizarlo como se muestra en la figura 5. (e).

Fig. 5 (e)

Control de los límites del mapa de colores

Muchos tipos de combinaciones que crea, es la característica de MATLAB para asignar el rango completo de sus datos al mapa de colores. El valor más pequeño en los datos se asigna a la primera fila en el mapa de colores y el valor más grande se asigna a la última fila en el mapa de colores. Todos los valores intermedios se asignan linealmente a las filas intermedias del mapa de colores.

Incluso si el rango que elige es diferente al rango de sus datos, es posible realizar la asignación para cualquier rango que elija. La asignación predeterminada se usa principalmente en diferentes casos. Elegir un rango de asignación diferente le permite:

  • Para ver si sus datos están en el límite o más allá de los límites de ese rango.
  • Para ver si sus datos se encuentran dentro de ese rango.

Tome un ejemplo, considere la superficie  Z  = X  + Y y la condición límite es:

[–30 ≤  x  ≤ 30 y –30 ≤  y  ≤ 30].

Código MATLAB:

[X,Y] = meshgrid(-30:30);

Z = X + Y;

surf(X,Y,Z);

xlabel(‘X’);

ylabel(‘Y’);

zlabel(‘Z = C’); % C defines ‘Clim’

colorbar

Fig. 6 (a)

Cómo se relacionan los datos de trazado de superficie con un mapa de colores

En MATLAB, la superficie se define por las  coordenadas Z de puntos sobre una cuadrícula en el plano xy . Los datos de trazado de superficie describen las propiedades que controlan el color en esta presentación. La propiedad CData’ del objeto  surface contiene una matriz’ C’ que está asociada a cada punto de la cuadrícula (en la superficie) a un color en el mapa de colores. Por defecto,  Z =  C donde  Z está la matriz que contiene los valores de  z  = f ( x , y ) en los puntos de la cuadrícula. Por lo tanto, los colores varían cuando Z cambia.

[cindx,cimap,clim] = shaderel(X,Y,Z,cmap) genera el mapa de colores y los índices de color que permiten mostrar una superficie en relieve sombreado de color. Los colores son proporcionales a la magnitud de  Z pero se encuentran en los tonos de gris basados en las normales de la superficie para simular la iluminación de la superficie. Esta representación permite ver diferencias tanto a gran como a pequeña escala X,  Y y  Z define la superficie.

La propiedad CLim’ para gráficos de superficie, parches, objetos gráficos o cualquier imagen que use un mapa de colores se puede personalizar. Los valores Z determinan una superficie de líneas de cuadrícula X e Y y rellenan el color de un mapa de colores. Sin embargo, esta propiedad solo afecta a los objetos gráficos que tienen establecida la propiedad CData mapping  ‘scaled’. Si se establece en  ‘direct’, entonces todos los valores de ‘ C’ índice se dirigirán al mapa de colores sin ninguna escala.

  •  Los valores de C’ que son menores que 1 se recortan y se muestran como el primer color en el mapa de colores.
  •  Los valores de C’ mayor que la longitud del mapa de colores se recortan y se muestran como el último color en el mapa de colores.

Asegúrese de que su recorte esté configurado en ‘ON’.

Fig. 9 (a)

Conclusión

El comando ‘Colormap’ en el software MATLAB se puede usar para los siguientes propósitos:

  • Tiene la función de editar esquemas de color de una imagen, figura, parcelas, mallas, etc. Podemos aislar un solo color de cualquier imagen, mientras que todos los demás colores están establecidos en 0.
  • Podemos encontrar el valor del vector RBG en cualquier punto de una imagen en particular. Esto es útil en el procesamiento de imágenes.
  • Podemos crear nuestros propios efectos de filtro para crear una imagen hermosa.

Referencias

Loved this? Spread the word


About the Author

Matthew is owner of Sunglass.io. He employs a close-knit group of engineers to develop the technical content on the site, but is passionate about everything engineering. Matthew loves the future of 3D modeling and wants to push for more helpful, useful tools for the engineering community. Feel free to reach out to him directly on the Contact page or on LinkedIn!

Matthew Scyoc

Related posts

La mejor computadora portátil para SOLIDWORKS en 2019: precio, revisión, especificaciones recomendadas

​Read More

El mejor software de modelado 3D en 2019: todo lo que debes saber

​Read More

La mejor computadora portátil para modelado y renderizado 3D en 2019: todo lo que necesitas saber

​Read More

[2019] Las mejores computadoras portátiles para estudiantes de ingeniería

​Read More
{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Subscribe to our newsletter now!