Imagesc change "background" color

28 vues (au cours des 30 derniers jours)
martin martin
martin martin le 30 Mar 2019
Réponse apportée : DGM le 24 Août 2023
Hello guys,
I have a simple question, how can I set "background" color to white? Or how can I set a color of points with a specific value - for example all ones will be white.
Best regards
a = rand(50);
b = zeros(10,50);
c = [b; a; b];
imagesc(c)
colormap jet
Výstřižek.PNG

Réponses (2)

Image Analyst
Image Analyst le 30 Mar 2019
Use a different colormap
cmap = jet(256);
% Make lowest one black
cmap(1,:) = 0;
colormap(cmap);

DGM
DGM le 24 Août 2023
If you're using MIMT, this becomes simple. Just construct the image in whole and display it. Don't try to deal with conditionally colormapping different parts of an image.
% inputs
A = rand(50); % a 2D array on any arbitrary scale
padw = [10 0]; % [y x]
padcolor = [0.7 0 1]; % any I/IA/RGB/RGBA color tuple
CT = parula(256); % a colormap
% create pseudocolor image in RGB
outpict = gray2pcolor(A,CT,'cdscale'); % same quantization as imagesc()
% add custom colored border/padding
outpict = addborder(outpict,padw,padcolor);
% display it
image(outpict)

Catégories

En savoir plus sur Blue 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!

Translated by