How to transform 16-bit pixels into 8-bit pixels ?

5 vues (au cours des 30 derniers jours)
nur aqila
nur aqila le 12 Avr 2018
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?

Réponses (1)

Walter Roberson
Walter Roberson le 12 Avr 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

Catégories

En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by