How to transform 16-bit pixels into 8-bit pixels ?
5 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Walter Roberson
2018-4-12
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!