How do I specify a specific color for a specific value when using the colormap?
31 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have a matrix that I would like to plot using imagesc. I have done this and then used one of the standard colormaps (jet, summer, etc.). My matrix is a 75x75 matrix and the matrix consist of only five different values that I would like to plot in five specific colors.
For example -1 = blue, 3 = green, 4 = grey, 5 = Brown and 10 = red.
I have only managed to create a range of colors by using the standard colormaps (ranging from blue to red for example). I tried to create my own colormap, however I could only involve three different colors. When I tried to involve four colors I received an error saying that there was something wrong with my dimensions.
In Excel this is very simple and I guess it's the same in Matlab and that I'm missing something very basic here?
2 commentaires
Geoff Hayes
le 23 Août 2018
Robin - how did you construct your custom colormap? Something like
customColormap = [0 0 1; 0 1 0; 0.5 0.5 0.5; 0.5 0 0; 1 0 0];
Réponse acceptée
Image Analyst
le 23 Août 2018
Try this:
% Create indexed image.
indexedImage = randi(10, 75, 75);
% Set values other than 1, 3, 4, 5, 10 to 1.
indexedImage(indexedImage == 2 | (indexedImage >= 6 & indexedImage <= 9)) = 1;
% Now we have a sample image like the poster has.
subplot(1, 2, 2);
histogram(indexedImage);
grid on;
% Create colormap with special colors for 1, 3, 4, 5, and 10
% and black for any other values (of which there shouldn't be any).
cmap = zeros(10, 3);
cmap = [0, 0, 1; ... % Blue for 1
0, 0, 0; ... % Black for 2
0, 1, 1; ... % Green for 3
0.5, 0.5, 0.5; ... % Gray for 4
0.5, 0.5, 0; ... % Brown for 5
0, 0, 0; ... % Black for 6
0, 0, 0; ... % Black for 7
0, 0, 0; ... % Black for 8
0, 0, 0; ... % Black for 9
1, 0, 0] % Red for 10
% Display the image with the colormap applied.
subplot(1, 2, 1);
imshow(indexedImage, cmap);
axis on;
colorbar(gca);

Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Color and Styling dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!