Add colorbar of colored plot on grayscale image

6 Ansichten (letzte 30 Tage)
Xiaozhun Tang
Xiaozhun Tang am 6 Mai 2019
Kommentiert: Xiaozhun Tang am 7 Mai 2019
I have a grayscale image and draw a colored scatter plot on it,but the colorbar just vary from blcak to white,i wanna know how to show the colorbar of the scatter plot but not grayscale image.

Akzeptierte Antwort

Bjorn Gustavsson
Bjorn Gustavsson am 6 Mai 2019
Something like this:
% Assuming your grayscale image is: d in double format
grayscaleIM(:,:,3) = (d-min(d(:)))/(max(d(:))-min(d(:)));
grayscaleIM(:,:,2) = (d-min(d(:)))/(max(d(:))-min(d(:)));
grayscaleIM(:,:,1) = (d-min(d(:)))/(max(d(:))-min(d(:)));
figure
colormap(jet)
imagesc(x,y,grayscaleIM)
hold on
scatter(X,Y,23,V,'filled')
colorbar
Perhaps you have your data in some other formats but you can easily produce an RGB-image that only shows gray-scale or a binary black-white image regardless of what colourmap you use. Then the scatter-plot will work with the current colormap, as should the colorbar.
HTH
  1 Kommentar
Xiaozhun Tang
Xiaozhun Tang am 7 Mai 2019
Thanks a lot for your answer! I achieve my aim by using your code. I used command 'imshow' to display the image before but without establishing RGB color-space like the first three lines of your code, so I produced a grayscale image or bingary image but not an RGB image. I ignore this before and I really appreciate your help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by