Colormap function is not working (color does not change)

Hello everyone,
Since I updated my Matlab version from 2015a to 2016b, the colormap function does not make any change to my images as they are still shown in their original grey and white color. It was not like this in version 2015a. I would appreciate it if someone could help me. Thanks

5 Comments

The description of your problem is too vague, since not many people will have encountered it. Could you please add more details, maybe some example code that lets us reproduce your issue?
you should use the right expression of colormap function. Ex: colormap([1 1 1]) is black-white color. But it doesn't affect to an image because the image has already brought it's color.
Marc Jakobi Ok. I have some grey and white images which I like to make colorful for visualization purposes. The function 'colormap' does not make any change to my images, unlike in version 2015a. This is the code:
pathname_CT = uigetdir('...');
X_CT = dir(fullfile(pathname_CT,'*.ima'));
dicomfiles_CT = {X_CT.name}; crop_dim = [220 45 287-220 466-45]; CT_Scan1 = cell(12,1);
for i=1:12 name_CT = char(dicomfiles_CT(i)); A=dicomread([pathname_CT '\' name_CT]); CT_Scan1{i}=imcrop(A,crop_dim); end figure(1) imshow(CT_Scan1{1}); colormap(jet); imcontrast;
Nguyen Huudat Yes my images are originally grey and white but they should become colorful with this function.
Consider that they are CT scan images, not plots

Sign in to comment.

Answers (2)

You need to pass the axes handle in explicitly starting with R2016b otherwise it won't change. For example
colormap(handles.axes1, myColorMap);

4 Comments

My images are CT scan images, not plots. What is the axis in this case?
What is the name ("tag") of the control on your GUI that you are displaying your image in? How are you displaying it? If you want to apply it to the last axes you showed any image in, try this:
colormap(gca, myColorMap);
Doesn't work on 2017a.
It works fine in R2017a

Sign in to comment.

figure(1)
AxesH = axes;
imshow(CT_Scan1{1}, 'Parent', AxesH);
colormap(AxesH, jet);
Note than imshow accepts the argument 'Colormap' directly also.

Asked:

on 25 Oct 2016

Community Treasure Hunt

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

Start Hunting!