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
Problem Comments
-
1 Comment
Really, you need to add more test cases. You're not even testing that your condition of 'ensuring that the datatype of the input image matrix is preserved' has been fulfilled.
Solution Comments
Show commentsProblem Recent Solvers35
Suggested Problems
-
Return the 3n+1 sequence for n
8390 Solvers
-
Project Euler: Problem 1, Multiples of 3 and 5
3462 Solvers
-
Project Euler: Problem 10, Sum of Primes
1929 Solvers
-
Getting the indices from a vector
11005 Solvers
-
738 Solvers
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!