How to reduce grayscale levels ?
34 views (last 30 days)
Show older comments
Mohab Mostafa
on 27 Apr 2015
Commented: Image Analyst
on 4 Jan 2018
I have an RGB image, converted it into Grayscale image X = imread('lena.bmp'); Y = rgb2gray(X); now the image is represented by 8 bits (256 levels) and i want to quantize this image "Y" by reducing the grayscale levels to 32 (5 bits), how to do that ?
i know i can show the image like this imshow(Y,colormap(gray(32))); but that will just show the image with 32 levels and i want to save it in a variable not just showing it off
0 Comments
Accepted Answer
Image Analyst
on 27 Apr 2015
Use imquantize() or just divide the image by 8.
Y32 = Y / 8;
10 Comments
soe
on 4 Jan 2018
For image Y, to convert from 256 levels to 32 levels, the values should be 0 to 31. But Y/8 may be 0 to 32. (e.g. 255/8 = 31.875 becomes 32). So, how can i solve this problem?
More Answers (0)
See Also
Categories
Find more on Modify Image Colors in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!