Clear Filters
Clear Filters

How to have colourful contours superimposed on a grayscale (imshow) background?

3 views (last 30 days)
Hi! I need to create contours (with the ordinary colorbar) superimposed on a grayscale image, which I have plotted using imshow. The contours tend to appear in white. Is there any way to give them colours?
Here is my code:
Brain=load('Raw.mat');
background=mat2gray(Brain(:,:,26));
figure
imshow(background)
hold on
densities=[1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8000];
contour(volume(:,:,26),densities)
hold off

Accepted Answer

Chad Greene
Chad Greene on 12 May 2016
Edited: Chad Greene on 12 May 2016
Here's one way. If you turn the background matrix into RGB values, imshow won't try to attach the background image to the current colormap.
bg = ind2rgb(imread('cameraman.tif'),gray(256));
imshow(bg)
hold on
contour(peaks(256))

More Answers (1)

Zohreh Khazraei Manesh
Zohreh Khazraei Manesh on 13 May 2016
Edited: Zohreh Khazraei Manesh on 13 May 2016
Thank you for your super fast response Chad!
The solution is smart and works perfectly!

Community Treasure Hunt

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

Start Hunting!