Help me solve this
Show older comments
i make a prediction of fruit (mature,immature,half mature) and when i run, i got error like this:
----------------------------
Undefined function or variable 'x'.
Error in BUAH>pushbutton3_Callback (line 192)
set(handles.edit2,'string',x);
Error in gui_mainfcn (line 95)
feval(varargin{:});
Error in BUAH (line 42)
gui_mainfcn(gui_State, varargin{:});
Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)BUAH('pushbutton3_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating UIControl Callback.
-----------------
and my code:
-----------------
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% pisah rgb
Img = handles.I;
%cari nilai HSI
RGB = im2double(Img);
Red = RGB(:,:,1);
Green = RGB(:,:,2);
Blue = RGB(:,:,3);
%Hue
atas=1/2*((Red-Green)+(Red-Blue));
bawah=((Red-Green).^2+((Red-Blue).*(Green-Blue))).^0.5;
teta = acosd(atas./(bawah));
if Blue >= Green
H = 360 - teta;
else
H = teta;
end
H = H/360;
[r c] = size(H);
for i=1 : r
for j=1 : c
z = H(i,j);
z(isnan(z)) = 0; %isnan adalah is not none artinya jika bukan angka dia akan memberi 0
H(i,j) = z;
end
end
%S
S=1-(3./(sum(RGB,3))).*min(RGB,[],3);
[r c] = size(S);
for i=1 : r
for j=1 : c
z = S(i,j);
z(isnan(z)) = 0;
S(i,j) = z;
end
end
%I
I=(Red+Green+Blue)/3;
MeanR = mean2(Red);
MeanG = mean2(Green);
MeanB = mean2(Blue);
MeanH = mean2(H);
MeanS = mean2(S);
MeanI = mean2(I);
VarRed = var(Red(:)); VarGreen = var(Green(:)); VarBlue = var(Blue(:));
VarH = var(H(:)); VarS = var(S(:)); VarI = var(I(:));
RangeR = ((max(max(Red)))-(min(min(Red))));
RangeG = ((max(max(Green)))-(min(min(Green))));
RangeB = ((max(max(Blue)))-(min(min(Blue))));
RangeH = ((max(max(H)))-(min(min(H))));
RangeS = ((max(max(S)))-(min(min(S))));
RangeI = ((max(max(I)))-(min(min(I))));
data = get(handles.uitable2,'Data');
data{1,1} = num2str(MeanR);
data{2,1} = num2str(MeanG);
data{3,1} = num2str(MeanB);
data{4,1} = num2str(MeanH);
data{5,1} = num2str(MeanS);
data{6,1} = num2str(MeanI);
data{1,2} = num2str(VarRed);
data{2,2} = num2str(VarGreen);
data{3,2} = num2str(VarBlue);
data{4,2} = num2str(VarH);
data{5,2} = num2str(VarS);
data{6,2} = num2str(VarI);
data{1,3} = num2str(RangeR);
data{2,3} = num2str(RangeG);
data{3,3} = num2str(RangeB);
data{4,3} = num2str(RangeH);
data{5,3} = num2str(RangeS);
data{6,3} = num2str(RangeI);
set(handles.uitable2,'Data',data,'ForegroundColor',[0 0 0])
training1 = xlsread('Data Training');
group = training1(:,25);
training = [training1(:,1) training1(:,2) training1(:,3) training1(:,4) training1(:,5) training1(:,6) training1(:,7) training1(:,8) training1(:,9) training1(:,10) training1(:,11) training1(:,12) training1(:,13) training1(:,14) training1(:,15) training1(:,16) training1(:,17) training1(:,18)];
Z=[MeanR MeanG MeanB MeanH MeanS MeanI VarRed VarGreen VarBlue VarH VarS VarI RangeR RangeG RangeB RangeH RangeS RangeI];
hasil1=fitcknn(training,group,'NumNeighbors',1,'Standardize',1);
if isequal(hasil1,1)
x ='MATURE';
elseif isequal(hasil1,2)
x ='HALF-MATURE';
elseif isequal(hasil1,3)
x ='IMMATURE';
end
set(handles.edit2,'string',x);
---------------------------
thanks later.
and did my KNN classification is correct? this is my KNN Classification code:
-----------------------------
hasil1=fitcknn(training,group,'NumNeighbors',1,'Standardize',1);
if isequal(hasil1,1)
x ='MATURE';
elseif isequal(hasil1,2)
x ='HALF-MATURE';
elseif isequal(hasil1,3)
x ='IMMATURE';
end
-------------------------
4 Comments
Walter Roberson
on 16 Jul 2020
I predict that hasil1 is not a scalar. Or perhaps that it is not an integer.
Shanti Gurl
on 16 Jul 2020
Walter Roberson
on 16 Jul 2020
Which is it: not an scalar, or not an integer ? The two have different solutions.
Shanti Gurl
on 16 Jul 2020
Answers (0)
Categories
Find more on Statistics and Machine Learning Toolbox 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!