Plot an array greyscale but certain pixels marked in red

1 view (last 30 days)
I have an MxN array of integers that makes an image that can be plotted with imagesc. I'd like to plot the whole image with greyscale but plot all pixels that have value X in red. Any thoughts?

Accepted Answer

Walter Roberson
Walter Roberson on 24 Jan 2012
mymap = gray; %copy the grayscale map
mymap(SomeIndex,:) = [1 0 0]; %set one particular entry to be red
imagesc(YourImage);
colormap(mymap);
This code does require that you figure out what map index the value X will be mapped to by imagesc.
There are alternatives involving overlaying a red image of exactly the same size that is transparent everywhere except for the places X is. This requires OpenGL (no other renderer handles transparency)
  1 Comment
Jason
Jason on 24 Jan 2012
I knew it had to be easy, but I didn't know it was that easy to create a customized color map. Thanks Walter, great answer!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!