How to change 1 channel image to 3 channel

I have several grayscale images with channel 1, then I want to convert it to RGB channel 3 image, how do I change it?

 Risposta accettata

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 Commenti

this is very helpful, thank you!!
Thanks a lot.
It's very helpful.

Accedi per commentare.

Più risposte (1)

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

Categorie

Scopri di più su Image Processing and Computer Vision in Centro assistenza e File Exchange

Prodotti

Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by