BEBERAPA METODE DETEKSI TEPI MATA UANG LOGAM DENGAN MENGGUNAKAN SOFTWARE MATLAB

Mulyani (09.01.53.0200)
Teknologi informatika/ F.TI/ Unisbank Semarang
yaniasiah@gmail.com

Abstrak
Matlab merupakan salah satu software yang dapat digunakan untuk pengolahan citra gambar , salah satu fungsi dari sekian banyak fungsi yang terdapat pada Matlab adalah digunakan untuk pendeteksian tepi gambar, dalam makalah ini akan dibahas pendeteksian tepi pada gambar uang logam.

Pendahuluan:
Pada pembahsan berikut akan dibahas mengenai beberapa metode pendeteksian tepi gambar uang logam dengan beberapa metode, antara lain: Sobell, Robert, Prewitt dan Canny.

Landasan Teori:
Landasan teori yang digunakan pada makalah ini berdasar pada matakuliah pengolahan citra yang menggunakan software Matlab.

Rancangan Program:
Rancangan program pada makalah ini dapat kita liat seperti pada gambar dibawah ini:

Pengujian:
1. Buka Gambar:
A. Listing Program:
% — Outputs from this function are returned to the command line.
function varargout = untitled_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)

% Get default command line output from handles structure
varargout{1} = handles.output;

% — Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
prj=guidata(gcbo);
[nama,direktori]=uigetfile({‘*.jpg’},’BUKA GAMBAR’);
if isequal(nama,0)
return;
end;
eval([‘cd ”’ direktori ”’;’]);
i=imread(nama);
set(prj.figure1,’CurrentAxes’,prj.axes1);
set(imshow(i));
set(prj.figure1,’Userdata’,i);
set(prj.axes1,’Userdata’,i);
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

B. Hasil Program:

2. Sobell:
A. Listing Program:

% — Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
sobel=guidata(gcbo);
i=get(sobel.axes1,’Userdata’);
if isequal(i,[])
warndlg(‘Belum ada gambar !’,’Sobel Process error’);
else
gray=rgb2gray(i);
bw=edge(gray,’sobel’);
px=[-1 0 1;-1 0 1;-1 0 1];
grayx=filter2(px,gray);
py=px’;
grayy=filter2(py,gray);
edge_p=sqrt(grayx.^2+grayy.^2);
edge_t=im2bw(edge_p/255,0.3);
set(sobel.figure1,’CurrentAxes’,sobel.axes2);
set(imshow(edge_t));
set(sobel.axes3,’Userdata’,edge_t);
end
%end;

B. Hasil Program:

3. Robert:
A. Listing Program:

% — Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
robert=guidata(gcbo);
i=get(robert.axes1,’Userdata’);
if isequal(i,[])
warndlg(‘Belum ada gambar !’,’robert prcess error’);
else
gray=rgb2gray(i);
bw=edge(gray,’robert’);
px=[0 1;-1 0];
grayx=filter2(px,gray);
py=px’;
grayy=filter2(py,gray);
edge_p=sqrt(grayx.^2+grayy.^2);
edge_t=im2bw(edge_p/255,0.3);
set(robert.figure1,’CurrentAxes’,robert.axes3);
set(imshow(edge_t));
set(robert.axes3,’Userdata’,edge_t);
end
% 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)

B. Hasil Program:

4. Prewitt:
A. Listing Program:

% — Executes on button press in pushbutton4.
function pushbutton4_Callback(hObject, eventdata, handles)
prewitt=guidata(gcbo);
i=get(prewitt.axes1,’Userdata’);
if isequal(i,[])
warndlg(‘Belum ada gambar1′,’Prewitt process error’);
else
gray=rgb2gray(i);
bw=edge(gray,’prewitt’);
px=[-1 0 1;-2 0 1;-1 0 1];
grayx=filter2(px,gray);
py=px’;
grayy=filter2(py,gray);
edge_p=sqrt(grayx.^2+grayy.^2);
edge_t=im2bw(edge_p/255,0.3);
set(prewitt.figure1,’CurrentAxes’,prewitt.axes4);
set(imshow(edge_t));
set(prewitt.axes4,’Userdata’,edge_t);
end
% hObject handle to pushbutton4 (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

B. Hasil Program:

5. Canny:
A. Listing Program:

% — Executes on button press in pushbutton5.
function pushbutton5_Callback(hObject, eventdata, handles)
prj=guidata(gcbo);
i=get(prj.axes1,’Userdata’);
gray=rgb2gray(i);
bw=edge(gray,’canny’);
set(prj.figure1,’CurrentAxes’,prj.axes5);
set(imshow(bw));
set(prj.axes5,’Userdata’,bw);
% hObject handle to pushbutton5 (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

B. Hasil Program:

Hasil Run:

Kesimpulan:
Setelah melakukan pengujian dengan beberapa metode untuk mendeteksi suatu gambar antara metode Sobell, Robert, Prewitt, dan Canny maka dapat diambil kesimpulan bahwa metode Sobell adalah metose terbaik untuk pendeteksian tepi gambar.

  1. No trackbacks yet.

Tinggalkan komentar