I would like to be able to show an image like the example below, but instead make a fake color scale that is not related to the image values. The scale would ideally look like a colorbar, but I would choose the number of colors in the scale, the text label of each color, and its RGB value. My example below might have 4 color patches: 'Red Pepper' [194 24 25], 'Green Pepper' [157 153 47], 'Purple Cloth' [134 94 157], and 'White Garlic' [255 255 255]. Or it could have a different number of color patches. I do not want to do any image processing on the image, just annotate it. Is this possible?
figure;I = imread('peppers.png'); % Read in example image
imshow(I); % Show image
colorbar; % Not what we want, since it is a continuous color map which is automatically labelled 0, 0.2, 0.4, ...1
% Instead we want a color scale with with the color patch RGB values and text labels supplied by the user
Best Answer