how to Scale the pixel values of the image so that the minimum value be- comes 0 and the maximum value becomes 255

30 vues (au cours des 30 derniers jours)
how to do it with loops or what function can i use

Réponses (2)

DGM
DGM le 24 Mar 2023
Modifié(e) : DGM le 25 Mar 2023
You can do this with imadjust().
outpict = imadjust(inpict,stretchlim(inpict,0));
That will work for gray or RGB images of any standard image class. The output class will be inherited from the input. If the input is RGB, each channel will be scaled independently.
There are also less convenient ways to do it
outpict = im2uint8(mat2gray(inpict));
That will work for gray or RGB images of any class, but the output will always be uint8, regardless of the input class. If the input is RGB, the entire array will be scaled as a whole.

Image Analyst
Image Analyst le 25 Mar 2023
output = uint8(rescale(inputImage, 0, 255));

Community Treasure Hunt

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

Start Hunting!

Translated by