how to convert gray image to color image

8 次查看(过去 30 天)
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 个评论
Image Analyst
Image Analyst 2012-8-25
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!

请先登录,再进行评论。

采纳的回答

venkat vasu
venkat vasu 2012-8-25
编辑:Walter Roberson 2012-8-26
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...

更多回答(3 个)

Titus Edelhofer
Titus Edelhofer 2012-8-25
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 个评论
Image Analyst
Image Analyst 2012-8-25
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);

请先登录,再进行评论。


Azzi Abdelmalek
Azzi Abdelmalek 2012-8-25

fereshte
fereshte 2014-5-24
hi,i tested all codes in this post for my image.but output was gray image.why?
  4 个评论
Image Analyst
Image Analyst 2014-5-24
Please post your image and your code as a new question.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Images 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by