Imagesc change "background" color

38 views (last 30 days)
martin martin
martin martin on 30 Mar 2019
Answered: DGM on 24 Aug 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

Answers (2)

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

DGM
DGM on 24 Aug 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)

Categories

Find more on Colormaps in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!