You are on page 1of 10

MAKALAH PENGOLAHAN SINYAL DIGITAL

EDGE DETECTION MATLAB GUI

Disusun Oleh

MUHAMMAD ABRAR - 1007113748


JERI DWI DANUR - 1007133687

Jurusan Teknik Elektro Fakultas Teknik

UNIVERSITAS RIAU

PEKANBARU

2012
BAB I
PENDAHULUAN

Latar Belakang Masalah

Perkembangan dunia gambar digital dalam berbagai bentuk menunjukkan


semakin tingginya kesadaran masyarakat akan image atau citra terhadap sesuatu
objek atau benda. Dalam penelitian hal yang paling awal dan paling banyak
dilakukan adalah penentuan tepian suatu objek dalam image atau citra.

Pengolahan Citra ialah memproses suatu citra sehingga menghasilkan citra


yang sesuai dengan keinginan kita atau kualitasnya menjadi lebih baik.
Deteks tepi bertujuan untuk menghitung besaran kuantitatif citra untuk menghasilkan
deskripsinya. Teknik analisis citra mengekstraksi ciri-ciri tertetntu yang membantu
dalam identifikasi objek.

Untuk melihat hasil deteksi tepi tersebut , bisa menggunakan MATLAB (Matrix
Laboratory). Fitur GUI pada MATLAB ini memungkinkan untuk menghasilkan suatu
aplikasi.
BAB II
PEMBAHASAN

Landasan Teori

Penentuan tepian suatu objek dalam citra merupakan salah satu wilayah
pengolahan citra digital yang paling awal dan paling banyak diteliti. Proses ini
seringkali ditempatkan sebagai langkah pertama dalam aplikasi segmentasi citra,
yang bertujuan untuk mengenali objek-objek yang terdapat dalam citra ataupun
konteks citra secara keseluruhan. Deteksi tepi berfungsi untuk mengidentifikasi garis
batas (boundary) dari suatu objek yang terdapat pada citra. Tepian dapat dipandang
sebagai lokasi piksel dimana terdapat nilai perbedaan intensitas citra secara
ekstrem. Sebuah edge detector bekerja dengan cara mengidentifikasi dan
menonjolkan lokasi-lokasi piksel yang memiliki karakteristik tersebut.

Di MATLAB proses pendeteksian tepi dilakukan dengan perintah/fungsi


"edge" dan hanya menggunakan citra/gambar 2D saja . Deteksi tepi (Edge
Detection) pada suatu citra suatu proses yang menghasilkan tepi-tepi dari obyek-
obyek citra, tujuannya adalah :

1. Untuk menandai bagian yang menjadi detail citra.


2. Untuk memperbaiki detail dari citra yang kabur, yang terjadi karena error
atau adanya efek dari proses akuisisi citra.

Suatu titik (x,y) dikatakan sebagai tepi (edge) dari suatu citra bila titik tersebut
mempunyai perbedaan yang tinggi dengan tetangganya. Gambar. 1 berikut ini
menggambarkan bagaimana tepi suatu gambar diperoleh.

Gambar 1. Proses Deteksi Tepi Citra


HASIL
Perhatikan hasil deteksi dari beberapa citra menggunakan model differensial
di atas:

Gambar 2. Hasil beberapa deteksi tepi


Pada gambar 8.2. terlihat bahwa hasil deteksi tepi berupa tepi-tepi dari suatu
gambar. Bila diperhatikan bahwa tepi suatu gambar terletak pada titik-titik yang memiliki
perbedaan tinggi. Berdasarkan prinsip-prinsip filter pada citra maka tepi suatu gambar
dapat diperoleh menggunakan High Pass Filter (HPF), yang mempunyai karakteristik :

Contoh:
Diketahui fungsi citra f(x,y) sebagai berikut:
Dengan menggunakan filter : H (x,y)=[-1 1]
Maka Hasil filter adalah :

Bila digambarkan maka proses filter di atas mempunyai masukan dan keluaran
sebagai berikut :

Catatan:

Untuk mencoba perhitungan di atas dapat dilakukan dengan cara manual


menggunakan perhitungan konvolusi yang telah dibahas , atau dengan
memanfaatkan program konvolusi.

Metode yang digunakan


Macam-macam metode untuk proses deteksi tepi ini, antara lain:
1. Metode Robert
2. Metode Prewitt
3. Metode Sobel
4. Laplacian of Gaussian

1. Metode Robert

Metode Robert adalah nama lain dari teknik differensial yang dikembangkan
di atas, yaitu differensial pada arah horisontal dan differensial pada arah vertikal,
dengan ditambahkan proses konversi biner setelah dilakukan differensial. Teknik
konversi biner yang disarankan adalah konversi biner dengan meratakan distribusi
warna hitam dan putih [5], seperti telah dibahas pada bab 3. Metode Robert ini juga
disamakan dengan teknik DPCM (Differential Pulse Code Modulation)

Kernel filter yang digunakan dalam metode Robert ini adalah:


2. Metode Prewitt

Metode Prewitt merupakan pengembangan metode robert dengan


menggunakan filter HPF yang diberi satu angka nol penyangga. Metode ini
mengambil prinsip dari fungsi laplacian yang dikenal sebagai fungsi untuk
membangkitkan HPF.

Kernel filter yang digunakan dalam metode Prewitt ini adalah :

3. Metode Sobel

Metode Sobel merupakan pengembangan metode robert dengan


menggunakan filter HPF yang diberi satu angka nol penyangga. Metode ini
mengambil prinsip dari fungsi laplacian dan gaussian yang dikenal sebagai fungsi
untuk membangkitkan HPF. Kelebihan dari metode sobel ini adalah kemampuan
untuk mengurangi noise sebelum melakukan perhitungan deteksi tepi.

Kernel filter yang digunakan dalam metode Sobel ini adalah:

4. Metode Laplacian of Gaussian (log)

Metode ini akan mendeteksi zero crossing ,untuk menentukan garis batas
antara hitam dan putih, yang terdapat pada turunan kedua dari citra yang
bersangkutan. Kekurangan dari penerapan perator laplacian adalah sangat sensitif
terhadap noise, namun demikian edge detection dengan operator ini dapat di
tingkatkan hasilnya dengan menerapkan thresholding.
Kernel filter yang digunakan dalam metode Laplacian of Gaussian ini
adalah :

LIST PROGRAM

Deteksi Tepi, kita menggunakan Software MATLAB. MATLAB (Matrix


Laboratory) adalah sebuah program untuk analisis dan komputasi numerik dan
merupakan suatu bahasa pemrograman matematika lanjutan yang dibentuk dengan
dasar pemikiran menggunkan sifat dan bentuk matriks.
GUIDE atau GUI builder merupakan sebuah graphical user interface (GUI)
yang dibangun dengan obyek grafik seperti tombol (button), kotak teks, slider, menu
dan lain-lain. Aplikasi yang menggunakan GUI umumnya lebih mudah dipelajari dan
digunakan karena orang yang menjalankannya tidak perlu mengetahui perintah yang
ada dan bagaimana kerjanya. Untuk Memulai GUIDE Matlab dapat dilakukan
dengan dua cara, yaitu:

1. Melalui command matlab dengan mengetikkan: >> guide


2. Klik tombol Start Matlab dan pilihlah MATLAB, lalu pilih GUIDE (GUI
Builder)

Setelah kita masuk dalam fitur GUI, maka kita buat tampilan untuk program
Deteksi Tepi ini dengan membuat 2 Axes dan 7 Pushbutton. Axes berguna untuk
menampilkan sebuah grafik atau gambar (image). Axes sebenarnya tidak masuk
dalam UIControl, tetapi axes dapat diprogram agar pemakai dapat berinteraksi
dengan axes dan obyek grafik yang ditampilkan melalui axes. Sedangkan
Pushbutton merupakan jenis kontrol berupa tombol tekan yang akan menghasilkan
tindakan jika diklik, misanya tombol OK, Cancel, Hitung, Hapus, dan sebagainya.

Untuk penulisan koding di pushbutton, klik kiri pada push button sebelah kiri,
kemudian pilih callbacks dan pilih lagi view callback, ini berguna untuk
mempermudah letak dalam menulis coding. Dibawah komentar itulah kita menulis
kodingannya.
Berikut kodingannya :

Kodingan untuk memanggil gambar/ mencari gambar :

proyek=guidata(gcbo);
[namafile,direktori]=uigetfile({‘*.jpg’;'*.bmp’;'*.png’;'*.tif’},’Buka Gambar’)
if isequal(namafile,0)
return;
end
eval(['cd ''' direktori ''';']);
I=imread(namafile);
set(proyek.figure1,’CurrentAxes’,proyek.axes1);
set(imshow(I));
set(proyek.figure1,’Userdata’,I);
set(proyek.axes1,’Userdata’,I);

Kodingan untuk mengeksekusi gambar menjadi method Deteksi Tepi


(Sobel) :

proyek=guidata(gcbo);
I=get(proyek.axes1,’Userdata’);
gray=rgb2gray(I);
BW = edge(gray,’sobel’);
set(proyek.figure1,’CurrentAxes’,proyek.axes2);
set(imshow(BW));
set(proyek.axes2,’Userdata’,A);
redo_Callback(hObject, eventdata, handles);

Kodingan untuk method Prewitt :

proyek=guidata(gcbo);
I=get(proyek.axes1,’Userdata’);
gray=rgb2gray(I);
BW = edge(gray,’prewitt’);
set(proyek.figure1,’CurrentAxes’,proyek.axes2);
set(imshow(BW));
set(proyek.axes2,’Userdata’,A);
redo_Callback(hObject, eventdata, handles);

Kodingan untuk method Laplasian Of Gaussian (LOG) :

proyek=guidata(gcbo);
I=get(proyek.axes1,’Userdata’);
gray=rgb2gray(I);
BW = edge(gray,’log’);
set(proyek.figure1,’CurrentAxes’,proyek.axes2);
set(imshow(BW));
set(proyek.axes2,’Userdata’,A);
redo_Callback(hObject, eventdata, handles);

Kodingan untuk method Roberts :

proyek=guidata(gcbo);
I=get(proyek.axes1,’Userdata’);
gray=rgb2gray(I);
BW = edge(gray,’roberts’);
set(proyek.figure1,’CurrentAxes’,proyek.axes2);
set(imshow(BW));
set(proyek.axes2,’Userdata’,A);
redo_Callback(hObject, eventdata, handles);

Tombol keluar :

selection=questdlg(['Keluar ' get(handles.figure1,'Name')''],…


['Keluar ' get(handles.figure1,'Name')''],…
‘Ya’,'Tidak’,'Ya’);
if strcmp(selection,’Tidak’)
return;
end
delete(handles.figure1)

setelah itu ubah extensi file menjadi bentuk .exe, berikut langkah-langkahnya
:

 Pada command window di matlab ketik mbuild -setup


 Lalu ketik y
 Kemudian pilih 1 dan ketik y
 Sesudah itu ketik mcc -m nama_file_utama.m -o nama_file yang ingin
dijadikan exe
 Dan enter.
 Cari .exe nya di folder work yang berada di program file – matlab –
work.
KESIMPULAN

Penentuan tepian suatu objek dalam citra merupakan salah satu wilayah
pengolahan citra digital yang paling awal dan paling banyak diteliti. Proses ini
seringkali ditempatkan sebagai langkah pertama dalam aplikasi segmentasi citra,
yang bertujuan untuk mengenali objek-objek yang terdapat dalam citra ataupun
konteks citra secara keseluruhan. Deteksi tepi berfungsi untuk mengidentifikasi garis
batas (boundary) dari suatu objek yang terdapat pada citra.

Tujuan deteksi tepi adalah :

1. Untuk menandai bagian yang menjadi detail citra.


2. Untuk memperbaiki detail dari citra yang kabur, yang terjadi karena error atau
adanya efek dari proses akuisisi citra.

Macam-macam metode untuk proses deteksi tepi ini, antara lain:

1. Metode Robert
2. Metode Prewitt
3. Metode Sobel
4. Laplacian of Gaussian

Program deteksi tepi dapat dibuat menggunakan MATLAB (Matrix


Laboratory), dengan cara menggunakan GUI (Graphic User Interface) Builder.

You might also like