MATLAB Answers

how to convert gray image to color image

300 views (last 30 days)
Image=imread('fog1.bmp');
[m n r]=size(Image)
rgb=zeros(m,n,3);
rgb(:,:,1)=Image;
rgb(:,:,2)=rgb(:,:,1);
rgb(:,:,3)=rgb(:,:,1);
Image=rgb/255;
figure,imshow(Image);
I am getting error in the line rgb(:,:,1)=Image;
Can anyone tell whats the error

  2 Comments

Image Analyst
Image Analyst on 25 Aug 2012
Siva, you've been asking enough questions here that you should learn how to format lines as code. Here's a tip: Just simply highlight the lines of code and click the {}Code icon above the text box. That will format it so that we will see it properly. I've done it for you this time but try to do it yourself next time - it's not hard. Thanks!
Sivakumaran Chandrasekaran
Thanks Image Analyst. I shall follow it

Sign in to comment.

Accepted Answer

venkat vasu
venkat vasu on 25 Aug 2012
Edited: Walter Roberson on 26 Aug 2012
Image=imread('fog1.bmp');
if size(Image,3)==3
Image=rgb2gray(Image);
end
[m n r]=size(Image);
rgb=zeros(m,n,3);
rgb(:,:,1)=Image;
rgb(:,:,2)=rgb(:,:,1);
rgb(:,:,3)=rgb(:,:,1);
Image=rgb/255;
figure,imshow(Image);
Try this code...

More Answers (3)

Titus Edelhofer
Titus Edelhofer on 25 Aug 2012
Hi,
what's the value of r? One? Or three? I guess your Image is already an RGB image, only that R, G and B are always equal (and therefore you have gray) ...
Titus

  2 Comments

Image Analyst
Image Analyst on 25 Aug 2012
So the proper code would most likely be:
rgbImage = imread('fog1.bmp');
[rows columns numberOfColorChannels] = size(rgbImage);
if numberOfColorChannels == 1
% It's monochrome, so convert to color.
rgbImage = cat(3, rgbImage, rgbImage, rgbImage);
end
imshow(rgbImage);

Sign in to comment.



fereshte
fereshte on 24 May 2014
hi,i tested all codes in this post for my image.but output was gray image.why?

  4 Comments

Show 1 older comment
fereshte
fereshte on 24 May 2014
thanks.for jpg images, this code return me color image but for bmp color image give me graye image. original images are color(red.green.blue).i apply them in my code but output images were gray!! i use above codes to convert them to color image but output was gray image again.how correct it?
Image Analyst
Image Analyst on 24 May 2014
Please post your image and your code as a new question.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!