Implementasi Edge Detection Pada Citra Grayscale dengan Metode Operator Prewitt dan Operator Sobel Sri Enggal Indraani, Ira Dhani Jumaddina, Sabrina Ridha Sari Sinaga (enggal24@gmail.com, Ira.dhani5393@gmail.com, sabrina.sinaga@gmail.com ) Program Studi Ekstensi S1 Ilmu Komputer Fakultas Ilmu Komputer - Teknologi Informasi Universitas Sumatera Utara Medan 2014 ABSTRAK: Deteksi tepi merupakan proses yang digunakan untuk mendeteksi tepian objek, deteksi tepi pada umumnya merupakan langkah awal yang digunakan untuk melakukan proses segmentasi. Format citra grayscale ini disebut skala keabuan karena pada umumnya warna yang dipakai warna hitam sebagai warna minimal (0) dan warna putih (255) sebagai warna maksimalnya, sehingga warna antaranya adalah abu-abu Deteksi tepi operator prewitt merupakan pengembangan metode robert dengan menggunakan filter HPF. Metode ini mengambil prinsip dari fungsi laplacian. Selain itu, terdapat juga operator sobel yang hamper sama dengan operator prewitt. Namun, kelebihan dari opator sobel ini memiliki kemampuan untuk mengurangi noise sebelum melakukan perhitungan deteksi tepi. Kata Kunci : Deteksi Tepi, Citra Grayscale, Operator Prewitt, Operator Sobel ABSTRACT: Edge detection is the process that used to detect edges of objects, general detection of edges is the first step used to perform segmentation process. The grayscale image format called grayscale because generally color use black as minimum color (0) and white (255) as maximum color, until the color is gray. Edge detection of operator prewitt is a development method using a filter HPF. This method takes the principle of function laplacian. In addition, there is also a Sobel operator nearly equal to the operator prewitt. However, the advantages of opator Sobel has ability to reduce noise before performing calculations edge of detection. Keywords : Edge Detection, Image Grayscale, Prewitt operator, Sobel operator 1. PENDAHULUAN 1.1 Latar Belakang Deteksi tepi adalah operasi penting dalam bidang bilogi vision dan komputer vision. Dalam biologi vision, ada kenaikan yang signifikan hal tersebut menyatakan bahwa lapisan luar visual utama berfungsi sebagai spasial untuk mengatur rangsangan visual ke dalam peta dari tepian yang berorientasi. Tepi yang berorientasi tersebut merupakan bukti yang lemah untuk dijadikan alasan terhadap tepian didalam mendeteksi retina. Dalam komputer vision, deteksi tepi berperan didalam pra- processing dan segmentasi. Asumsi dasar yang digunakan dalam komputer vision adalah bahwa bagian tepi ditandai dengan nilai yang besar didalam intensitas. Oleh karena itu dilokasi tepi, turunan pertama dari fungsi intensitas harus maksimal atau turunan kedua harus memiliki persimpangan yang bernilai nol. Hal tersebut merupakan dasar untuk merancang dasar teknik deteksi tepi. Dalam implementasinya, tepian sering ditandai dengan perubahan intensitas yang halus yang dicatat dan ditunjukkan dengan metode deteksi yang lebih maju. 1
2.2 Operator Sobel Gambar 1. Fungsi Turunan Pertama Deteksi Tepi Gambar 2. Fungsi Turunan Kedua Deteksi Tepi 1.2 Tujuan Penulisan Untuk mengetahui implementasi dalam edge detection pada citra true color dengan metode operator prewitt dan operator 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. Peninjauan pengaturan pixel di sekitar pixelnya (x,y) adalah : a 0 a 1 a 2 a 7 (x,y) a 3 a 6 a 5 a 4 Operator sobel adalah magnitudo dari gradien yang dihitung dengan : 1.3 Batasan Masalah Hanya menggunakan metode edge detection, yaitu: operator prewitt dan operator sobel pada objek yang memiliki citra grayscale. 2. LANDASAN TEORI 2.1 Operator 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. Persamaan gradien pada operator prewitt sama dengan gradien pada operator sobel perbedaannya adalah pada prewitt menggunakan konstanta c = 1. dalam hal ini turunan parsial dihitung dengan : S x = (a 2 +ca 3 +a 4 ) (a 0 +ca 2 +a 6 ) S y = (a 0 +ca 1 +a 22 ) (a 6 +ca 5 +a 4 ) Dengan konstanta c = 2. Dalam bentuk s x dan s y dapat dinyatakan sebagai : S x = -2 0 2 1 2 1 S y = 0 0 0-1 -2-1 Arah tepi dihitung dengan persamaan : P x = 1 1 1 P y = 0 0 0-1 -1-1 2.3 Citra Grayscale Format citra ini disebut skala keabuan karena pada umumnya warna yang dipakai warna hitam sebagai warna minimal (0) dan warna putih (255) sebagai warna maksimalnya, sehingga warna antaranya adalah abu-abu, 2
seperti ditunjukkan pada gambar : Derajat keabuan sendiri sebenarnya memiliki beberapa nilai, tidak hanya skala 0 sampai 255. Hal ini tergantung pada nilai kedalaman pixel yang dimiliki oleh citra. Beberapa pembagian nilai derajat keabuan yang hubungannya dengan kedalam pixel ditunjukkan pada tabel berikut ini: a.128 level b. 256 level Citra yang mempunyai ukuran citra dan mempunyai derajat keabuan, dalam informasi yang terkandung citra juga mempunyai histogram tingkat keabuan. 3. PEMBAHASAN DAN HASIL 1. Dengan MATLAB Berikut penggunaan source code pada MATLAB untuk menampilkan edge detection: Tabel derajat keabuan Nilai 1,2,4,8 adalah bilangan bulat positif pada proses kuantisasi citra. Proses kuantisasi citra adalah salah satu bentuk dari proses digitalisasi citra yaitu proses untuk merepresentasikan citra dari fungsi malar (kontinyu) menjadi nilai-nilai diskrit. Proses kuantisasi membagi skala keabuan (gray scale) (0, L) menjadi sejumlah level, dinotasikan dengan G dan nilainya berupa bilangan bulat (integer), biasanya G merupakan hasil perpangkatan dari dua: G = 2 m dengan G = Derajat keabuan (grayscale) dan m = Bilangan bulat positif. Contoh perbedaan ketajaman citra antara citra dengan nilai kedalaman pixel 128 level dan citra dengan kedalaman pixel 256 level. Listing program untuk edge detection pada operator prewitt dan operator sobel Penjelasan program: clear;//membersihkan pada source code sebelumnya citra_asli=imread('flower.jpg');//fi le asli bernama flower.jpg citra_gray=rgb2gray(citra_asli); subplot(2,2,1);//(baris 2, kolom 2, posisi 1 letak gambar grayscale) imshow(citra_gray),title('citra Asli Grayscale');//menampilkan gambar grayscale dengan judul Citra Asli Grayscale subplot(2,2,2);// (baris 2, kolom 2, posisi 2 letak gambar sobel) imshow(edge(citra_gray,'sobel')),ti tle('edge Detection - Algoritma Sobel'); //menampilkan gambar grayscale dengan judul Edge Detection - Algoritma Sobel subplot(2,2,3); //(baris 2, kolom 2, posisi 3 letak gambar prewitt) imshow(edge(citra_gray,'prewitt')), title('edge Detection - Algoritma Prewitt'); //menampilkan gambar grayscale dengan judul Edge Detection - Algoritma Prewitt Algoritma diatas hanya merupakan salah satu perubahan citra menjadi warna abu-abu dengan dua operator yaitu Sobel dan Prewitt, masih banyak cara lainnya. Hasil dari algoritma diatas pada MATLAB dapat diliihat pada citra berikut, yang dimana telah dinamai judul: 3
(ii)citra hasil konvolusi Hasil dari kedua tepi deteksi berdasarkan perhitungan matriks: 3. Dengan Perhitungan Manual 2. Dengan Matrix 3 4 2 5 1 2 1 6 4 2 3 5 7 1 3 4 2 5 7 1 2 5 1 3 2 (i)citra awal S x = -2 0 2 1 2 1 S y = 0 0 0-1 -2-1 Perhitungan antara citra awal dikali S x : S x = (3).(-1) + (2).(-2) + (3).(-1) + (2).(1) + (6).(2) + (7).(1) = 11 Perhitungan antara citra awal dikali S y : S y = (3).(1) + (4).(2) + (2).(1) + (3).(-1) + (5).(- 2) + (7).(-1) = -7 0 0 0 5 1 0 18 0 4 2 0 0 0 1 3 4 2 5 7 1 2 5 1 3 2 f(2,2) = 160 250 240 200 200 180 240 200 180 150 150 160 180 160 150 120 180 140 120 120 100 160 130 100 80 60 Operator Prewitt Horizontal K 1 (x,y) = ( 1*200) + ( 1*160) + ( 1*140) + (1*150) + (1*150) + (1*120) = 80 = 80 Vertikal K 2 (x,y) = ( 1*200) + ( 1*180) + ( 1*150) + (1*140) + (1*120) + (1*120) = 150 = 150 Maka h(2,2) bila menggunakan : K 0 (x,y) = ( K 1 (x,y) + K 2 (x,y) ) = 80 + 150 = 230 K 0 (x,y) = max ( K 1 (x,y), K 2 (x,y) ) = 150 K 0 (x,y) = ( K 1 (x,y) + K 2 (x,y) ) / 2 = (80 + 150)/2 = 115 K 0 (x,y) = K 1 (x,y)* K 1 (x,y) + K 2 (x,y) * K 2 (x,y) = (80*80)+(150*150) = 170 4
Operator Sobel Horizontal K 1 (x,y) = ( 1*200) + ( 2*160) + ( 1*140) + (1*150) + (2*150) + (1*120) = 90 = 90 Vertikal K 2 (x,y) = ( 1*200) + ( 2*180) + ( 1*150) + (1*140) + (2*120) + (1*120) = 210 = 210 Maka h(2,2) bila menggunakan : K 0 (x,y) = ( K 1 (x,y) + K 2 (x,y) ) = 90 + 210 = 300 255 K 0 (x,y) = max ( K 1 (x,y), K 2 (x,y) ) = 210 K 0 (x,y) = ( K 1 (x,y) + K 2 (x,y) ) / 2 = (90 + 210)/2 = 150 K 0 (x,y) = K 1 (x,y)* K 1 (x,y) + K 2 (x,y) * K 2 (x,y) = (90*90)+(210*210) = 228,4 228 Dari perhitungan ini dapat dilihat perbandingan yang diperoleh dari penggunaaan operator Perwitt ataupun Sobel. Hasil dari kalkulasi menurut tiap operator ternyata berbeda nilainya. Hasil nilai terbesar adalah Sobel dan kemudian Prewitt. Dan apabila dibuat aplikasi untuk implementasi dari edge linking dengan 2 macam operator (Prewitt, dan Sobel) itu maka hasil dari operator Sobel paling memiliki tingkat kontras tertinggi dan tepi yang ditampakkan lebih jelas dibandingkan yang lain. Berikut ini gambar implementasi edge detection dengan perhitungan manual: adalah optimal. Kedua operator ialah operator Prewitt dan operator Sobel. Menggunakan tiga perhitungan yaitu perhitungan dengan Matlab, Matrix dan secara manual. Pada perhitungan dengan Matlab, source code telah ada pada aturan codingnya dan pengaturan gambar, posisi dan operator apa yang akan digunakan. Sedangkan pada perhitungan matrix telah menggunakan rumusan dari rumusnya dan perkalian dari citra asli. Bila dilihat pada hasil pada operator Sobel pada perhitungan manual terlihat lebih kontras. 5. DAFTAR PUSTAKA [1] Fadlisyah,dkk. 2008. PengolahanCitra Menggunakan Delphi. Graha Ilmu : Jakarta. [2] Santosa Budi. 2008. Matlab untuk Statistika dan Teknik Optimasi. Graha Ilmu : Jakarta. [3] Santi,C.Noor. 2011. Mengubah Citra Berwarna Menjadi Gray-Scale dan Citra biner. Jurnal Teknologi Informasi DINAMIK.16(1). www.unisbank.ac.id/ojs/index.php/fti1/article/... /223. Diakses tanggal 25 Desember 2014. [4] Mozef, Eril. 2003. Algoritma Labeling Citra Biner dengan Performansi Optimal Processor- Time. Jurnal Informatika. 4(1). www.puslit2.petra.ac.id/gudangpaper/files/1063.pdf. Diakses tanggal 25 Desember 2014. [5] Hasibuan, A.Zulkarnain. 2013. Penerapan Edge Detection pada Citra Digital Menggunakan Operator Laplacian Of Gaussian. Seminar Nasional Teknologi dan Komunikasi (SNASTIKOM 2013). www.prosidingsnastikomti.stth-medan.ac.id/.../185-penerap... Diakses tanggal 25 Desember 2014. [6] https://www.google.com. Diakses tanggal 25 Desember 2014. 4. KESIMPULAN Pada jurnal ini telah dibahas suatu detection pada citra grayscale, dimana menggunakan dua operator yang digunakan 5