how to convert 24 bit depth images into 8 bit depth and 16 bit depth images.
34 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
ajay kumar
il 5 Dic 2013
Commentato: Image Analyst
il 4 Feb 2020
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 Commenti
Risposta accettata
Image Analyst
il 5 Dic 2013
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 Commenti
Image Analyst
il 4 Feb 2020
You're welcome. The usual thing to do is click the link to "Accept this answer". Thanks in advance.
Più risposte (1)
Walter Roberson
il 5 Dic 2013
Divide by 256 to get 16 bit images, and divide by 256 again to get 8 bit images.
0 Commenti
Vedere anche
Categorie
Scopri di più su Convert Image Type in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!