Azzera filtri
Azzera filtri

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

3 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Chad Greene
Chad Greene il 12 Mag 2016
Modificato: Chad Greene il 12 Mag 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))

Più risposte (1)

Zohreh Khazraei Manesh
Zohreh Khazraei Manesh il 13 Mag 2016
Modificato: Zohreh Khazraei Manesh il 13 Mag 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!

Translated by