How to transform 16-bit pixels into 8-bit pixels ?
5 views (last 30 days)
Show older comments
Hi, I want to ask. I already constructed a coding which can only process 8-bit image(grayscale). But my problem right now some image contains 16-bit pixel, which is above 255. I want to detect the pixels that are above 255 and I want to reduce it into 8-bit, I'm not gonna transform the full image into 8-bit because this will affect my image quality. How to construct the coding that can detect pixel that is above 255?
0 Comments
Answers (1)
Walter Roberson
on 12 Apr 2018
If you want to reduce the high pixels to 255, then you can just uint8() the array. That will have the same effect as
uint8( min(255, TheArray) )
Otherwise you can use
mask = TheArray > 255;
TheArray(mask) = ... whatever, maybe mod(TheArray(mask), 256)) maybe something else
0 Comments
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!