Clear Filters
Clear Filters

How to change 1 channel image to 3 channel

31 views (last 30 days)
I have several grayscale images with channel 1, then I want to convert it to RGB channel 3 image, how do I change it?

Accepted Answer

Image Analyst
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.

More Answers (1)

DGM
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]);

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!