Good evening, I have the following code to generate the histograms and to calculate the values, and appear in the text boxes:
function calc_val_Callback(hObject, eventdata, handles)
global a;
global bmax bmin bmed;
b = rgb2gray(a); %transforma a figura em escala cinza
axes(handles.hist_gray); %ativa eixos
[counts1,binLocations1] = imhist(b); %calcula ordenadas e abcissas do histograma
bmax = max(max(b));
bmin = min(min(b));
bmed = mean(mean(b));
imhist(b); %desenhar histograma
ylim([0 bmax]); %limita ordenadas entre 0 e máximo
set(handles.max,'String',bmax);
set(handles.min,'String',bmin);
set(handles.med,'String',bmed);
global cmax cmin cmed;
c = im2bw(a); %transforma a figura em escala cinza
axes(handles.hist_bw); %ativa eixos
[counts1,binLocations1] = imhist(c); %calcula ordenadas e abcissas do histograma
cmax = max(max(c));
cmin = min(min(c));
cmed = mean(mean(c));
imhist(c); %desenhar histograma
ylim([0 bmax]); %limita ordenadas entre 0 e máximo
set(handles.maxi,'String',cmax);
set(handles.mini,'String',cmin);
set(handles.medi,'String',cmed);
Just get the gray scale histogram and the values of this histogram. But if export the data to excel, appears the data of the two histograms. In annex shows what appears.

댓글 수: 5

Image Analyst
Image Analyst 2018년 2월 25일
I don't know exactly what the problem is. And you didn't show the code where you are exporting something to Excel, like with xlswrite() or ActiveX commands so how can we debug why two histograms are being sent to Excel???
Catarina Leitão
Catarina Leitão 2018년 2월 25일
편집: Image Analyst 2018년 2월 25일
function export_Callback(hObject, eventdata, handles)
global a;
global bmax bmin bmed;
global cmax cmin cmed;
gray = [bmax; bmin; bmed];
bw = [cmax; cmin; cmed];
xlswrite ('Resultados.xlsx', gray, 'Resultados', 'C3:C5');
xlswrite ('Resultados.xlsx', bw, 'Resultados', 'D3:D5');
winopen ('Resultados.xlsx');
Image Analyst
Image Analyst 2018년 2월 25일
It looks like it should work. You will probably have to upload the m file and .fig file, and the image(s) so we can try it ourselves.
Catarina Leitão
Catarina Leitão 2018년 2월 25일
The .fig and .m files are attached.

댓글을 달려면 로그인하십시오.

답변 (1개)

Walter Roberson
Walter Roberson 2018년 2월 26일

0 개 추천

The result of
c = im2bw(a);
is a logical array. min() and max() of those are 0 and 1, and there are no other values, which is why the imhist(c) is so boring. Meanwhile min() and max() applied to a logical array give logical results. You cannot set the string() property of a uicontrol to a logical value.
Easiest way to fix your code:
c = double(im2bw(a));

카테고리

도움말 센터File Exchange에서 Histograms에 대해 자세히 알아보기

태그

질문:

2018년 2월 25일

답변:

2018년 2월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by