how to converty gray image to color image?

Answers (1)

Depending on what you want the gray to be....
grayImage = rgb2gray(rgbImage);
OR
grayImage = rgbImage(:, :, 1); % Extract red channel.
grayImage = rgbImage(:, :, 2); % Extract green channel.
grayImage = rgbImage(:, :, 3); % Extract blue channel.

4 Comments

Hi Image Analyst. Thanks !! But i should get a color image from a gray image.
There is no general solution to this problem, as you lose color information when converting from color to gray in the first place. That is, there is no unique RGB triplet (e.g. [123 120 255]) that corresponds to a given gray level (e.g. [70 70 70]).
You can apply a false-color rendering of the image using a colormap, but keep in mind that this will not accurately render the colors of the original object.
To build on Matt's answer, here is a reference for colormaps in Matlab: http://www.mathworks.com/help/matlab/ref/colormap.html
Sorry. I didn't notice, since this is much much less common than the other way. You can use cat() or ind2rgb():
rgbImage = cat(3, grayImage, grayImage, grayImage);
rgbImage = ind2rgb(grayImage, cmap); % e.g. cmap = gray(256)

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!