How to change 1 channel image to 3 channel
31 views (last 30 days)
Show older comments
I have several grayscale images with channel 1, then I want to convert it to RGB channel 3 image, how do I change it?
0 Comments
Accepted Answer
Image Analyst
on 13 Dec 2019
Try cat() to stack the gray scale image into 3 slices (color channels):
rgbImage = cat(3, grayImage, grayImage, grayImage);
It will be an RGB image though the only colors will be gray since there is no difference between the three different color channels. It will be a 3-D image with the z-direction (third index) being the color channel index.
2 Comments
More Answers (1)
DGM
on 2 May 2022
Alternative to using cat(), the same can also be done a couple other ways.
You can use repmat()
rgbpict = repmat(graypict,[1 1 3]);
... or you can even use basic indexing:
rgbpict = graypict(:,:,[1 1 1]);
0 Comments
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!