how to convert 24 bit depth images into 8 bit depth and 16 bit depth images.
22 次查看(过去 30 天)
显示 更早的评论
i have 24 bit depth images. but i need them in 8 bit depth and 16 bit depth format. can any one sugest how to convert them.
how to convert 24 bit depth images into 8 bit depth and 16 bit depth images.
0 个评论
采纳的回答
Image Analyst
2013-12-5
Is your 24 bit depth image a color image? Probably because there is no 24 bit integer in MATLAB. There is a 32 bit signed integer and you may be using up only the lower 24 bits of that because your values only go from 0 to 16,777,215. If you have that situation then divide by 256 to get 16 bit integers or divde by (256*256) to get uint8 images. There are other ways , to convert an integer gray scale image , such as using mat2gray or simple scaling:
image8bit = uint8(255 * mat2gray(image24bit))
This scaled between the max and min of the image rather than using a fixed range like dividing by 256 will do. It just depends on what range you want your output in.
Or if you have a 24 bit color RGB image , you can use rgb2gray:
image8bit = rgb2gray(rgbImage);
or take out just one color channel
image8bit = rgbImage(:, :, 2); % Extract the green channel.
2 个评论
Image Analyst
2020-2-4
You're welcome. The usual thing to do is click the link to "Accept this answer". Thanks in advance.
更多回答(1 个)
Walter Roberson
2013-12-5
Divide by 256 to get 16 bit images, and divide by 256 again to get 8 bit images.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Convert Image Type 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!