Creating a custom colormap with a specific range of colors

7 views (last 30 days)
Hello. I have written a code that creates a matrix filled with values ranging from -127 to 127 and distributed like a sinusoid. The imagesc function creates an image like the one I attached. Now I need to make a colormap so that I can input 2 variables that let me change the colors so that if I take a (for example) -50 to 50 range the image would start and end with shades of gray (-127 is supposed to be always black, 127 should always be white and the shades of gray are supposed to be taken from this range). Any help regarding the creation of the colormap, as I've had some problems with it myself, would be appreciated.
  1 Comment
Image Analyst
Image Analyst on 28 Sep 2021
Not sure I understand. So would you want colors between -50 and 50 and gray scale outside that range?

Sign in to comment.

Answers (1)

Johannes Fischer
Johannes Fischer on 28 Sep 2021
Edited: Johannes Fischer on 28 Sep 2021
I'm not sure I understand your problem correct, but does
% create matrix with vals -50 50
matrix = 100 * (rand(100, 100) - 0.5);
imagesc(matrix, [-127 127])
colormap(gray)
do the trick for you?
  1 Comment
Filip Juchnicki
Filip Juchnicki on 28 Sep 2021
Nope. You just created a matrix with random numbers from -50 to 50. I need a custom colormap so that I can put it over the image I attached so that the colors start and end with a certain shade of gray.
In the image u can see the brightest color to be white and the darkest to be black. I want to be able to create an image that has only gray. And the shade of gray needs to be determined by a variable. I think I need to use meshgrid and colormap functions but I'm not sure how.

Sign in to comment.

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!