How to find mean gray level in gray scale image

63 views (last 30 days)
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 Comments
Iqra Rizvi
Iqra Rizvi on 23 Mar 2017
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 on 24 Mar 2017
Edited: KSSV on 24 Mar 2017
Clear the workspace using clear all and run the code.

Sign in to comment.

Answers (2)

Thorsten
Thorsten on 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 on 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?

Categories

Find more on Programming 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!