How to plot colorbar as seperate image?

14 Ansichten (letzte 30 Tage)
David Weller
David Weller am 4 Feb. 2020
Kommentiert: David Weller am 5 Feb. 2020
Hi, I would like to plot the colorbar of an image not next to my image, but in a seperate figur window. Therefore the colorbar should even be plotted in the size of an image.
I am looking for something like this:
min_val=min(example_img(:));
max_val=max(example_img(:));
figure(1),
imshow(example_img,[min_val max_val]); %show the image, but without colorbar
h=colorbar
%do something to prevent showing the colorbar in figure(1)
colorbar_img=get_colorbar_img(h) %do something to get an image that shows the %colorbar and has the same size as example_img
figure(2)
imshow(colorbar)
thanks for you help!

Akzeptierte Antwort

TADA
TADA am 4 Feb. 2020
Bearbeitet: TADA am 4 Feb. 2020
I assume your image is grayscale, right?
If I understand you correctly:
min_val=min(example_img(:));
max_val=max(example_img(:));
figure(1);
imshow(example_img, [min_val, max_val]);
% setting the color map of the image to whatever we want
% I chose parula here but you can use whatever colormap
set(gca, 'colormap', parula);
% this generates a single column colorbar the same height as your image
% mapping colors to your image values between the calculated minimum and maximum
% because you wanted it as an image i translated it back to uint8
colorColumn = uint8(linspace(double(min_val), double(max_val), size(example_img, 1))');
% this will stretch the color-bar to the same width as your image
colorBarIm = repmat(colorColumn, 1, size(example_img, 2));
% this will display the color bar image on a second figure
figure(2);
imshow(colorBarIm);
% flip the axis view point because images are shown from top to bottom
% but colorbars are displayed bottom-up
view(180, 90);
% setting the color map of the colorbar image to match the one
% we set for the actual image
set(gca, 'colormap', parula);
% You probably also want to show the values corresponding to the colormap
axis on;
% remove the x tick marks because they are usually meaningless ona colorbar
xticks([]);
  1 Kommentar
David Weller
David Weller am 5 Feb. 2020
Wow, thanks a lot for helping me out so fast :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Colormaps finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by