378
IMPLEMENTASI DETEKSI TEPI PADA CITRA DIGITAL DENGAN
METODE CANNY DAN INTERPOLASI
Ardiansyah, Hery Sunandar, Ikwan Teknik Informatika STMIK Budi Darma, Medan, Indonesia Jalan Sisingamangaraja No. 338 Simpang Limun, Medan, Indonesia
ABSTRAK
Citra digital adalah gambar dua dimensi yang bisa ditampilkan pada layar komputer sebagai himpunan/ diskrit nilai digital yang disebut pixel/ picture elements. Dalam tinjauan matematis, citra merupakan fungsi kontinu dari intensitas cahaya pada bidang dua dimensi. Citra digital adalah citra f(x,y) dimana dilakukan diskritisasi koordinat sampling/ spasial dan diskritisasi tingkat kwantisasi (kabuan/ kecemerlangannya). Citra digital merupakan fungsi intensitas cahaya f(x,y), dimana harga x dan harga y adalah koordinat spasial. Metode Canny, yang dikemukakan oleh John Canny pada tahun 1986, terkenal sebagai operator deteksi tepi yang optimal.Algoritma ini memberikan tingkat kesalahan yang rendah, melokalisasi titik-titik tepi (jarak piksel-piksel tepi yang ditemukan deteksi dan tepi yang sesungguhnya sangat pendek), dan hanya memberikan satu tanggapan untuk satu tepi. Interpolasi linear atau interpolasi lanjar adalah interpolasi dua buah titik dengan sebuah garis lurus. Misal diberikan dua buah titik, (x0,y0) dan (x1,y1). Polinom yang menginterpolasi kedua titik itu adalah persamaan garis lurus.
Kata Kunci: Citra, Canny, Interpolasi I. PENDAHULUAN
Citra digital adalah gambar dua dimensi yang bisa ditampilkan pada layar komputer sebagai himpunan/ diskrit nilai digital yang disebut pixel/ picture elements. Dalam tinjauan matematis, citra merupakan fungsi kontinu dari intensitas cahaya pada bidang dua dimensi. Citra digital adalah citra f(x,y) dimana dilakukan diskritisasi koordinat sampling/ spasial dan diskritisasi tingkat kwantisasi (kabuan/ kecemerlangannya). Citra digital merupakan fungsi intensitas cahaya f(x,y), dimana harga x dan harga y adalah koordinat spasial. Harga fungsi tersebut di setiap titik (x,y) merupakan tingkat kecemerlangan citra pada titik tersebut.
Deteksi tepi (Edge Detection) pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari obyek-obyek citra. Tepi-tepi ini akan menandai bagian detail citra. Tepi-tepi pada gambar tersebut terletak pada titik-titik yang memiliki perbedaan tinggi. Dengan perbedaan tinggi tersebut tercipta suatu pola atau guratan yang membentuk suatu objek dapat diperoleh menggunakan High Pass Filter (HPF). Yang dimaksud dengan tepi (edge) adalah perubahan nilai intensitas derajat keabuan yang mendadak (besar) dalam jarak yang singkat Perbedaan intensitas inilah yang menampakkan rincian pada gambar. . Tepi biasanya terdapat pada batas antara dua daerah berbeda pada suatu citra. Tepi dapat diorientasikan dengan suatu arah, dan arah ini berbedabeda pada bergantung pada perubahan intensitas. Pendeteksian tepi merupakan langkah pertama untuk melingkupi informasi di dalam citra. Tepi mencirikan batas batas objek dan karena itu tepi berguna untuk proses segmentasi dan identifikasi objek di dalam citra.Tujuan operasi pendeteksian tepi adalah untuk meningkatkan penampakan garis batas suatu daerah atau objek di dalam citra. Karena tepi termasuk ke dalam komponen berfrekuensi tinggi, maka pendeteksian tepi dapat dilakukan dengan penapis lolostinggi.
II. TEORITIS A. Citra
Citra dapat dikelompokkan menjadi dua bagian yaitu citra diam yaitu citra tunggal yang tidak bergerak dan citra bergerak yaitu rangkaian citra diam yang ditampilkan secara beruntun, sehingga memberi kesan pada mata sebagai gambar yang bergerak. Setiap citra didalam rangkaian itu disebut frame. Gambar-gambar yang tampak pada film layar lebar atau televisi yaitu terdiri dari ribuan sampai ratusan-ribu frame (Abdul, K. & Adhi, S. 2013).
Ada beberapa Jenis-jenis citra :
1. Citra analog adalah citra yang bersifat kontinu, seperti gambar pada monitor televisi, foto sinar-X, foto yang tercetak di kertas foto, lukisan, pemandangan alam, hasil CT scan, gambar-gambar yang terekam pada pita kaset, dan lain sebagainya. Citra analog tidak dapat direpresentasikan ke dalam komputer sehingga tidak bisa diproses di komputer secara langsung
2. Citra analog adalah citra yang bersifat kontinu, seperti gambar pada monitor televisi, foto sinar-X, foto yang tercetak di kertas foto, lukisan, pemandangan alam, hasil CT scan, gambar-gambar yang terekam pada pita kaset, dan lain sebagainya. Citra analog tidak dapat direpresentasikan ke dalam komputer sehingga tidak bisa diproses di komputer secara langsung
3. Setiap pixel pada citra warna mewakili warna yang merupakan kombinasi dari tiga warna dasar (RGB
= Red Green Blue). Setiap warna dasar
menggunakan penyimpanan 8 bit = 1 byte, yang berarti setiap warna mempunyai gradasi sebanyak 255 warna. Berarti setiap pixel mempunyai kombinasi warna sebanyak 28.28.28 = 224 = 16 juta warna lebih. Itulah sebabnya format ini dinamakan
true color karena mempunyai jumlah warna yang cukup besar sehingga bisa dikatakan hampir mencakup semua warna di alam.
379 4. Resolusi citra merupakan tingkat detail suatu citra.
Semakin tinggi resolusi citra maka akan semakin tinggi pula tingkat detail dari citra tersebut. Satuan dalam pengukuran resolusi citra dapat berupa ukuran fisik (jumlah garis per mm / jumlah garis per inchi) ataupun dapat juga berupa ukuran citra menyeluruh (jumlah garis per tinggi citra) (Rinaldi Munir, 2004).
5. Pixel merupakan singkatan dari picture element, kadang-kadang disebut juga Pel. Pixel bisa juga diartikan sebagai satu titik dalam satu grid
berbentuk persegi panjang atau juga beribu titik yang secara individual “dilukis” menjadi suatu bentuk image yang dihasilkan pada layar komputer atau pada kertas oleh sebuah printer (Rinaldi Munir, 2004).
Sebuah pixel merupakan satu dari ribuan titik kecil dalam sebuah grid pada layar display ataupun lembar yang dicetak. Titik atau spot ataupun blok secara individual diberi warna secara berurutan untuk menampilkan image di layar komputer dan mewakili elemen terkecil yang bisa dimanipulasi untuk menghasilkan grafik (Rinaldi Munir, 2004).
Gambar 1. Pixel Merupakan Bagian Terkecil Sumber : Rinaldi Munir, 2004
6. Istilah restorasi mempunyai perbedaan makna dengan peningkatan citra.Peningkatan citra
(image enhancement) merupakan istilah yang
menyatakan usaha untuk membuat gambar agar lebih baik dari sudut pandang pengolahnya.Hal ini dilakukan misalnya melalui pengubahan kontras dan kecerahan. Berbeda dengan peningkatan citra, restorasi citra merupakan prosesuntuk membuat citra yang kualitasnya turun akibat adanya tambahan derau agar menjadi mirip dengan keadaan aslinya. Itulah sebabnya, pembahasan restorasi akan dimulai dengan pembahasan noise. (Abdul, K. & Adhi, S. 2013). B. Metode Canny
Operator Canny, yang dikemukakan oleh John Canny pada tahun 1986, terkenal sebagai operator deteksi tepi yang optimal.Algoritma ini memberikan tingkat kesalahan yang rendah, melokalisasi titik-titik tepi (jarak piksel-piksel tepi yang ditemukan deteksi dan tepi yang sesungguhnya sangat pendek), dan hanya memberikan satu tanggapan untuk satu tepi. (Abdul, K. & Adhi, S. 2013)
Terdapat enam langkah yang dilakukan untuk mengimplementasikan deteksi tepi Canny. Keenam langkah tersebut dijabarkan berikut ini.
Langkah 1:
Pertama-tama dilakukan penapisan terhadap citra dengan tujuan untuk menghilangkan derau. Hal ini dapatdilakukan dengan menggunakan filter Gaussian
dengan cadar sederhana. Cadar yang digunakan berukuran jauh lebih kecil daripada ukuran citra.
Gambar 2. Contoh Cadar Gaussian dengan theta = 1,4 Sumber : Abdul, K. & Adhi, S. 2013
Langkah 2:
Setelah penghalusan gambar terhadap derau dilakukan, dilakukan proses untuk mendapatkan kekuatan tepi (edge strength). Hal ini dilakukan dengan menggunakan operator
Gaussian. Selanjutnya, gradien citra dapat dihitung melalui rumus: y x
G
G
G
Langkah 3:Langkah ketiga berupa penghitungan arah tepi. Rumus yang digunakan untuk keperluan ini:
theta = tan-1(G y, Gx)
Langkah 4:
Setelah arah tepi diperoleh, perlu menghubungkan antara arah tepi dengan sebuah arah yang dapat dilacak dari citra. Sebagai contoh, terdapat susunan piksel berukuran 5x5 seperti terlihat pada Gambar. Dengan melihat piksel “a” tampak bahwa a hanya memiliki 4 arah berupa 0o, 45o, 90o, dan 135o.
Selanjutnya, arah tepi yang diperoleh akan dimasukkan ke dalam salah satu kategori dari keempat arah tadi berdasarkan area yang tertera pada Gambar. Langkah 5
Setelah arah tepi diperoleh, penghilangan non-maksimum dilaksanakan. Penghilangan non-maksimum dilakukan di sepanjang tepi pada arah tepi dan menghilangkan piksel-piksel (piksel diatur menjadi 0) yang tidak dianggap sebagai tepi. Dengan cara seperti itu, diperoleh tepi yang tipis.
Langkah 6: 2 4 5 4 2 4 9 12 9 4 5 12 15 12 5 4 9 12 9 4 2 4 5 4 2 1 / 115
380 Langkah keenam berupa proses yang disebut
hysteresis. Proses ini menghilangkan garis-garis yang seperti terputus-putus pada tepi objek. Caranya adalah dengan menggunakan dua ambang T1 dan T2. Lalu, semua piksel citra yang bernilai lebih besar daripada T1 dianggap sebagai piksel tepi. Selanjutnya, semua piksel yang terhubung dengan piksel tersebut dan memiliki nilai lebih besar dari T2 juga dianggap sebagai piksel tepi.
Bagian penting yang perlu dijelaskan adalah penghilangan non-maksimum dan peng-ambangan histeresis. Penghilangan non-maksimum dilakukan dengan mula-mula menyalin isi larikGrad (yang berisi besaran gradien) ke Non_max. Selanjutnya, penghilangan non-maksimum dilaksanakan dengan memperhatikan dua titik tetangga yang terletak pada arah tepi (yang tersimpan dalam Theta). Misalnya, arah tepi adalah 0. Apabila titik yang menjadi perhatian mempunyai koordinat (r, c), dua titik tetangga berupa (r, c-1) dan (r, c+1). Apabila gradien titik perhatian lebih besar daripada gradien kedua tetangga, nilainya akan dipertahankan. Sebaliknya, jika nilai titik perhatian lebih kecil daripada nilai salah satu atau kedua gradien tetangga, nilainya akan diabaikan (diubah menjadi nol).
C. Metode Interpolasi
Interpolasi linear atau interpolasi lanjar adalah interpolasi dua buah titik dengan sebuah garis lurus. Misal diberikan dua buah titik, (x0,y0) dan (x1,y1).
Polinom yang menginterpolasi kedua titik itu adalah persamaan garis lurus yang berbentuk:
𝑃(𝑥) = 𝑎0+ 𝑎1𝑥 . . . (2, . . .)
Gambar dibawah ini memperlihatkan garis lurus yang menginterpolasi titik-titik (x0,y0) dan (x1,y1).
Gambar 3. Interpolasi Linier
Koefisien 𝑎0 dan 𝑎1 dicari dengan proses substitusi dan eliminasi. Dengan mensubstitusikan (𝑥0, 𝑦0) dan (𝑥1, 𝑦1) ke dalam persamaan 𝑝1(𝑥)= 𝑎0+ 𝑎1𝑥 diperoleh dua persamaan linear:
𝑦0= 𝑎0+ 𝑎1𝑥0 . . . (1)
𝑦1= 𝑎0+ 𝑎1𝑥1 . . . (2)
Dari dua persamaan diatas, dengan eliminasi diperoleh:
𝑦0− 𝑦1=(𝑎0+ 𝑎1𝑥0) − (𝑎0+ 𝑎1𝑥1)
𝑦0− 𝑦1= 𝑎1𝑥0− 𝑎1𝑥1 ⇔ 𝑦0− 𝑦1= 𝑎1(𝑥0− 𝑥1)
⇔ 𝑎1=𝑦𝑥0−𝑦1 0−𝑥1
III. ANALISA DAN PEMBAHASAN A. Metode Canny
Dalam analisa metode Canny diperlukan beberapa langkah dalam prosesnya. Karena dalam penelitian ini input
gambar berupa citra berwarna RGB, maka perlu dilakukan konversi dari citra berwarna ke citra grayscale (berskala keabuan). Dengan input citra yang sama seperti metode
Interpolasi proses analisa dengan metode Canny adalah sebagai berikut: G(2,2) = 181x0,077 + 182x0,077 + 189x0,077 + 200x0,077 + 114x0,308 + 201x0,077 + 198x0,077 + 173x0,077 + 205x0,077 = 152,845 = 153 G(2,3) = 182x0,077 + 189x0,077 + 224x0,077 + 114x0,077 + 201x0,308 + 170x0,077 + 173x0,077 + 205x0,077 + 195x0,077 = 173,712 = 174 G(2,4) = 189x0,077 + 224x0,077 + 180x0,077 + 201x0,077 + 170x0,308 + 207x0,077 + 205x0,077 + 195x0,077 + 194x0,077 = 175,175 = 175 G(2,5) = 224x0,077 + 180x0,077 + 110x0,077 + 170x0,077 + 207x0,308 + 132x0,077 + 195x0,077 + 194x0,077 + 132x0,077 = 166,705 = 167 G(2,6) = 180x0,077 + 110x0,077 + 110x0,077 + 207x0,077 + 132x0,308 + 115x0,077 + 194x0,077 + 132x0,077 + 117x0,077 = 130,361 = 130 G(2,7) = 110x0,077 + 110x0,077 + 96x0,077 + 132x0,077 + 115x0,308 + 111x0,077 + 132x0,077 + 117x0,077 + 113x0,077 = 106,337 = 106 G(2,8) = 110x0,077 + 96x0,077 + 98x0,077 + 115x0,077 + 111x0,308 + 107x0,077 + 117x0,077 + 113x0,077 + 100x0,077 = 100,1 = 100 G(2,9) = 96x0,077 + 98x0,077 + 98x0,077 + 111x0,077 + 107x0,308 + 101x0,077 + 113x0,077 + 100x0,077 + 94x0,077 = 95,403 = 95
Setelah proses penghilangan derau (noise) dilakukan, maka langkah selanjutnya adalah proses gradien citra yang dihitung dengan rumus berikut:
y
x
G
G
G
Dalam bentuk mask/ kernel, Gx dan Gy dinyatakan sebagai berikut:
Gx = Gy =
Adapun proses perhitungan gradien citra yang dilakukan adalah sebagai berikut:
Untuk Gx(2,2) = (189(1) + 174(2) + 172(1)) + (181(-1) + 200(-2) + 198(-1)) = -70 -1 0 1 -2 0 2 -1 0 1
381 Untuk Gy(2,2) = (181(1) + 182(2) + 189(1)) - (198(-1) + 168(-2) + 172(-1)) = 28 Untuk Gx(2,3) = (224(1) + 175(2) + 178(1)) - (182(-1) + 153(-2) + 168(-1)) = 96 Untuk Gy(2,3) = (182(1) + 189(2) + 224(1)) - (168(-1) + 172(-2) + 178(-1)) = 94 Untuk Gx(2,4) = (180(1) + 167(2) + 164(1)) - (189(-1) + 174(-2) + 172(-1)) = -31 Untuk Gy(2,4) = (189(1) + 224(2) + 180(1)) - (172(-1) + 178(-2) + 164(-1)) = 125
Perhitungan dilakukan terus sampai koordinat (9,9) dan matriks hasil yang
Untuk mendapatkan nilai pixel G adalah dengan menggunakan rumus:
𝐺 = √𝐺𝑥2+ 𝐺𝑦2
Kemudian dilakukan Tresholding. Ambang batas untuk tresholding dapat disesuaikan. Dalam penelitian ini, proses ambang batasnya adalah 180. Nilai yang berada di atas nilai 180 akan diubah menjadi nilai 1 dan yang di bawah 180 akan diubah menjadi nilai 0. Hasil dari proses ini adalah sebagai berikut:
* * * * * * * * * * * 0 0 0 1 1 0 0 0 * * 0 0 0 0 1 0 0 0 * * 0 0 0 0 1 0 0 0 * * 0 0 0 0 1 0 0 0 * * 0 0 0 0 1 0 0 0 * * 0 0 0 0 1 0 0 0 * * 0 0 0 0 0 1 0 0 * * 0 0 0 0 0 1 1 0 * * * * * * * * * * * B. Metode Interpolasi
Berikut ini merupakan contoh proses deteksi
tepi dengan menggunakan metode Interpolasi.
Gambar 4. Pengambilan Pixel yang Akan Diproses
Setelah proses perhitungan selesai dilakukan, maka didapatlah citra output dari matriks komponen
Red, Green, dan Blue sebagai berikut: 1. Matriks citra komponen Red
Matriks citra awal:
Matriks citra Output:
2. Matriks citra komponen Green
Matriks awal:
Matriks Output:
382 Matriks citra awal:
Matriks citra Output:
IV. IMPLEMENTASI
Implementasi aplikasi ke dalam program. Adapun form-form yang dibuat adalah form menu utama, form deteksi tepi, form daftar data deteksi, form
laporan deteksi dan formabout. Penjelesan mengenai masing-masing form akan dijelaskan
1. Form Deteksi Tepi
Pada form deteksi tepi, user diminta untuk menginputkan citra yang ingin dideteksi tepi-nya, kemudian menentukan nilai radius (untuk menentukan ukuran kernel yang akan digunakan). Adapun proses yang terdapat pada form ini meliputi deteksi tepi pada citra meggunakan metode Canny
dan Interpolasi.
Gambar 5. Form Deteksi Tepi
Data pengujian yang digunakan dalam pengujian deteksi tepi adalah 2 buah citra RGB (citra berwarna) yang terdapat noise (gangguan), Salt and Pepper Noise dan Gaussian Noise Adapun data pengujian tersebut adalah sebagai berikut :
1. Salt and Pepper Noise dengan Metode Canny
Citra yang digunakan pada pengujian ini mengandung Noise berjenis Salt and Pepper dan akan direduksi dengan Metode Canny.
Gambar 6. Citra Dengan Noise Salt and Pepper
2. Salt and Pepper Noise dengan Metode Interpolasi.
Citra yang digunakan pada pengujian ini mengandung Noise berjenis Salt and Pepper dan akan dideteksi dengan Metode Interpolasi.
Gambar 7. Citra Dengan Noise Salt and Pepper
3. Gaussian Noise dengan Metode Canny
Citra yang digunakan pada pengujian ini mengandung Noise berjenis Gaussian Noise dan akan dideteksi dengan Metode Canny.
Gambar 8. Citra Dengan Gaussion Noise
4. Gaussian Noise dengan Metode Interpolasi
Citra yang digunakan pada pengujian ini mengandung Noise berjenis Gaussian Noise dan akan dideteksi dengan Metode Interpolasi
Gambar 9. Citra Dengan Gaussion Noise V. KESIMPULAN
Setelah melakukan beberapa tahap, yang dimulai dari tahap penelitian, perancangan hingga
383 tahap implementasi Edge Detection Filtering Pada
Citra Digital Dengan Metode Canny Dan Interpolasi dapat disimpulkan bahwa.
1.
Metode Canny dan Interpolasi paling baik digunakan untuk deteksi tepi citra jenis noiseSalt and Pepper.2.
Dalam menganalisis parameter analisis ketahanan tepi citra terhadap noise diperoleh hasil bahwa metode Canny memiliki ketahanan yang cukup baik.3.
Dalam menganalisis parameter analisis waktu proses (timing run) diperoleh hasil bahwa cepat atau lamanya waktu proses metode pada citra masukan tergantung pada ukuran citra masukan tersebut. Jika ukuran dari citra masukan besar maka hasil timing run juga akan lama, begitu juga sebaliknya jika ukuran dari citra masukan kecil maka hasil timing run yang didapat akan semakin cepat.REFERENCES
[1] Foxal, J., “Sams Teach Yourself Visual Basic 2008 in 24 Hours”, Complete Starter Kit. USA : Sams Publishing, 2008 [2] Kadir. A., Susanto, A. ”Teori Dan Aplikasi Pengolahan Citra”,
Penerbit Andi, Yogjakarta, 2013
[3] McAmis, D., “Professional Crystal Reports for Visual Studio .NET”, Edisi 2, USA : Wiley Publishing Inc, 2004
[4] Munir, R., “Pengolahan Citra Digital”. Informatika. Bandung , 2004
[5] Nugroho. A., “Unified Modeling Language”. Yogjakarta, 2010 [6] I. Saputra, Mesran, N. A. Hasibuan, and R. Rahim, “Vigenere Cipher Algorithm with Grayscale Image Key Generator for Secure Text File,” Int. J. Eng. Res. Technol., vol. 6, no. 1, pp. 266–269, 2017.
[7] S. Aripin and H. Sunandar, “PERANCANGAN APLIKASI PERBAIKAN CITRA PADA HASIL SCREENSHOT MENGGUNAKAN METODE INTERPOLASI LINIER,”
Pelita Inform. Budi Darma, vol. Volume : 1, no. October, pp.
51–58, 2016.
[8] S. Aripin, G. L. Ginting, and N. Silalahi, “Penerapan metode retinex untuk meningkatkan kecerahan citra pada hasil screenshot,” Media Inform. Budidarma, vol. 1, no. 1, pp. 24– 27, 2017.
[9] Yuhandri, S. Madenda, E. P. Wibowo, and Karmilasari, “Object Feature Extraction of Songket Image Using Chain Code Algorithm,” Int. J. Adv. Sci. Eng. Inf. Technol., vol. 7, no. 1, pp. 235–241, 2017.
[10] S. Sumijan, Y. Yuhandri, and W. Boy, “Detection and Extraction of Brain Hemorrhage on the CT-Scan Image using Hybrid Thresholding Method,” J. Comput. Sci. Inf. Technol., 2016.
[11] T Sutoyo, Teori Pengolahan Citra Digital. Yogyakarta: ANDI, 2009.
[12] E. Prasetyo, Pengolahan Citra Digital dan Aplikasinya
menggunakan Matlab. Yogyakarta: Andi, 2011.
[13] P. Darma, Pengolahan Citra Digital. Yogyakarta: Andi, 2010. [14] M. Zainuddin, L. T. Sianturi, and R. K. Hondro, “IMPLEMENTASI METODE ROBINSON OPERATOR 3 LEVEL UNTUK MENDETEKSI TEPI PADA CITRA DIGITAL,” J. Ris. Komput., vol. 4, no. 4, pp. 1–5, 2017.