how to find mean gray level value
조회 수: 4 (최근 30일)
이전 댓글 표시
Muhammad Harith Ramli
2016년 10월 12일
댓글: Muhammad Harith Ramli
2016년 10월 12일
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?
댓글 수: 0
채택된 답변
Walter Roberson
2016년 10월 12일
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.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!