How to find mean gray level in gray scale image

I'm trying to find gray level of a gray scale image. I came through this in one of the questions you answered
X = imread(image);
imshow(X);
minGL = min(X(:));
maxGL = max(X(:));
meanGL = mean(X(:));
but its giving me same answer for every gray scale image i.e

3 Commenti

Can you post (not as picture) the exact code you're using. It's hopefully not what you've shown above since you're assigning the min, max and mean to variables minGL, maxGL and meanGL respectively, while you're showing us three times the content of a different variable.
i'm getting result meangraylevel .. because i've saved the matlab file with that name .. i'm not getting min , max n mean as the result
KSSV
KSSV il 24 Mar 2017
Modificato: KSSV il 24 Mar 2017
Clear the workspace using clear all and run the code.

Accedi per commentare.

Risposte (2)

Thorsten
Thorsten il 24 Mar 2017
If you write a script and call it 'meangraylevel.m', that script changes only the variables that you use in the script, but not a variable that has the same name as the script. You should write a function instead.
Image Analyst
Image Analyst il 24 Mar 2017
I don't know what you're running but you're not running meangraylevel.m. How do I know? Well, you don't have any semicolon after the lines where you compute minGL and maxGL yet those are not being echoed to the command window.
Next, you do have a semicolon after the line where you compute meanGL so that will not be echoed to the command window. So I'm not really sure how that meangraylevel number is getting output to the command window. Like I said, it should be minGL and maxGL and nothing else in the command window.
Next, it's not clear to use if you changed the filename each time you ran this. Are we to assume you did?

Richiesto:

il 23 Mar 2017

Commentato:

il 25 Mar 2017

Community Treasure Hunt

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

Start Hunting!

Translated by