RGB32 To Grayscale 12 bit conversion

1 Ansicht (letzte 30 Tage)
manoj sambasivam
manoj sambasivam am 23 Apr. 2012
Can anyone help to convert a 32 bit RGB format to 12 bit Grayscale format . It is possible in Matlab ??

Akzeptierte Antwort

Image Analyst
Image Analyst am 23 Apr. 2012
Here's one way:
rgbImage8Bit = imread(fullFileName);
grayImage = rgb2gray(im2double(rgbImage8Bit));
% It's still in the original range.
% Scale it to be in the larger 16 bit image range.
grayImage = uint16(grayImage * 65535);
fprintf('The class of grayImage is %s.\n', class(grayImage));
but that's not the same as having a 16 bit grayscale camera like you were asking about in your other post.
  1 Kommentar
manoj sambasivam
manoj sambasivam am 24 Apr. 2012
Its is coming in 16bit as u said, but how to get it in 12-bit .If i multiply with 4095 instead of 65535 also it doesnot show any image .

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 10 Mai 2012
RGB32 cannot be used to create 12 bit grayscale images. RGB32 uses 10 bits for one of the channels, and either 10 bits or 11 bits for the other channels, for a total of either 30 or 32 bits. All three channels need to be 12 bit in order to produce a 12 bit grayscale image.

Community Treasure Hunt

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

Start Hunting!

Translated by