DISUSUN OLEH :
FADIL ANANTA 02311940000030
HUDZAIFA DHIAUL AHNAF 02311940000102
ARRIFQI AGUNG PERMANA 02311940000166
DOSEN PENGAMPU :
DETAK YAN PRATAMA S.T., M.Sc.
• Pelatihan
clc; %perintah untuk
membersihkan komen window
clear; %perintah
untuk membersihkan workspace window
close all; %perintah
untuk menutup semua figure yang telah dibuka
warning off all; %perintah
untuk menonaktifkan warning yang muncul
ii
%1. filling holes
bw = imfill(bw, 'holes');
%%%figure, imshow(bw)
%2. area opening = menghilangkan noise 1000 adalah nilai luas yang
akan dihilangkan
bw = bwareaopen(bw,1000);
%%%figure, imshow(bw)
R(~bw) = 0;
G(~bw) = 0;
B(~bw) = 0;
RGB = cat(3,R,G,B);
%%%figure, imshow(RGB)
Red = sum(sum(R))/sum(sum(bw));
Green = sum(sum(G))/sum(sum(bw));
Blue = sum(sum(B))/sum(sum(bw));
H(~bw) = 0;
S(~bw) = 0;
V(~bw) = 0;
Hue = sum(sum(H))/sum(sum(bw));
Saturation = sum(sum(S))/sum(sum(bw));
Value = sum(sum(V))/sum(sum(bw));
stats =
graycoprops(GLCM,{'Contrast','Correlation','Energy','Homogeneity'});
Contrast = mean(stats.Contrast);
Correlation = mean(stats.Correlation);
Energy = mean(stats.Energy);
Homogeneity = mean(stats.Homogeneity);
%2. area opening = menghilangkan noise 1000 adalah nilai luas yang
akan dihilangkan
bw = bwareaopen(bw,1000);
%%%figure, imshow(bw)
R(~bw) = 0;
G(~bw) = 0;
B(~bw) = 0;
RGB = cat(3,R,G,B);
%%%figure, imshow(RGB)
Red = sum(sum(R))/sum(sum(bw));
Green = sum(sum(G))/sum(sum(bw));
Blue = sum(sum(B))/sum(sum(bw));
H(~bw) = 0;
S(~bw) = 0;
V(~bw) = 0;
Hue = sum(sum(H))/sum(sum(bw));
Saturation = sum(sum(S))/sum(sum(bw));
Value = sum(sum(V))/sum(sum(bw));
%pelatihan jaringan
net1 = train(net1,ciri_matang'); %' transpose dilakukan untuk
membalikan dari data kolom menjadi data baris
net2 = train(net2,ciri_mentah');
%menghitung jarak masing2 kelas dengan titik pusat masing2 model SOM
pfn1 = dist(wnet1,[ciri_matang;ciri_mentah]');
pfn2 = dist(wnet2,[ciri_matang;ciri_mentah]');
• Pengujian
clc; %perintah
untuk membersihkan komen window
clear; %perintah
untuk membersihkan workspace window
close all; %perintah
untuk menutup semua figure yang telah dibuka
warning off all; %perintah
untuk menonaktifkan warning yang muncul
R(~bw) = 0;
G(~bw) = 0;
B(~bw) = 0;
RGB = cat(3,R,G,B);
%%%figure, imshow(RGB)
Red = sum(sum(R))/sum(sum(bw));
Green = sum(sum(G))/sum(sum(bw));
Blue = sum(sum(B))/sum(sum(bw));
H(~bw) = 0;
S(~bw) = 0;
V(~bw) = 0;
Hue = sum(sum(H))/sum(sum(bw));
Saturation = sum(sum(S))/sum(sum(bw));
Value = sum(sum(V))/sum(sum(bw));
stats =
graycoprops(GLCM,{'Contrast','Correlation','Energy','Homogeneity'});
Contrast = mean(stats.Contrast);
Correlation = mean(stats.Correlation);
Energy = mean(stats.Energy);
Homogeneity = mean(stats.Homogeneity);
R(~bw) = 0;
G(~bw) = 0;
B(~bw) = 0;
RGB = cat(3,R,G,B);
%%%figure, imshow(RGB)
Red = sum(sum(R))/sum(sum(bw));
Green = sum(sum(G))/sum(sum(bw));
Blue = sum(sum(B))/sum(sum(bw));
H(~bw) = 0;
S(~bw) = 0;
V(~bw) = 0;
Hue = sum(sum(H))/sum(sum(bw));
Saturation = sum(sum(S))/sum(sum(bw));
Value = sum(sum(V))/sum(sum(bw));
%menghitung jarak masing2 kelas dengan titik pusat masing2 model SOM
pfn1 = dist(wnet1,[ciri_matang;ciri_mentah]');
pfn2 = dist(wnet2,[ciri_matang;ciri_mentah]');
• Program GUI
function varargout = program_gui(varargin)
% PROGRAM_GUI MATLAB code for program_gui.fig
% PROGRAM_GUI, by itself, creates a new PROGRAM_GUI or raises
the existing
% singleton*.
%
% H = PROGRAM_GUI returns the handle to a new PROGRAM_GUI or
the handle to
% the existing singleton*.
%
% PROGRAM_GUI('CALLBACK',hObject,eventData,handles,...) calls
the local
% function named CALLBACK in PROGRAM_GUI.M with the given input
arguments.
%
% PROGRAM_GUI('Property','Value',...) creates a new PROGRAM_GUI
or raises the
% existing singleton*. Starting from the left, property value
pairs are
% applied to the GUI before program_gui_OpeningFcn gets called.
An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to program_gui_OpeningFcn via
varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows
only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = program_gui_OutputFcn(hObject, eventdata,
handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
%jika ada nama file yang dipilih maka akan mengeksekusi perintah di
bawah
%ini
if ~isequal(nama_file,0)
else
%jika tidak ada nama file yang dipilih
return
end
%menyimpan variabel bw dan Img gray pada lokasi handles agar dapat
dipanggil oleh
%pushbutton yang lain
handles.bw = bw;
handles.Img_gray = Img_gray;
guidata(hObject, handles)
%memanggil variabel Img, bw, dan Img_gray yang ada di lokasi handles
Img = handles.Img;
bw = handles.bw;
Img_gray = handles.Img_gray;
R(~bw) = 0;
G(~bw) = 0;
B(~bw) = 0;
RGB = cat(3,R,G,B);
%%%figure, imshow(RGB)
Red = sum(sum(R))/sum(sum(bw));
Green = sum(sum(G))/sum(sum(bw));
Blue = sum(sum(B))/sum(sum(bw));
H(~bw) = 0;
S(~bw) = 0;
V(~bw) = 0;
Hue = sum(sum(H))/sum(sum(bw));
Saturation = sum(sum(S))/sum(sum(bw));
Value = sum(sum(V))/sum(sum(bw));
stats =
graycoprops(GLCM,{'Contrast','Correlation','Energy','Homogeneity'});
Contrast = mean(stats.Contrast);
Correlation = mean(stats.Correlation);
Energy = mean(stats.Energy);
Homogeneity = mean(stats.Homogeneity);
end
axes(handles.axes1)
cla reset
set(gca,'XTick',[])
set(gca,'YTick',[])
axes(handles.axes2)
cla reset
set(gca,'XTick',[])
set(gca,'YTick',[])