I need to overlay a color map over a gray scale image with with the colorbar on the side.
46 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I know there are similar post but I was unable to get them working. Attached is one matfile which contains 2 variables. I would like the colormap (Tmap) overlayed on a gray-scaled imaged on the variable 'x'. I also need all the zeroes not to show and and a colorbar shown on the side. Thanks for the assistance. You can see what I tried to do to get it working. Thanks for the help.
figure; imagesc(Tmap); colormap(jet); colorbar;
mask=Tmap>0;
figure; imshow(mask);
overlayImage=gray2ind(double(Tmap)/max(Tmap(:)),128);
overlayRGB=ind2rgb(overlayImage,jet(128));
x=im2double(x);
x=gray2ind(double(x)/max(x(:)),128);
vvv=[37 45]; %Set the colorbar axis
h=subimage(x);
set(h,'AlphaData',mask);
imagesc(Tmap);colormap(jet);colorbar; caxis(vvv);
hold on;
h=subimage(x);
set(h,'AlphaData',~mask)
h=gcf;
saveas(h,'NiceTherm')
0 commentaires
Réponse acceptée
Teja Muppirala
le 20 Déc 2017
Something like this maybe?
figure;
ax1 = axes;
imagesc(x);
colormap(ax1,'gray');
ax2 = axes;
imagesc(ax2,Tmap,'alphadata',Tmap>0);
colormap(ax2,'jet');
caxis(ax2,[min(nonzeros(Tmap)) max(nonzeros(Tmap))]);
ax2.Visible = 'off';
linkprop([ax1 ax2],'Position');
colorbar;
3 commentaires
M J
le 26 Août 2019
Thank you, this works for me!
However, I fail to do this in a subplot. Can you help me with this?
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Blue dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!