PERBANDINGAN METODE PREWIT DAN ROBERTS UNTUK KEAKURATAN MENDETEKSI TEPI PADA SEBUAH GAMBAR DENGAN MENGGUNAKAN VB.6 Siti Mujilahwati 1, Yuliana Melita Pranoto 2 Mahasiswa Magister Teknologi Informasi, Sekolah Tinggi Teknik Surabaya 2 Dosen Magister Teknologi Informasi, Sekolah Tinggi Teknik Surabaya
[email protected],
[email protected]
1
ABSTRAK Deteksi tepi pada sebuah gambar dapat dilakukan dengan 4 algoritma, diantaranya adalah prewit dan Robert. Dua algoritma tersebut memiliki sebuah cara yang berbeda dimana untuk algoritma prewitt menggunakan operator matrik 3x3, sedangkan Robert menggunakan operator matrik 2x2. Dari dua teknik yang berbeda tersebut maka penulis ingin mengimplementasikan teknik keduanya dengan membuat sebuah aplikasi digital image processing untuk mengetahui tingkat perbedaan dari kinerja kedua algoritma. Berdasarkan analisis deteksi tepi Robert menghasilkan sebuah garis tepi lebih jelas dibandingkan dengan Prewitt yang menghasilkan garis tepi seperti masih ada bayang-bayang atau garis tepi rangkap tidak jelas.
I. PENDAHULUAN Gambar merupakan presentasi dari hasil foto atau lukisan suatu benda yang nyata, untuk itu gambar dapat dilihat dari berbagai sudut pandang. Salah satunya adalah suatu gambar pemandangan dimana gambar tersebut merupakan sebuah gambar satu kesatuan yang tanpa menentukan mana objek dan mana background. Deteksi tepi dapat dilakukan ketika kita ingin medeteksi beberapa objek special yang ada pada suatu gambar dengan teknik pemisahan antara objek dan background. Salah satu tujuan dari deteksi tepi adalah ketika akan digunakan untuk recognition atau pengenalan sebuah objek dalam gambar. Ada empat teknik aatau metode untuk deteksi tepi yaitu metode Robert, Canny, Prewitt dan sobel. Ke empat algoritma tersebut memiliki teknik yang berbeda dalam melakukan deteksi tepi pada suatu gambar, sebab itu kami akan melakukan analisis dari dua buah algoritma Robert dan Prewitt untuk membedakan dan menganalisis keakurasian dalam melakukan deteksi tepi. Objek yang akan kami olah disini adalah semua jenis gambar dimana semua dari isi gambar
tersebut akan di deteksi garis tepi. Pada analisis ini kami akan mencoba mengimplementasikan kedua metode (Robert dan prewitt) dengan menggunakan bahasa pemrograman Vb.6. II. KAJIAN TEORI a. Deteksi tepi Deteksi tepi merupakan sebuah segmentasi dari sebuah gambar yang bertujuan untuk mengetahui garis tepi pada sebuah objek dalam gambar atau dengan istilah menandai bagian yang menjadi detail sebuah gambar. Selain itu deteksi citra ini juga bertujuan untuk memperbaiki detail dari citra yang kabur, yang terjadi karena error atau adanya efek dari proses akuisisi gambar. Suatu titik (x,y) dikatakan sebagai tepi (edge) dari suatu gambar bila titik tersebut mempunyai perbedaan yang tinggi dengan tetangganya. Gambar II.1 berikut ini meng-gambarkan bagaimana tepi suatu gambar diperoleh.
Gambar II.3 hasil output sebelum
Gambar II.1 Proses deteksi tepi citra Dengan menggunakan teknik differensial seperti pada proses gambar II.1 maka contoh dari hasil gambar deteksi adalah sebagai berikut.
Dengan menggunakan filter H (x,y) = [1,1] Maka Hasil filter adalah : 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0
Gambar II.4 Hasil output sesudah Gambar II.2 contoh hasil segmentasi deteksi tepi Pada gambar II.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:
Untuk melakukan perhitungan pada deteksi tepi seperti di atas dapat menggunakan teknik perhitungan konvolusi. Algoritmanya adalah sebagai berikut :
………(1) Contoh: Diketahui fungsi citra f(x,y) sebagai berikut: 1 1 1 1 1
1 1 1 1 0
1 1 1 0 0
1 1 0 0 0
1 0 0 0 0
Gambar II.5 Hasil pemakaian teknik konvolusi Terdapat 3 jenis tepi didalam citra digital yaitu : 1. Tepi Curam
Tepi curam adalah tepi dengan perubahan intensitas yang tajam. Arah tepi berkisar 900. Gambar II.6 menunjukkan deteksi tepi tipe tepi curam.
Teknik konversi biner yang disarankan adalah konversi biner dengan meratakan distribusi warna hitam dan putih. Metode Robert ini juga disamakan dengan teknik DPCM (Differential Pulse Code Modulation) . Selain itu algoritma Robert ini juga disebut sebagai operator silang dimana gradient dari arah-X dan arah-Y dihitung dengan rumus :
Gambar II.6 Tepi curam 2. Tepi Landai Tepi landai yaitu tepi dengan sudut arah yang kecil. Tepi landai dapat dianggap terdiri dari sejumlah tepi-tepi lokal yang lokasinya berdekatan. Gambar II.7 menunjukan deteksi tepi tipe tepi landai. Gambar II.9 Operator silang
Gambar II.7 Tepi Landai 3. Tepi yang mengandung derau Umumnya tepi yang terdapat pada aplikasi visi komputer mengandung derau. Operasi peningkatan kualitas citra dapat dilakukan terlebih dahulu sebelum pendektesian tepi. Gambar II.8 menunjukkan deteksi tepi tipe tepi curam dengan derau.
Gambar II.8 Tepi curam dengan durau b. Algoritma 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.
Gambar 2.4 menunjukkan bahwa operator R+ adalah hampiran turunan berarah dalam arah 450,sedangkan operator R- adalah hampiran turunan berarah dalah arah 1350. Dalam bentuk maks konvolusi, operator Roberts adalah:
c. Algoritma 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, bentuk operator yang digunakan pada prewitt adalah :
d. Microsoft Visual Studio 6 Bahasa pemrograman vb.6 merupakan bahasa pemrograman dengan menggunakan teknik GUI. Dimana sangat memudahkan user dalam medesaign sebuah tampilan user interface. Selain itu vb.6 dalam penulisan Sript code juga sangat mudah sehingga pada penelitian kali ini akan mencoba mengimplementasikan algoritma Robert dan prewitt untuk deteksi tepi gambar. III.
1.
2.
3.
4. 5.
Metode Penelitian Penelitian ini menggunakan peralatan komputer, perangkat lunak Visual basic 6.0, dan semua objek citra untuk dideteksi. Langkah-langkah penelitiannya adalah sebagai berikut: Membuat program kedua teknik pendeteksian ( Prewit dan Roberts) menggunakan VB.6 Merancang antar muka pemakai, untuk mempermudah melakukan proses uji coba. Menghubungkan program teknik pendeteksian dengan antar muka pemakai. Melakukan pendeteksian objek pada sebuah citra yang diuji. Melakukan deteksi tepi pada citra dengan dua metode deteksi tepi. Menentukan nilai pengambangan untuk tiap metode deteksi tepi agar lebih memperlihatkan garis tepi. Nilai pengambangan digunakan pada saat operasi pendeteksian tepi. Deteksi tepi citra dilakukan mengikuti langkah-langkah berikut: a) Baca input citra yang akan diproses lalu konversi citra asli menjadi citra abu-abu. b) Deteksi tepi seluruh citra. c) Isi celah atau lubang dari citra dengan operator morfologi skala keabu-abuan.
d) Lakukan perbaikan citra dengan fungsi dilasi. e) Mengembalikan citra biner ke citra RGB yang sudah terdeteksi tepinya. IV.
Pembahasan untuk memudahkan user melakukan proses deteksi tepi maka akan dirancang sebuah tampilan user interface dari bahasa pemrograman visual basic 6.0 sebagai berikut : Citra Asli Citra
Ambil Gambar
Hasil
Hasil Citra
Citra
Robert
Prewit
Time Mm:s s
Mm:s s
Gambar IV.1 Tampilan User interface Desain user interface sesuai dengan konsep bahwa citra yang akan dilakukan deteksi adalah smua jenis gambar. Sehingga user pengguna aplikasi nantinya akan langsung bisa Browse lokasi gambar yang akan di load. Setelah gambar selesai di load maka selanjutnya user dapat melakukan proses segmentasi citra baik dengan menggunakan teknik prewitt atau juga Robert. Dalam penelitian ini akan dilakukan analisis perbandingan antara prewitt dan Robert masalah kecepatan proses waktu melakukan segmentasi deteksi tepi. Selain itu akan di analisis mengenai hasil dari kinerja kedua algoritma tersebut.
Code untuk melakukan proses gray dari gambar asli pada picturebox1. n1 = 0 For i = 1 To Picture1.Width Step 15 n1 = n1 + 1 n2 = 0 For j = 1 To Picture1.Height Step 15 warna = Picture1.Point(i, j) r = warna And RGB(255, 0, 0) g = Int((warna And RGB(0, 255, 0)) / 256) b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256) wx = Int(r + g + b) / 3
Gambar IV.2 Citra Asli Hasil Gray
Picture1.PSet (i, j), RGB(wx, wx, wx) n2 = n2 + 1 w(n1, n2) = wx Next j Next i
Dari proses gray maka dilanjutkan untuk proses algoritma Robert code sebagai berikut : For i = 1 To n1 For j = 1 To n2 If i = 1 Then wx1 = w(i, j) Else wx1 = w(i, j) - w(i - 1, j) If i = 1 Then wx2 = w(i, j) Else wx2 = w(i, j) - w(i - 1, j) wx = Abs(wx1) + Abs(wx2) If wx > 255 Then wx = 255 Picture2.PSet ((i - 1) * 15 + 1, (j - 1) * 15 + 1), RGB(wx, wx, wx) Next j Next i
Code untuk algoritma Prewitt yang prosesnya dilakukan setelah proses algoritma Robert For i = 1 To n1 For j = 1 To n2 z1 = 0 z2 = 0 For u1 = -1 To 1 For u2 = -1 To 1 z1 = z1 + h1(u1 + 2, u2 + 2) * x(i + u1, j + u2) z2 = z2 + h2(u1 + 2, u2 + 2) * x(i + u1, j + u2) Next u2 Next u1 z = Int(Abs(z1 + z2)) If wx > 255 Then wx = 255 Picture3.PSet ((i - 1) * 15 + 1, (j - 1) * 15 + 1), RGB(z, z, z) Next j Next i
Hasil Ujicoba dan analisis Proses pertama setelah upload citra adalah menjalankan system gray yaitu merubah citra dari warna asli menjadi grayscale. Berikut contoh hasil dari implementasi code : Citra asli
Gambar IV.3 Hasil Gray Untuk melakukan analisis dari kedua algoritma deteksi tepi peneliti menggunakan 10 sample citra dengan objek bebas bertipe JPEG. Dari 10 data sample hasil output dapat dilihat pada table.1 Tabel 1.Hasil Citra Uji coba
Objek pinguin
Chrysant hemum
Robert
Prewitt
Hydran geas
Koala
LightH ouse
Tulip
Desert
Honda freed
Rumah
Wajah
Dari hasil uji coba yang dilakukan, program ini dapat memberikan hasil bahwa metode deteksi tepi Robert merupakan metode deteksi yang paling akurat dibanding dengan prewitt. Dapat dilihat hasil dari deteksi pada table 1 hasil deteksi Robert terlihat lebih halus. Namun dalam penanganan waktu dari 10 data uji masing-masing algoritma
memiliki perbedaan waktu yang hamper sama artinya tidak terlalu memliki perbedaan yang segnifikan. Bisa di katakana untuk Robert mencapai rata-rata waktu hingga 70 % dari seluruh uji 10 data sample. Sedangkan prewitt memiki waktu rata-rata 65%.sedangkan untuk hasil kinerja terbaik diantara 10 data uji sample Robert dapat dikatakan tingkat keberhasilan mencapai 70% dalam deteksi terbaikya artinya 7 citra dari 10 data uji, sedangkan prewitt 30% atau 3 citra dari 10 data uji yang berhasil baik diujikan. Beberapa faktor yang menyebabkan terjadinya kegagalan pada metode deteksi tepi adalah karena efek pencahayaan pada saat pengambilan foto sehingga ada beberapa yang bukan tepi terdeteksi atau yang disebut dengan noise. Untuk melihat hasil waktu kinerja dari kedua algoritma tersebut dapat dilihat pada table 2. Tabel.2 Hasil kinerja deteksi Robert dan prewitt Objek Penguin Chrysanthemum Hydrangeas koala LightHouse Tulip Desrt Honda Freed Rumah Wajah V.
Robert 8.913 9.374 10.335 12.168 9.324 10.916 10.364 10.465 9.374 9.895
Prewitt 8.943 9.414 10.334 12.177 9.313 10.917 10.334 10.475 9.393 9.905
Hasil Rob Rob Pre Rob Pre Rob Pre Rob Rob Rob
KESIMPULAN DAN SARAN Dari beberapa hasil analisis dapat disimpulkan kinerja terbaik dari kedua algoritma tersebut robetlah yang memiliki kinerja terbaik baik dari segi hasil dan segi waktu. Untuk melakukan analisis lebih lanjut diharapkan dapat membuat aplikasi yang lebih baik lagi untuk ke empat jenis metode deteksi tepi dengan banyak bahasa pemrograman selain Matlab supaya dapat dipakai untuk pemanfaatan dalam proses pengolahan citra digital.
VI.
DAFTAR PUSTAKA 1. Agushinta R, Dewi dan Alina Diyanti. PERBANDINGAN KINERJA DETEKSI TEPI PADA CITRA WAJAH. Jurnal Jurusan Ilmu Komputer/Teknologi Informasi, Universitas Gunadarma. Depok. 2. Ahmad, U., Pengolahan Citra Digital & Teknik Pemrogramannya, Graha Ilmu , 2005. 3. Murni, A. dan S. Setiawan, Pengantar Pengolahan Citra, Elex Media Komputindo, Jakarta,1992. 4. Munir, R., Pengolahan Citra Digital dengan Pendekatan Algoritmik , Informatika Bandung , 2004. 5. Munir, Rinaldi. Pengolahan Citra Digital. Informatika. Bandung. 2004. 6. Praktikum 8, Deteksi Tepi. Materi Kuliah teknik informatika, ITS. Surabaya. 2012