How can I reset the colored image after I converted into grayscale?
3 views (last 30 days)
Show older comments
I have 4.jpg as image.1st i am converting it into grayscale to apply imhist(). I am getting grayscale enhanced image as output but I need the enhanced colored image as output. How to do that? I tried using colormap as shown in code below. But its not working
I = imread('4.jpg');
imshow(I)
R = rgb2gray(I);
figure
imshow(R)
in = histeq(R);
figure;
imshow(in);
figure;
imhist(in);
y=colormap(hot(110));
imwrite(R,y,'4.jpg','jpg');
imshow('4.jpg');
% I=imread('4.jpg');
% R=rgb2gray(I); % It is gray now
% % y=colormap(hot(110));
% % imwrite(R,y,'rgb.jpg','jpg'); % Re-change it to colored one
% % T=imread('rgb.jpg');
%
% imshow(T);
% imshow('4.jpg');
0 Comments
Accepted Answer
Guillaume
on 14 Aug 2017
Nothing is stopping you from performing histogram equalisation on each colour channel, if that's what you're after:
rgbimage = imread('4.jpg');
equalisedimage = rgbimage; %copy for simplicity
for channel = 1:3 %iterate over the 3 colour channel
equalisedimage(:, :, channel) = histeq(rgbimage(:, :, channel)); %apply histogram equalisation to each channel
end
imshowpair(rgbimage, equalisedimage, 'montage');
I would advise you to use meaningful variable names as I've done here instead of your meaningless (and misleading!) one letter variable names.
2 Comments
Image Analyst
on 14 Aug 2017
By the way, histogram equalization tends to give crummy looking images and is rarely if ever needed. For example you don't need to do it prior to doing things like thresholding, etc. I've never needed to use it in 40 years of image processing.
More Answers (0)
See Also
Categories
Find more on Modify Image Colors in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!