Problem 2542. Convert a grayscale image into RGB colour format, preserving data type

In the Image Processing Toolbox, MATLAB provides

rgb2gray

to convert a 3 channel color image into a 1 channel intensity (grayscale image). But not the other way around. Sometimes it is useful to have an intensity image represented in the 3 channel colour format.

Write a function to convert an input grayscale image into an equivalent RGB image, ensuring that the datatype of the input image matrix is preserved.

Example:

grayImg = [1 2 3; 4 5 6; 7 8 9];
rgbImg = gray2rgb(grayImg);
rgbImg(:,:,1) = [1 2 3; 4 5 6; 7 8 9];
rgbImg(:,:,2) = [1 2 3; 4 5 6; 7 8 9];
rgbImg(:,:,3) = [1 2 3; 4 5 6; 7 8 9];

Solution Stats

74.07% Correct | 25.93% Incorrect
Last Solution submitted on Oct 24, 2023

Problem Comments

Solution Comments

Show comments

Problem Recent Solvers33

Suggested Problems

Problem Tags

Community Treasure Hunt

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

Start Hunting!