Lampiran 1. Fungsi Utama
function varargout = utama(varargin) gui_Singleton = 1;
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @utama_OpeningFcn, ... 'gui_OutputFcn', @utama_OutputFcn, ... 'gui_LayoutFcn', [] , ...
'gui_Callback', []); if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:}); end
function utama_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject; guidata(hObject, handles);
function varargout = utama_OutputFcn(hObject, eventdata, handles)
function pushbutton1_Callback(hObject, eventdata, handles) axes(handles.axes1);
clear gca;
[FileName, PathName, FilterIndex] = uigetfile('*.JPG','Pilih Citra','*JPG');
handles.NamaFile=FileName; handles.PathName=PathName; guidata(hObject,handles);
if isequal(FileName,0)
disp('User selected Cancel') else
axes(handles.axes1); clear gca;
set(gca,'ytick',[]); set(gca,'xtick',[]);
axes(handles.axes1);
handles.Citra.RGB=imread([PathName FileName]); image(handles.Citra.RGB),
set(gca,'ytick',[]); set(gca,'xtick',[]);
guidata(hObject, handles); imshow(handles.Citra.RGB); end
function pushbutton3_Callback(hObject, eventdata, handles) gambar1 = handles.Citra.RGB;
temp=[temp1;temp2;temp3;temp4;temp5;temp6;temp7;temp8;temp9; temp10;temp11;temp12;temp13;temp14];
n=14;%jumlah template
[kore t]=pencocokan_pola(citra,temp,n); k=kore*100;
fprintf('Nilai koefisien korelasi = %f\n',k);
fprintf('Gambar yang diuji paling cocok dengan template %d\n',t);
set(handles.hasil,'string',k) set(handles.kemiripan,'string',t)
function pushbutton4_Callback(hObject, eventdata, handles) close
function hasil_Callback(hObject, eventdata, handles)
function hasil_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
Lampiran 2. Fungsi Identifikasi
function output = processing (input)
b=rgb2gray(input);%aras keabuan
u=imresize(b,[256 256]);%ukuran citra
%pelembutan citra
median=medfilt2(u,[3 3]); wiener=wiener2(median,[5 5]);
%Pengambangan (thresholding) [m n]=size(u);
for i=1:m, for j=1:n,
if(u(i,j)<128) biner(i,j)=0; else
biner(i,j)=255; end
end end
edge_sobel = edge(biner,'sobel');
output=bwmorph(edge_sobel,'skel',Inf);
Lampiran 3. Fungsi Pencocokan Pola
function [r t]=pencocokan_pola(citra,temp,n)
r=0;
for i=1:14
bwh=(256*(i-1))+1; atas=256*i;
temp_juga=temp(bwh:atas,:); y=corr2(citra,temp_juga); if(y>r)