convert gray image back to rgb
650 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
zzz
el 14 de Mzo. de 2013
Comentada: DGM
el 15 de Jun. de 2023
how to back grat to rgb gray2rgb function not found
3 comentarios
AliHdr
el 30 de Oct. de 2021
I have done this but i can not use imwrite anymore
there is and error
<<Data with 9 components not supported for JPEG files.>>
how can I overwrite new rgb file with old gray file?
Image Analyst
el 31 de Oct. de 2021
@AliHdr evidently JPG can't store multispectral or volumetric images. Either use a mat file or save each slice as its own image.
Respuesta aceptada
Image Analyst
el 14 de Mzo. de 2013
If you have a color map - a mapping of what intensity should go to what color, like what imread() or rgb2ind() can give you - then you can use ind2rgb.
rgbImage = ind2rgb(grayImage, colormap);
Otherwise use
rgbImage = cat(3, grayImage, grayImage, grayImage);
grayImage needs to be in the range 0-255 uint8 if you want to display it.
3 comentarios
Alexandar
el 1 de Jul. de 2022
What do you mean by create a colormap and how can you do it within the scales that you'd like?
Image Analyst
el 1 de Jul. de 2022
@Alexandar There are a bunch of built-in colormap functions such as hsv, turbo, and jet. Or you can make up your own 256 by 3 matrix with values in the range 0-1.
Más respuestas (3)
Shaun VanWeelden
el 14 de Mzo. de 2013
Alternatively
rgb=img(:,:,[1 1 1]); does the same thing as Jan's, but is a little shorter maybe and easier to remember. img is your image you want to convert to rgb obviously
4 comentarios
Image Analyst
el 18 de Nov. de 2016
No, that throws an error if img is a gray scale image since there is no third dimension for gray scale images.
Jan
el 14 de Mzo. de 2013
Asking Google for "Matlab gray2rgb" would be a good idea.
But a general method is:
RGB = cat(3, Gray, Gray, Gray);
4 comentarios
Walter Roberson
el 2 de Jul. de 2022
sample_logical_2d = rand(64,80) > 0.8;
imshow(sample_logical_2d)
sample_logical_3d = cat(3, sample_logical_2d, sample_logical_2d, sample_logical_2d );
try
imshow(sample_logical_3d)
catch ME
fprintf('oooo! imshow did not like 3D logical!')
disp(ME)
end
sample_double_3d = double(sample_logical_3d);
imshow(sample_double_3d)
shehbaz Ali
el 14 de Mzo. de 2013
This is not possible to to convert black and white image to gray image. Because you don't what will be colors of any pixel for rgb picture.
5 comentarios
Walter Roberson
el 14 de Jun. de 2023
You cannot gain information when you convert black and white to grayscale, or grayscale to color -- but you can create the grayscale or color image with the same amount of information.
Ver también
Categorías
Más información sobre Convert Image Type en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!