how to find mean gray level value

3 Ansichten (letzte 30 Tage)
Muhammad Harith Ramli
Muhammad Harith Ramli am 12 Okt. 2016
function pushbutton1_Callback(hObject, eventdata, handles)
global X;
[filename, pathname] = uigetfile({'*.bmp','All Image Files';...
'*.*','All Files' },'title',...
'D:\MRI\DOI');
X = imread([pathname,filename]);
axes(handles.axes1);
imshow(X);
minGL = min(X(:));
maxGL = max(X(:));
meanGL = mean(X(:));
message = sprintf('The min gray level = %d.\nThe max gray level = %d.\nThe mean gray level = %d.', minGL, maxGL,meanGL);
uiwait(helpdlg(message));
I try to find a mean gray level value in GUI. When i run the code it will give this answer:
What wrong with the code?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 12 Okt. 2016
You are trying to use an sprintf() %d format to print a non-integer value. When you do that, sprintf() uses %e format instead. If you want to print out in floating point, code a %e or %f or %g format.
Remember that the mean of integral values need not be integral itself. For example the mean of 1 and 2 is not going to be an integer.

Weitere Antworten (0)

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by