Customizing colourmap for display

I have a matrix consisting of only the following values, 0, 1 and 2. I want to visualize the matrix by using the following colour code, green for 0, yellow for 1 and red for 2. How do I go about doing this? Any help will be appreciated.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 8 de Sept. de 2018
Cmap = [0 1 0; 0 1 1; 1 0 0];
image(uint8(YourMatrix)) ;
colormap(Cmap) ;

2 comentarios

Diptangshu Sen
Diptangshu Sen el 9 de Sept. de 2018
Thanks Walter for your speedy response. It works perfectly. But, could you elaborate on how you constructed the Cmap matrix and how I can extend it for a larger number of types of entries, 5 for example. Thanks in advance.
Walter Roberson
Walter Roberson el 9 de Sept. de 2018
You just need to create an N x 3 matrix. Each entry should be in the range 0 (off) to 1 (fully on). The first column is for Red, the second for Green, the third for Blue (RGB).
When you image() a uint8, uint16, uint32, uint64 , int8, int16, int32, or int64 matrix instead of a double matrix, then the value 0 is mapped to the first color, the value 1 is mapped to the second color, and so on.
The rules are slightly different if the values are double or single: in that case by default the value 1 is mapped to the first color, the value 2 is mapped to the second color, and so on.
This mapping does not apply if the image data is 3D.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

el 8 de Sept. de 2018

Comentada:

el 9 de Sept. de 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by