Analisis Deteksi Tepi Pada Citra Digital Berbasis JPG...

18
Analisis Deteksi Tepi Pada Citra Digital Berbasis JPG Dengan Operator Canny Menggunakan Matrix Laboratory Desi Herawati dan Aqwam Rosadi Kardian Program Studi Sistem Informasi, STMIK Jakarta STI&K Jl. BRI No.17 Radio Dalam, Kebayoran Baru, Jakarta Selatan E-mail : [email protected], [email protected] Abstrak Citra (image ) sebagai salah satu komponen multimedia memegang peranan penting se- bagai bentuk informasi visual. Suatu citra memiliki karakteristik tersendiri, yang tidak dimiliki oleh data teks, yaitu citra kaya akan informasi. Dalam arti umum citra (image ) merupakan sesuatu yang mereproduksi kembali kemiripan dari bentuk fisik suatu benda. Sedangkan dalam pengertiannya, citra merupakan fungsi menerus (continue ) dari intensitas cahaya pada bidang dwimatra, yaitu di bidang sumbu x dan y pada koordinat cartesian. Dalam sebuah citra terdapat pertemuan antara bagian obyek dan latar belakang dinamakan sebagai tepi obyek. Oleh karenanya tepi sebuah obyek berguna untuk memisahkan obyek- obyek yang saling bersinggungan sehingga mereka tidak dianggap sebagai satu obyek yang besar. Deteksi tepi merupakan suatu proses yang menghasilkan tepi dari objek citra, yang bertujuan untuk menandai bagian yang menjadi detail citra dan untuk memperbaiki detail citra yang kabur. Kata Kunci : JPG Image s, Canny Algorithm, Edge Detection, Matrix Laboratory Pendahuluan Citra (image ) sebagai salah satu komponen multimedia memegang peranan penting seba- gai bentuk informasi visual. Dalam arti umum citra kaya (image ) merupakan sesuatu yang mereproduksi kembali kemiripan dari bentuk fisik suatu benda. Sedangkan dalam penger- tiannya, citra merupakan fungsi menerus (con- tinue) dari intensitas cahaya pada bidang dwimatra, yaitu di bidang sumbu x dan y pada koordinat cartesian. Suatu obyek yang berada dalam bidang citra lain dan tidak bersinggungan dengan batas bidang citra tersebut, menyatakan bahwa obyek tersebut dikelilingi daerah yang bukan obyek atau biasa disebut sebagai latar be- lakang. Pertemuan antara bagian obyek dan latar belakang dinamakan sebagai tepi obyek. Oleh karenanya tepi sebuah obyek berguna un- tuk memisahkan obyek yang saling bersinggun- gan sehingga mereka tidak dianggap sebagai satu obyek yang besar dan tetap dapat dilacak atau dianalisa secara individu [10]. Secara harfiah, citra (image ) merupakan gambar pada bidang dua dimensi. Ditinjau dari sudut pandang matematis, citra meru- pakan fungsi menerus (continue) dari intensi- tas cahaya pada bidang dua dimensi. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut. Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata pada manusia, kamera, penindai (scanner), sehingga bayangan objek yang disebut citra tersebut terekam [2]. Citra digital merupakan sebuah larik (ar- ray) yang berisi nilai real maupun komplek yag direpresentasikan dengan deretan Suatu citra dapat didefinisikan sebagai fungsi f(x,y) berukuran M baris dan N kolom, dengan x dan y adalah koordinat spasial, dan amplitudo f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan dari citra pada titik terse- but. Apabila nilai x,y dan nilai amplitudo f se- cara keseluruhan berhingga (finite) dan berni- lai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra digital. Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227 191

Transcript of Analisis Deteksi Tepi Pada Citra Digital Berbasis JPG...

Analisis Deteksi Tepi Pada Citra Digital Berbasis JPGDengan Operator Canny Menggunakan Matrix

Laboratory

Desi Herawati dan Aqwam Rosadi Kardian

Program Studi Sistem Informasi, STMIK Jakarta STI&KJl. BRI No.17 Radio Dalam, Kebayoran Baru, Jakarta Selatan

E-mail : [email protected], [email protected]

Abstrak

Citra (image) sebagai salah satu komponen multimedia memegang peranan penting se-bagai bentuk informasi visual. Suatu citra memiliki karakteristik tersendiri, yang tidakdimiliki oleh data teks, yaitu citra kaya akan informasi. Dalam arti umum citra (image)merupakan sesuatu yang mereproduksi kembali kemiripan dari bentuk fisik suatu benda.Sedangkan dalam pengertiannya, citra merupakan fungsi menerus (continue) dari intensitascahaya pada bidang dwimatra, yaitu di bidang sumbu x dan y pada koordinat cartesian.Dalam sebuah citra terdapat pertemuan antara bagian obyek dan latar belakang dinamakansebagai tepi obyek. Oleh karenanya tepi sebuah obyek berguna untuk memisahkan obyek-obyek yang saling bersinggungan sehingga mereka tidak dianggap sebagai satu obyek yangbesar. Deteksi tepi merupakan suatu proses yang menghasilkan tepi dari objek citra, yangbertujuan untuk menandai bagian yang menjadi detail citra dan untuk memperbaiki detailcitra yang kabur.

Kata Kunci : JPG Images, Canny Algorithm, Edge Detection, Matrix Laboratory

Pendahuluan

Citra (image) sebagai salah satu komponenmultimedia memegang peranan penting seba-gai bentuk informasi visual. Dalam arti umumcitra kaya (image) merupakan sesuatu yangmereproduksi kembali kemiripan dari bentukfisik suatu benda. Sedangkan dalam penger-tiannya, citra merupakan fungsi menerus (con-tinue) dari intensitas cahaya pada bidangdwimatra, yaitu di bidang sumbu x dan y padakoordinat cartesian.

Suatu obyek yang berada dalam bidangcitra lain dan tidak bersinggungan denganbatas bidang citra tersebut, menyatakan bahwaobyek tersebut dikelilingi daerah yang bukanobyek atau biasa disebut sebagai latar be-lakang. Pertemuan antara bagian obyek danlatar belakang dinamakan sebagai tepi obyek.Oleh karenanya tepi sebuah obyek berguna un-tuk memisahkan obyek yang saling bersinggun-gan sehingga mereka tidak dianggap sebagaisatu obyek yang besar dan tetap dapat dilacakatau dianalisa secara individu [10].

Secara harfiah, citra (image) merupakangambar pada bidang dua dimensi. Ditinjaudari sudut pandang matematis, citra meru-pakan fungsi menerus (continue) dari intensi-tas cahaya pada bidang dua dimensi. Sumbercahaya menerangi objek, objek memantulkankembali sebagian dari berkas cahaya tersebut.Pantulan cahaya ini ditangkap oleh alat-alatoptik, misalnya mata pada manusia, kamera,penindai (scanner), sehingga bayangan objekyang disebut citra tersebut terekam [2].

Citra digital merupakan sebuah larik (ar-ray) yang berisi nilai real maupun komplekyag direpresentasikan dengan deretan Suatucitra dapat didefinisikan sebagai fungsi f(x,y)berukuran M baris dan N kolom, dengan x dany adalah koordinat spasial, dan amplitudo fdi titik koordinat (x,y) dinamakan intensitasatau tingkat keabuan dari citra pada titik terse-but. Apabila nilai x,y dan nilai amplitudo f se-cara keseluruhan berhingga (finite) dan berni-lai diskrit maka dapat dikatakan bahwa citratersebut adalah citra digital.

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

191

Perumusan Masalah

Ditemukan beberapa kondisi berdasarkan latarbelakang yang telah dijelaskan sebelumnya,muncul beberapa masalah mengenai penu-runan kualitas suatu citra, diantaranya adalah:

a) Apakah suatu citra yang mengalamipenurunan kualitas dapat diperbaiki?

b) Apakah dengan menggunakan operatorcanny dapat memperbaiki kualitas citra?

c) Apakah dengan menggunakan aplikasiMatlab dapat memperbaiki kualitas citratersebut?

Tujuan Penelitian

Penelitian ini adalah yaitu :

a) Membuat aplikasi yang dapat membantupengguna dalam menghasilkan tepi dariobjek citra, yang menjadi detail citra.

b) Memperbaiki detail citra yang kabur,yang disebabkan karena error atauadanya efek dari proses akuisisi citra.

c) Membuktikan bahwa suatu citra da-pat dilakukan pendeteksian tepi denganmenggunakan algoritma canny.

Metode Penelitian

Dalam penelitian ini dilakukan tahapan prosesanalisis pendeteksian tepi pada suatu citra,yaitu analisa terhadap proses pendeteksian tepisuatu citra untuk menghasilkan tepi-tepi dariobjek citra, yang bertujuan untuk menandaibagian yang menjadi detail citra dan untukmemperbaiki detail citra yang kabur, yangdisebabkan karena error atau adanya efek dariproses akuisisi citra. Pada penelitian inimengambil dua jenis citra berformat JPG,yaitu citra skala keabuan (grayscale) dan warna(true color). Analisis pendeteksian tepi terse-but dilakukan dengan memanfaatkan fungsiaplikasi Matlab untuk citra skala keabuan(grayscale) dan warna (true color).

Tahapan dalam penelitian, diantaranya :

a) Studi Literatur dan Pemahaman, melaluimengumpulkan bahan-bahan referensiyang membahas tentang pengolahan

citra, aplikasi Matlab, dan analisis pen-deteksian tepi dengan operator canny.

b) Perancangan dan Implementasi. Per-ancangan dan implementasi deteksi tepicitra didasarkan pada operator cannydengan menggunakan alat bantu aplikasiMatlab.

c) Pengujian dan Analisis. Pada tahap inidilakukan uji coba terhadap objek yangdibahas yaitu dengan membuat programuntuk dapat melakukan proses pendetek-sian tepi. Bagian akhir merupakan prosesanalisa terhadap perubahan yang terjadipada citra yang diteliti.

Deteksi Tepi

Deteksi tepi adalah operasi pengolahan citrayang termasuk dalam bidang analisa citra. De-teksi tepi (Edge Detection) merupakan suatuproses yang menghasilkan tepi-tepi dari objek-objek citra, yang bertujuan untuk menandaibagian yang menjadi detail citra dan untukmemperbaiki detail citra yang kabur, yangdisebabkan karena error atau adanya efek dariproses akuisisi citra.

Dalam hal proses pendeteksian tepi ter-dapat banyak variasi teknik yang dapat di-gunakan, di mana tiap teknik tersebut dapatdikembangkan menjadi operator yang memilikikarakteristik tersendiri. Karakteristik sebuahoperator deteksi tepi terkadang tidak dapatmemberikan informasi mengenai karakteristikcitra yang memadai, sehingga hasil akhir dariproses pengolahan citra tersebut tidak sesuaiseperti apa yang diinginkan.

Deteksi tepi (Edge Detection) pada su-atu citra merupakan suatu proses yang meng-hasilkan tepi-tepi dari objek-objek citra, yangbertujuan untuk menandai bagian yang men-jadi detail citra dan untuk memperbaiki detailcitra yang kabur, yang disebabkan karena er-ror atau adanya efek dari proses akuisisi citra.Suatu titik (x,y) dikatakan sebagai tepi (edge)dari suatu citra bila titik tersebut mempunyaiperbedaan yang tinggi dengan tetangganya.

Tepi itu sendiri adalah perubahan nilai in-tensitas derajat keabuan yang besar dalamjarak yang singkat. Terdapat tiga macam tepidi dalam citra digital, yaitu [3]:

a) Tepi Curam

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

192

Tepi curam adalah tepi dengan intensi-tas yang tajam. Arah tepi berkisar 900.Gambar-1 menunjukan deteksi tepi tipe“tepi curam”.

Gambar 1: Tepi Curam

b) Tepi Landai

Tepi landai yaitu tepi dengan sudutarah yang kecil. Tepi landai dapat di-anggap terdiri dari sejumlah tepi lokalyang lokasinya berdekatan. Pada gam-bar 2 menunjukan deteksi tepi tipe “tepilandai”.

Gambar 2: Tepi Landai

c) Tepi yang mengandung derau

Umumnya tepi yang terdapat pada ap-likasi visi komputer mengandung derau.Operasi peningkatan kualitas citra dapatdilakukan terlebih dahulu sebelum pen-deteksian tepi. Gambar-3 menunjukandeteksi tepi tipe “tepi yang mengandungderau”

Gambar 3: Tepi curam dengan derau

Dalam pemrosesan deteksi tepi terdapatbeberapa macam metode yang dapat digu-nakan, diantaranya adalah :

a) Metode Sobel

Metode ini menggunakan prinsip operasispasial dengan ukuran mask 3x3. Tinjaupengaturan piksel di sekitar piksel (x,y): a0 a1 a2

a7 (x, y) a3a6 a5 a4

(1)

Metode sobel adalah magnitudo dari gra-dien yang dihitung dengan :

M = »(S2x+)S2

y (2)

Metode Sobel dapat dinyatakan dalambentuk mask :

Sx =

−1 0 1−2 0 2−1 0 1

dan Sy =

1 2 10 0 0−1 −2 −1

b) Metode Prewitt

Persamaan gradien pada operator pre-witt sama dengan operator sobel, tetapimenggunakan nilai c=1.

Px =

−1 0 1−1 0 1−1 0 1

dan Py =

1 1 10 0 0−1 −1 −1

Metode Roberts dalam bentuk mask kon-volusi

R+ =

[1 00 −1

]dan R− =

[0 1−1 0

]

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

193

Untuk kekuatan tepi dihitung dengan rumus :

G[f(x, y)] = |R + |+ |R− | (3)

Metode turunan kedua disebut juga oper-ator Laplace. Metode ini memperkirakan su-atu Laplacian pada suatu fungsi kontinu yangdidefinisikan sebagai diferensial parsial keduadari fungsi intensitas piksel terhadap sumbuX dan Y. Metode Laplacian dalam deteksitepi pada umumnya tidak dipergunakan secaralangsung, namun dikombinasikan dengan suatukernel Gaussian menjadi sebuah metode Lapla-cian of Gaussian (LoG).

Operator Canny

Salah satu operator deteksi tepi modern adalahdeteksi tepi dengan menggunakan OperatorCanny, deteksi tepi Canny ditemukan olehMarr dan Hildreth yang meneliti permodelanpersepsi visual manusia. Ada beberapa kriteriapendeteksi tepian paling optimum yang dapatdipenuhi oleh operator canny:

a) Mendeteksi dengan baik (kriteria deteksi)

b) Melokalisasi dengan baik (kriteria lokasi)

c) Respon yang jelas (kriteria respon)

Berdasarkan ketiga kriteria tersebut,langkah-langkah dalam deteksi tepi dengan op-erator canny terlihat pada gambar berikut ini.

Gambar 4: Deteksi Tepi dengan OperatorCanny

1) Gaussian Smoothing

Langkah pertama dalam deteksi tepidengan menggunakan operator Cannyadalah melakukan smoothing terhadapcitra asli, dengan tujuan untuk mengu-rangi respon sistem terhadap noise sertamelakukan kontrol terhadap detail yangmuncul pada tepi citra [7]. Smoothing

dilakukan dengan mengkonvolusi citramenggunakan operator Gaussian g(x,y),dinyatakan sebagai [1]:

Dimana:

sv = standar deviasi dari distribusi Gaus-sian

x = sumbu horizontal

y = sumbu vertical

Persamaan (4) dapat digunakan untukmenghitung koefisien dari Gaussian tem-plate yang kemudian dikonvolusikan den-gan citra.

Konvolusi Dengan Operator TurunanPertama Konvolusi adalah perkalian to-tal dari dua buah fungsi f dan h yangdidefinisikan dengan :

Untuk fungsi f dan h yang berdimensi 2,maka konvolusi dua dimensi didefinisikandengan :

Konvolusi dua dimensi inilah yangbanyak digunakan dalam pengolahancitra digital, namun rumus diatas san-gat sulit diimplementasikan menggu-nakan komputer, karena pada dasarnyakomputer hanya bisa melakukan padadata yang diskrit sehingga tidak dapatdigunakan untuk menghitung integral diatas. Konvolusi pada fungsi diskritf(n,m) dan h(n,m) didefinisikan dengan:

Fungsi penapis g(x,y) disebut juga con-volution filter, convolution mask, convo-lution kernel, atau template. Dalam ben-tuk diskrit convolution kernel dinyatakandalam bentuk matriks (umumnya dalambentuk matriks 3x3). Ukuran matriksini biasanya lebih kecil dari ukuran citra.

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

194

Setiap elemen matriks disebut koefisienconvolution.

Dalam operator turunan pertama iniakan menemukan gradient vertikal citradan gradient horizontal citra, yangnantinya akan digabung untuk meng-hasilkan nilai gradient dari citra yangditeliti.

2) Thresholding

Meskipun Gaussian Smoothing sudah di-lakukan pada tahap pertama deteksi tepi,namun masih ada kemungkinan citrahasil output dari proses pencarian gra-dient mengandung potongan-potongangaris tepi yang tidak sesuai dikarenakanadanya derau. Solusi yang biasa di-gunakan untuk mengatasi masalah iniadalah thresholding, dimana semua garistepi yang bernilai dibawah nilai ambang(threshold) tertentu diabaikan. Tetapidengan menggunakan metode ini, penen-tuan nilai ambang yang tepat sulit di-lakukan. Akibatnya, masih akan adagaris tepi yang salah terdeteksi jika ni-lai ambang terlalu rendah, atau garis tepiyang hilang jika nilai ambang yang digu-nakan terlalu besar.

Untuk mengatasi masalah tersebut,Canny menggunakan dua nilai ambangyaitu ambang atas dan ambang bawah.Proses thresholding dimulai dengan titikyang nilainya lebih besar dari ambangatas. Titik ini dikenali sebagai garis tepi,kemudian digunakan sebagai seed untuktahap berikutnya. Dari seed tersebut laludilakukan analisa keterhubungan/link-ing, dimana 8 piksel tetangga dari seeddicek apakah nilainya melebihi ambangbawah atau tidak. Jika melebihi ambangbawah, maka piksel tersebut dikenali se-bagai garis tepi dan digunakan sebagaiseed berikutnya. Proses ini dilakukansecara rekursif, sampai tidak ada lagipiksel tetangga dari seed yang memilikinilai di atas nilai ambang bawah. Dengandemikian, thresholding akan mengurangikemungkinan adanya noise pada garistepi maupun hilangnya garis tepi.

3) Thinning

Thinning merupakan suatu proses untukmembuat garis pada sebuah gambar men-

jadi bentuk yang lebih sederhana. Den-gan melakukan proses thinning, makagaris-garis yang terdapat pada citra akanmemiliki ketebalan satu piksel. Tu-juan dari proses thinning adalah menghi-langkan piksel tertentu pada objek se-hingga tebal objek tersebut menjadihanya satu piksel [4].

Hasil dan Pembahasan

Deteksi tepi (edge detection) pada suatu citramerupakan suatu operasi pengolahan citrayang termasuk dalam bidang analisa citra. De-teksi tepi bertujuan untuk mencari perbedaanintensitas yang menyatakan batas suatu ob-jek dalam suatu citra. Meskipun sebuah citrakaya akan informasi, namun terkadang citratersebut tidak dapat mewakili informasi yangakan disampaikan. Hal tersebut dikarenakankurangnya kualitas suatu citra.

Dalam proses deteksi tepi dengan operatorcanny, proses pertama yaitu penghalusan citra(smoothes) untuk menghilangkan noise. Selan-jutnya proses pencarian tepian horizontal dantepian vertikal untuk menentukan gradient daricitra yang akan menanandai daerah mana yangmemiliki nilai spatial derivatives yang sangattinggi. Operator tersebut kemudian memeriksaseluruh daerah dan memisahkan antara objekdan latar belakangnya dengan menggunakanthreshold. Proses terakhir dalam operator iniyaitu adalah proses thinning, proses ini akanmempertipis garis tepi yang telah dihasilkanpada proses sebelumnya, sehingga bentuk ob-jek dapat terlihat lebih jelas.

Objek citra yang akan diteliti ada duamacam, yaitu :

1) Citra Warna (True Color)

Citra warna (true color) bernamafruits.jpg berukuran 1600x1200 pixelsdan kapasitasnya 493 KB. Tampilan citratersebut adalah sebagai berikut

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

195

Gambar 5: Citra Warna

2) Citra Skala Keabuan (Grayscale)

Citra grayscale bernama the beatles.jpgberukuran 520x642 pixels dan berkapa-sitas 45,9 KB. Tampilan citra tersebutadalah sebagai berikut :

Gambar 6: Citra Grayscale

Pembahasan Masalah

Citra digital merupakan sebuah larik (array)yang berisi nilai-nilai real maupun komplek yagdirepresentasikan dengan deretan bit tertentu.Sebuah citra diubah ke dalam bentuk digitalagar dapat disimpan dalam memori komputeratau media lainnya. Proses perubahan citrake dalam bentuk digital dapat dilakukan den-gan beberapa perangkat seperti, scanner, kam-era digital, dan handycam. Bermacam macamproses pengolahan citra dapat dilakukan ketikasebuah citra telah diubah dalam bentuk digital.

Berikut ini merupakan tampilan blok dia-gram pengolahan citra digital yang akan diba-has :

Gambar 7: Diagram Tahapan Deteksi Tepi

Blok diagram tersebut menunjukan alurkerja pendeteksi tepian dengan menggunakanoperator canny. Diagram ini menjelaskanproses citra digital asli dengan format .jpgditransformasikan menjadi citra kabur (blur-ring) dengan metode Gaussian Filter, prosesini bertujuan untuk menyaring dan membuangnoise pada citra asli. Proses selanjutnya adalahpenggunaan operator prewitt dalam mene-mukan tepi dengan menggunakan gradient darigambar tersebut.

Setelah proses pencarian garis tepi denganmenggunakan operator prewitt selesai, tahapselanjutnya adalah thresholding untuk mengu-rangi noise serta menghasilkan garis tepi padacitra. Setelah melalui proses threshold, diper-lukan proses thinning untuk menipiskan garistepi pada tahap sebelumnya, serta memperte-gas bentuk objek yang diteliti.

Teknik Konversi Citra RGB menjadiCitra Grayscale

Dalam pemrosesan deteksi tepi pada citraRGB fruits.jpg diperlukan tahap awal, yaitupengkonversian citra RGB menjadi citragrayscale. Berikut tampilan awal citra RGBfruits.jpg sebelum dikonversikan menjadi citragrayscale :

Gambar 8: Citra Berwarna (RGB)

Pada gambar 8, merupakan citra RGB aslisebelum yang akan diproses untuk dirubahmenjadi citra grayscale. Dengan menggunakan

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

196

aplikasi Matlab citra RGB fruits.jpg di atasdiproses dengan menggunakan script berikut

%Baca c i t r a ’ f r u i t s . jpg ’gambar = imread ( ’ f r u i t s . jpg ’ ) ;f i g u r e ; imshow( gambar ) ;t i t l e ( ’ Or i g i na l Picture ’ ) ;%Konversi c i t r a RGB menjadi Graysca legray = rgb2gray ( gambar ) ;f i g u r e ; imshow( gray ) ; t i t l e ( ’ Grayscale ’ ) ;

Berikut tampilan citra fruits.jpg yang telahdikonversikan menjadi citra grayscale :

Gambar 9: Citra RGB setelah proses konversimenjadi Grayscale

Dengan menggunakan script diatas, citraRGB fruits.jpg dirubah menjadi citra grayscalefruits.jpg. Pengkonverisan citra RGB menjadicitra grayscale sangat dibutuhkan sebagai taha-pan awal pada kebanyakan proses pengolahancitra termasuk deteksi tepi, hal ini bertujuanuntuk menyederhanakan model citra. Citrayang ditampilkan dari proses ini adalah citraberwarna abu-abu (grayscale). Citra grayscaleberbeda dengan citra hitam putih. Citragrayscale merupakan variasi dari warna hi-tam pada bagian yang berintensitas lemah danwarna putih pada bagian yang berintensitastinggi.

Teknik Penghalusan Citra RGB denganFilter Gaussian

Dalam pembahasan ini citra asli akan di-haluskan dengan menggunakan filter gaus-sian menggunakan aplikasi Matlab setelahmelalui proses konversi citra RGB menjadicitra grayscale.

Filter gaussian merupakan salah satumetode untuk menimbulkan efek seperti lowpass filter yang berfungsi untuk menghi-langkan noise serta menghaluskan citra RGBfruits yang telah dikonversikan menjadi citragrayscale. Berikut tampilan citra fruits.jpg

yang akan diterapkan metode smoothing den-gan menggunakan filter gaussian :

Gambar 10: Citra sebelum proses penghalusan

Dengan menggunakan script dibawah ini,gambar 10 diproses untuk menghasilkan citrayang lebih halus tampilannya. Berikutscript yang digunakan untuk penghalusan citrafruits.jpg dengan menggunakan bantuan dariaplikasi Matlab.

%Baca c i t r a ’ f r u i t s . jpg ’gambar = imread ( ’ f r u i t s . jpg ’ ) ;f i g u r e ; imshow( gambar ) ;t i t l e ( ’ Or i g i na l Picture ’ ) ;%Konversi c i t r a RGB menjadi Graysca legray = rgb2gray ( gambar ) ;f i g u r e ; imshow( gray ) ;t i t l e ( ’ Grayscale ’ ) ;%Gaussian f i l t e rgauss ian = f s p e c i a l ( ’ gauss ian ’ , [ 1 2 12 ] , 5)h a s i l=im f i l t e r ( gray ,gauss ian , ’ symmetric ’ , ’ conv ’ ) ;f i g u r e ; imshow( h a s i l ) , t i t l e ( ’ Blurred ’ ) ;

Berikut tampilan hasil proses penghalu-san citra fruits.jpg dengan menggunakan filtergaussian :

Gambar 11: Citra setelah proses penghalusan

Filter gaussian didapat dari operasi konvo-lusi. Operasi perkalian yang dilakukan ialahperkalian antara matriks kernel dengan ma-triks gambar asli. Pada program diatas, prosesfilterisasi secara gaussian dilakukan denganmenggunakan fungsi Matlab yaitu :

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

197

h = fspecial(‘gaussian’, hsize, sigma)

Dimana :h = nama fungsi.fspecial = jenis filter yang terdapat pada

aplikasi matlab.gaussian = filter gaussian yang terdapat

pada aplikasi matlab.hsize = vektor yang menyatakan jumlah

baris dan kolom matriks.sigma = nilai sigma yang digunakan.Cara kerja dari fungsi filter gaussian yang

terdapat dalam program adalah dengan meng-gunakan matriks dengan ukuran 12x12 dansigma 5, citra akan diburamkan dengan inten-sitas yang ringan. Pengambilan nilai matriksdan sigma pada script tersebut dilakukan se-cara acak, dan dirasakan bahwa matriks 12x12dan sigma = 5 sudah cukup untuk memenuhitahapan penghalusan gambar dengan menggu-nakan filter gaussian.

Teknik Pencarian Gradient Horizontalpada Citra RGB

Setelah proses penghalusan (smoothing) padacitra RGB fruits.jpg, langkah selanjutnya yaitupencarian gradient horizontal untuk menen-tukan garis tepi horizontal dengan menggu-nakan operator prewitt. Berikut ini merupakantampilan citra sebelum melalui tahap pencar-ian gradient horizontal :

Gambar 12: Citra RGB yang telah di smooth-ing

Script berikut digunakan dalam proses pen-carian gradient horizontal pada citra RGBfruits.jpg :

%Baca c i t r a ’ f r u i t s . jpg ’gambar = imread ( ’ f r u i t s . jpg ’ ) ;f i g u r e ;imshow ( gambar ) ; t i t l e ( ’ Or i g i na l Picture ’ ) ;

%Konversi c i t r a RGB menjadi Graysca legray = rgb2gray ( gambar ) ;f i g u r e ; imshow( gray ) ;t i t l e ( ’ Grayscale ’ ) ;%Gaussian f i l t e rgauss ian=f s p e c i a l ( ’ gauss ian ’ , [ 1 2 12 ] , 5)h a s i l=im f i l t e r ( gray ,gauss ian , ’ symmetric ’ , ’ conv ’ ) ;f i g u r e ; imshow( h a s i l ) , t i t l e ( ’ Blurred ’ ) ;%Deteks i Tepi Hor i zonta lpx = [−1 0 1;−1 0 1;−1 0 1 ] ;h a s i l p x = f i l t e r 2 (px , h a s i l ) ; f i g u r e ;imshow ( ha s i l p x /255) ,t i t l e ( ’ Tepi Hor izonta l ’ ) ;

Berikut tampilan citra RGB fruits.jpg sete-lah melalui proses pencarian gradient horizon-tal

Gambar 13: Gradient horizontal pada citraRGB

Pada gambar 13, sudah terlihat bahwaobjek-objek yang terdapat pada citra RGBfruits.jpg tidak terlalu nampak, hanya beber-apa garis tipis yang dapat terlihat. Hal terse-but dikarenakan garis tepi yang dihasilkanhanya berupa garis tepi secara horizontal.Proses pencarian gradient horizontal pada citraRGB fruits.jpg berdasarkan pada metode pre-witt.

Dimana metode ini menggunakan penin-jauan pengaturan piksel di sekitar piksel (x,y)dengan menggunakan mask 3x3 yaitu :

Berdasarkan mask 3x3 tersebut, gradienthorizontal dihitung dengan menggunakan per-samaan :

Dalam hal ini turunan parsial dihitung den-gan cara

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

198

Dengan menggunakan nilai konstanta c=1,maka Px dapat dinyatakan dalam bentuk maskyaitu

Berdasarkan mask Px yang telah didapat,maka proses pencarian gradient horizontal da-pat dilakukan dengan menggunakan matriks

Pada script proses pencarian gradient hor-izontal mask Px berguna untuk mencari gra-dient, filter2 digunakan sebagai filterisasi padacitra dua dimensi, dan nilai 255 dimaksudkanuntuk menampilkan garis tepi berwarna putih.

Teknik Pencarian Gradient Vertikal padaCitra RGB

Setelah melakukan proses pencarian gradi-ent horizontal, tahap selanjutnya yaitu prosespencarian gradient vertikal pada citra RGBfruits.jpg. Proses ini bertujuan untuk mencarigaris tepi vertikal pada citra dengan menggu-nakan operator prewitt. Berikut ini tampilancitra RGB fruits.jpg sebelum dilakukan prosespencarian gradient vertikal.

Gambar 14: Citra RGB sebelum pencarian gra-dient vertikal

Script berikut digunakan dalam prosespencarian gradient vertikal pada citra RGBfruits.jpg.

%Baca c i t r a ’ f r u i t s . jpg ’gambar = imread ( ’ f r u i t s . jpg ’ ) ;f i g u r e ; imshow( gambar ) ;t i t l e ( ’ Or i g i na l Picture ’ ) ;%Konversi c i t r a RGB menjadi Graysca legray = rgb2gray ( gambar ) ;f i g u r e ; imshow( gray ) ; t i t l e ( ’ Grayscale ’ ) ;

%Gaussian f i l t e rgauss ian = f s p e c i a l ( ’ gauss ian ’ , [ 1 2 12 ] , 5)h a s i l=im f i l t e r ( gray , gauss ian ,’ symmetric ’ , ’ conv ’ ) ;f i g u r e ; imshow( h a s i l ) , t i t l e ( ’ Blurred ’ ) ;%Deteks i Tepi Ve r t i ka lpy = [−1 −1 −1;0 0 0 ;1 1 1 ] ;h a s i l p y = f i l t e r 2 (py , h a s i l ) ;f i g u r e ; imshow( ha s i l p y /255) ,t i t l e ( ’ Tepi Vert ika l ’ ) ;

Berikut tampilan citra RGB fruits.jpg sete-lah melalui proses pencarian gradient vertikal.

Gambar 15: Gradient vertikal pada citra RGB

Pada gambar 15, terlihat bahwa objek-objek yang terdapat pada citra RGB fruits.jpgtidak terlalu nampak, hanya beberapa garistipis yang dapat terlihat. Hal tersebut dikare-nakan garis tepi yang dihasilkan hanya berupagaris tepi secara vertikal. Proses pencariangradient vertikal pada citra RGB fruits.jpgberdasarkan pada metode prewitt.

Dimana metode ini menggunakan penin-jauan pengaturan piksel di sekitar piksel (x,y)dengan menggunakan mask 3x3 yaitu

Berdasarkan mask 3x3 tersebut, gradientvertikal dihitung dengan menggunakan per-samaan

Dalam hal ini turunan parsial dihitung den-gan cara

Dengan menggunakan nilai konstanta c=1,maka Py dapat dinyatakan dalam bentuk maskyaitu

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

199

Berdasarkan mask Px yang telah didapat,maka proses pencarian gradient vertikal dapatdilakukan dengan menggunakan matriks

Pada script proses pencarian gradient ver-tikal mask Py berguna untuk mencari gradient,filter2 digunakan sebagai filterisasi pada citradua dimensi, dan nilai 255 dimaksudkan un-tuk menampilkan garis tepi vertikal berwarnaputih.

Teknik Penggabungan Kedua Gradientpada Citra RGB

Untuk menemukan gradient pada citra RGBfruits.jpg diperlukannya penggabungan gradi-ent vertikal dan gradient horizontal yang telahdidapat dengan menggunakan operator pre-witt. Berikut merupakan tampilan gradienthorizontal yang akan digabungkan dengan gra-dient vertikal.

Gambar 16: Gradient horizontal yang akan di-gabungkan dengan gradient vertikal pada citraRGB

Dengan menggunakan kedua gradient yaitugradient vertikal dan gradient horizontal yangtelah didapat dari citra RGB fruits.jpg, makaproses selanjutnya adalah proses penggabun-gan kedua gradient dengan menggunakanscript berikut ini.

%Baca c i t r a ’ f r u i t s . jpg ’gambar = imread ( ’ f r u i t s . jpg ’ ) ;f i g u r e ; imshow( gambar ) ;t i t l e ( ’ Or i g i na l Picture ’ ) ;%Konversi c i t r a RGB menjadi Graysca legray = rgb2gray ( gambar ) ;f i g u r e ; imshow( gray ) ; t i t l e ( ’ Grayscale ’ ) ;%Gaussian f i l t e r

gauss ian = f s p e c i a l ( ’ gauss ian ’ , [ 1 2 12 ] , 5)h a s i l = im f i l t e r ( gray ,gauss ian , ’ symmetric ’ , ’ conv ’ ) ;f i g u r e ; imshow( h a s i l ) , t i t l e ( ’ Blurred ’ ) ;%Deteks i Tepi Hor i zonta lpx = [−1 0 1;−1 0 1;−1 0 1 ] ;h a s i l p x = f i l t e r 2 (px , h a s i l ) ;f i g u r e ; imshow( ha s i l p x /255) ,t i t l e ( ’ Tepi Hor izonta l ’ ) ;%Deteks i Tepi Ve r t i ka lpy = [−1 −1 −1;0 0 0 ;1 1 1 ] ;h a s i l p y = f i l t e r 2 (py , h a s i l ) ;f i g u r e ; imshow( ha s i l p y /255) ,t i t l e ( ’ Tepi Vert ika l ’ ) ;%Penggabungan Kedua Gradientg rad i en t = sq r t ( h a s i l p x .ˆ2 + ha s i l p y . ˆ 2 ) ;f i g u r e ; imshow ( grad i en t /255) ,t i t l e ( ’ Gradient ’ )

Berikut tampilan citra RGB fruits.jpg sete-lah kedua gradient vertikal dan gradient hori-zontal digabungkan

Gambar 17: Penggabungan Gradient padaCitra RGB

Dengan menggunakan script tersebut,proses penggabungan gradient dilakukan.Proses penggabungan gradient pada citra RGBfruits.jpg itu sendiri didasari pada persamaan

Dimana gradient pada citra RGB fruits.jpgdidapatkan dari hasil akar penjumlahan gra-dient vertikal kuadrat dan gradient horizontalkuadrat. Dengan penggabungan kedua gradi-ent vertikal dan gradient horizontal yang telahdidapat dengan menggunakan operator pre-witt, maka hasil yang didapatkan pada citraRGB fruits.jpg adalah mulai tampaknya garis-garis tepi pada objek, sehingga bentuk padaobjek dapat terlihat.

Teknik Penyaringan Noise Citra RGBdengan Thresholding

Melalui proses penggabungan gradient ver-tikal dan gradient horizontal pada citra RGB

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

200

fruits.jpg, telah dihasilkan garis-garis tepi padaobjek. Namun garis tepi yang dihasilkan padaproses penggabungan kedua gradient tersebutmasih mengandung garis-garis halus dan juganoise pada citra RGB fruits.jpg, yang men-gakibatkan objek-objek yang ada pada citraRGB fruits.jpg masih kurang terlihat denganjelas. Berdasarkan permasalahan tersebut,maka diperlukan adanya proses thresholding.Berikut ini merupakan tampilan citra RGBfruits.jpg yang akan diproses dengan menggu-nakan teknik thresholding

Gambar 18: Citra RGB sebelum proses tresh-olding

Source code berikut digunakan dalam pen-golahan citra dengan menggunakan teknikthresholding.

%Baca c i t r a ’ f r u i t s . jpg ’gambar = imread ( ’ f r u i t s . jpg ’ ) ;f i g u r e ; imshow( gambar ) ;t i t l e ( ’ Or i g i na l Picture ’ ) ;%Konversi c i t r a RGB menjadi Graysca legray = rgb2gray ( gambar ) ;f i g u r e ; imshow( gray ) ; t i t l e ( ’ Grayscale ’ ) ;%Gaussian f i l t e rgauss ian = f s p e c i a l ( ’ gauss ian ’ , [ 1 2 12 ] , 5)h a s i l = im f i l t e r ( gray ,gauss ian , ’ symmetric ’ , ’ conv ’ ) ;f i g u r e ; imshow( h a s i l ) , t i t l e ( ’ Blurred ’ ) ;%Deteks i Tepi Hor i zonta lpx = [−1 0 1;−1 0 1;−1 0 1 ] ;h a s i l p x = f i l t e r 2 (px , h a s i l ) ;f i g u r e ; imshow( ha s i l p x /255) ,t i t l e ( ’ Tepi Hor izonta l ’ ) ;%Deteks i Tepi Ve r t i ka lpy = [−1 −1 −1;0 0 0 ;1 1 1 ] ;h a s i l p y = f i l t e r 2 (py , h a s i l ) ;f i g u r e ; imshow( ha s i l p y /255) ,t i t l e ( ’ Tepi Vert ika l ’ ) ;%Penggabungan Kedua Gradientg rad i en t = sq r t ( h a s i l p x .ˆ2+ ha s i l p y . ˆ 2 ) ;f i g u r e ; imshow ( grad i en t /255) ,t i t l e ( ’ Gradient ’ )%Thresholdl e v e l = graythresh ( g rad i en t /255 ) ;bw = im2bw( grad i en t /255 , l e v e l ) ;bw = bwareaopen (bw, 5 0 ) ;f i g u r e ; imshow(bw) , t i t l e ( ’ Threshold ’ ) ;

Dengan menggunakan script tersebut,maka tampilan citra yang dihasilkan adalahsebagai berikut.

Gambar 19: Citra RGB setelah proses thresh-olding

Berdasarkan hasil citra RGB fruits.jpg yangtelah didapatkan setelah melalui proses thresh-olding, maka garis tepi yang dihasilkan sudahterlihat dengan jelas. Proses thrresholding itusendiri bertujuan untuk menghilangkan noise,memisahkan antara objek dengan latar be-lakangnya, dan untuk mempertegas garis tepiyang telah didapat pada citra RGB fruits.jpgyang dihasilkan dari proses sebelumnya. Prosesthresholding pada prgogram ini menggunakanfungsi pada aplikasi matlab yaitu

l e v e l = graythresh ( g rad i ent /255 ) ;bw = im2bw( grad i ent /255 , l e v e l ) ;bw = bwareaopen (bw, 5 0 ) ;

Dengan menggunakan fungsi “graythresh”,dan menggunakan fungsi “im2bw” yangberguna untuk merubah citra RGB fruits.jpgmenjadi citra biner. Setelah citra RGBfruits.jpg diubah menjadi citra biner, langkahselanjutnya adalah pemisahan objek denganlatar belakangnya dengan menggunakan fungsi“bwareaopen” dan dengan menggunakan nilaithresholding=50. Pengambilan nilai thresholddalam program ini dilakukan secara acak demimempersingkat waktu.

Teknik Penipisan Garis Tepi pada CitraRGB

Meskipun garis tepi pada citra RGB fruits.jpgtelah terbentuk jelas dengan menggunakanteknik thresholding, namun garis tepi yang di-hasilkan terlalu tebal sehingga beberapa objekyang berukuran kecil tidak telihat dengan jelas.Proses thinning dibutuhkan untuk menipiskangaris tepi yang terlalu tebal, sehingga semuaobjek dapat terlihat bentuknya. Dengan meng-gunakan script berikut, garis tepi yang tampakpada gambar 20, akan melalui proses penipisan.

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

201

Berikut ini script yang digunakan dalam prosesthinning :

%Baca c i t r a ’ f r u i t s . jpg ’gambar = imread ( ’ f r u i t s . jpg ’ ) ;f i g u r e ; imshow( gambar ) ;t i t l e ( ’ Or i g i na l Picture ’ ) ;%Konversi c i t r a RGB menjadi Graysca legray = rgb2gray ( gambar ) ;f i g u r e ; imshow( gray ) ;t i t l e ( ’ Grayscale ’ ) ;%Gaussian f i l t e rgauss ian = f s p e c i a l ( ’ gauss ian ’ , [ 1 2 12 ] , 5)h a s i l = im f i l t e r ( gray ,gauss ian , ’ symmetric ’ , ’ conv ’ ) ;f i g u r e ; imshow( h a s i l ) ,t i t l e ( ’ Blurred ’ ) ;%Deteks i Tepi HOrizontalpx = [−1 0 1;−1 0 1;−1 0 1 ] ;h a s i l p x = f i l t e r 2 (px , h a s i l ) ;f i g u r e ; imshow( ha s i l p x /255) ,t i t l e ( ’ Tepi Hor izonta l ’ ) ;%Deteks i Tepi Ve r t i ka lpy = [−1 −1 −1;0 0 0 ;1 1 1 ] ;h a s i l p y = f i l t e r 2 (py , h a s i l ) ;f i g u r e ; imshow( ha s i l p y /255) ,t i t l e ( ’ Tepi Vert ika l ’ ) ;%Penggabungan Kedua Gradientg rad i en t=sq r t ( h a s i l p x .ˆ2+ ha s i l p y . ˆ 2 ) ;f i g u r e ; imshow ( grad i en t /255) ,t i t l e ( ’ Gradient ’ )%Thresholdl e v e l = graythresh ( g rad i en t /255 ) ;bw = im2bw( grad i en t /255 , l e v e l ) ;bw = bwareaopen (bw, 5 0 ) ;f i g u r e ; imshow(bw) , t i t l e ( ’ Threshold ’ ) ;%Thinningbw2 = bwmorph (bw, ’ ske l ’ , I n f ) ;f i g u r e ; imshow(bw2) , t i t l e ( ’ Thinning ’ ) ;

Berikut ini merupakan tampilan citra RGBfruits.jpg setelah melalui proses thinning.

Gambar 20: Hasil akhir deteksi tepi pada citraRGB

Dengan menggunakan proses thinning,objek-objek pada citra RGB fruits.jpg menjaditerlihat lebih jelas hingga ke objeknya yangterkecil sekalipun. Proses thinning dalam pro-gram diatas digunakan untuk merubah ukurangaris tepi yang pada citra RGB fruits.jpg yangdidapat dari proses thresholding menjadi satupiksel. Pada proses thinning pada citra RGBfruits.jpg, digunakan fungsi Matlab yaitu

bw2 = bwmorph (bw, ’ ske l ’ , I n f ) ;

Dimana fungsi yang digunakan untuk pem-rosesan thinning adalah “bwmorph”, denganmenggunakan nilai “Inf” (tak terhingga) op-erasi “skel” menghilangkan piksel-piksel yangterdapat pada batasan objek tanpa membuatterputusnya garis tepi pada objek.

Teknik Penghalusan Citra Grayscaledengan Filter Gaussian

Pada citra grayscale beatles.jpg, proses pende-teksian tepi tidak jauh berbeda dengan prosespendeteksian tepi pada citra RGB fruits.jpg.Hanya saja pada langkah awal pendeteksiantepi pada citra grayscale beatles.jpg tidakmelalui proses konversi citra menjadi citragrayscale. Hal tersebut dikarenakan citra itusendiri sudah berupa citra grayscale, makadari itu proses pendeteksian tepi pada citragrayscale beatles.jpg langsung dimulai denganproses penghalusan gambar dengan menggu-nakan filter gaussian.

Berikut ini merupakan tampilan awal citrasebelum melalui proses penghalusan gambardengan menggunakan filter gaussian untukcitra grayscale.

Gambar 21: Hasil akhir deteksi tepi pada citraRGB

Untuk proses penghalusan citra grayscalelangkahnya sama seperti citra berwarna, sourcecode sebagai berikut.

%Baca c i t r a ’ b e a t l e s . jpg ’gambar = imread ( ’ b e a t l e s . jpg ’ ) ;gray = rgb2gray ( gambar ) ;f i g u r e ; imshow( gray ) ; t i t l e ( ’ Grayscale ’ ) ;%Gaussian f i l t e rgauss ian = f s p e c i a l ( ’ gauss ian ’ , [ 1 2 12 ] , 5)h a s i l = im f i l t e r ( gray ,gauss ian , ’ symmetric ’ , ’ conv ’ ) ;f i g u r e ; imshow( h a s i l ) , t i t l e ( ’ Blurred ’ ) ;

Hasil dari script program diatas terlihatpada gambar 22, berikut

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

202

Gambar 22: Citra grayscale setelah prosespenghalusan

Proses penghalusan citra grayscale beat-les.jpg tidak jauh berbeda dengan proses peng-halusan citra RGB fruits.jpg, dimana prosesfilterisasi secara gaussian dilakukan denganmenggunakan fungsi Matlab yaitu

h = fspecial(‘gaussian’, hsize, sigma)

Dimana :

h = nama fungsi.

fspecial = jenis filter yang terdapat padaaplikasi matlab.

gaussian = filter gaussian yang terdapatpada aplikasi matlab.

hsize = vektor yang menyatakan jumlahbaris dan kolom matriks.

sigma = nilai sigma yang digunakan

Ukuran matriks dan juga nilai sigma yangdigunakan dalam proses penghalusan gambarpada citra grayscale beatles.jpg sama den-gan yang digunakan pada citra RGB fruits.jpgyaitu ukuran matriks adalah 12x12 dan ni-lai sigma yang digunakan adalah 5. Penggu-naan matriks dan sigma dalam program iniadalah untuk memburamkan citra dengan in-tensitas yang ringan, sehingga citra grayscalebeatles.jpg dapat diproses untuk tahapan se-lanjutnya yaitu proses pencarian gradient citra.

Teknik Pencarian Gradient Horizontalpada Citra Grayscale

Sama halnya dengan proses penghalusan citragrayscale beatles.jpg, proses pencarian gradi-ent horizontal pada citra grayscale beatles.jpgtidak jauh berbeda dengan proses pencariangradient horizontal pada citra RGB fruits.jpg.

Berikut adalah script program untuk pen-carian gradient horizontal pada citra grayscale.

%Baca c i t r a ’ b e a t l e s . jpg ’gambar = imread ( ’ b e a t l e s . jpg ’ ) ;gray = rgb2gray ( gambar ) ;f i g u r e ; imshow( gray ) ; t i t l e ( ’ Grayscale ’ ) ;%Gaussian f i l t e rgauss ian=f s p e c i a l ( ’ gauss ian ’ , [ 1 2 12 ] , 5)h a s i l=im f i l t e r ( gray ,gauss ian , ’ symmetric ’ , ’ conv ’ ) ;f i g u r e ; imshow( h a s i l ) , t i t l e ( ’ Blurred ’ ) ;%Deteks i Tepi Hor i zonta lpx = [−1 0 1;−1 0 1;−1 0 1 ] ;h a s i l p x = f i l t e r 2 (px , h a s i l ) ;f i g u r e ; imshow( ha s i l p x /255) ,t i t l e ( ’ Tepi Hor izonta l ’ ) ;

Berikut ini merupakan tampilan citragrayscale setelah proses pencarian gradienthorizontal.

Gambar 23: Gradient Horizontal pada CitraGrayscale

Untuk mendapatkan gradient horizontalpada citra grayscale beatles.jpg, dibutuhkanoperator turunan pertama. Dalam programini penulis menggunakan operator prewitt yangjuga digunakan pada proses pencarian gradientpada citra RGB fruits.jpg.

Dimana metode ini menggunakan penin-jauan pengaturan piksel di sekitar piksel (x,y)dengan menggunakan mask 3x3 yaitu :

Berdasarkan mask 3x3 tersebut, gradienthorizontal dihitung dengan menggunakan per-samaan

Dalam hal ini turunan parsial dihitung den-gan cara

Dengan menggunakan nilai konstanta c=1,maka Px dapat dinyatakan dalam bentuk maskyaitu

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

203

Berdasarkan mask Px yang telah didapat,maka proses pencarian gradient horizontal da-pat dilakukan dengan menggunakan matriks

Pada script proses pencarian gradient hor-izontal mask Px berguna untuk mencari gra-dient, filter2 digunakan sebagai filterisasi padacitra dua dimensi, dan nilai 255 dimaksudkanuntuk menampilkan garis tepi berwarna putih.

Teknik Pencarian Gradient Vertikal padaCitra Grayscale

Dalam melakukan proses pencarian gradientpada citra grayscale beatles.jpg, selain gradi-ent horizontal diperlukan juga gradient vertikaluntuk mendapatkan gradient yang tepat padacitra grayscale beatles.jpg.

Berikut ini merupakan tampilan citragrayscale beatles.jpg sebelum melalui prosespencarian gradient vertikal.

Gambar 24: Gradient Vertikal pada CitraGrayscale

Berikut ini adalah script program un-tuk pencarian gradient vertikal pada citragrayscale.

%Baca c i t r a ’ b e a t l e s . jpg ’gambar = imread ( ’ b e a t l e s . jpg ’ ) ;gray = rgb2gray ( gambar ) ;f i g u r e ; imshow( gray ) ; t i t l e ( ’ Grayscale ’ ) ;%Gaussian f i l t e rgauss ian=f s p e c i a l ( ’ gauss ian ’ , [ 1 2 12 ] , 5)h a s i l = im f i l t e r ( gray ,gauss ian , ’ symmetric ’ , ’ conv ’ ) ;f i g u r e ; imshow( h a s i l ) , t i t l e ( ’ Blurred ’ ) ;%Deteks i Tepi Ve r t i ka lpy = [−1 −1 −1;0 0 0 ;1 1 1 ] ;h a s i l p y = f i l t e r 2 (py , h a s i l ) ;

f i g u r e ; imshow( ha s i l p y /255) ,t i t l e ( ’ Tepi Vert ika l ’ ) ;

Untuk mendapatkan gradient vertikal padacitra grayscale beatles.jpg, dibutuhkan oper-ator turunan pertama. Dalam program inipenulis menggunakan operator prewitt yangjuga digunakan pada proses pencarian gradientpada citra RGB fruits.jpg.

Dimana metode ini menggunakan penin-jauan pengaturan piksel di sekitar piksel (x,y)dengan menggunakan mask 3x3 yaitu :

Berdasarkan mask 3x3 tersebut, gradientvertikal dihitung dengan menggunakan per-samaan

Dalam hal ini turunan parsial dihitung den-gan cara

Dengan menggunakan nilai konstanta c=1,maka Py dapat dinyatakan dalam bentuk maskyaitu

Berdasarkan mask Px yang telah didapat,maka proses pencarian gradient vertikal dapatdilakukan dengan menggunakan matriks :

Pada script proses pencarian gradient ver-tikal mask Py berguna untuk mencari gradient,filter2 digunakan sebagai filterisasi pada citradua dimensi, dan nilai 255 dimaksudkan un-tuk menampilkan garis tepi vertikal berwarnaputih.

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

204

Teknik Penggabungan Kedua Gradientpada Citra Grayscale

Setelah pencarian gradient vertikal dan gradi-ent horizontal pada citra grayscale beatles.jpgselesai, langkah selanjutnya yaitu proses peng-gabungan kedua gradient untuk mendapatkangradient pada citra grayscale beatles.jpg.

Dengan menggunakan kedua gradient yaitugradient vertikal dan gradient horizontal yangtelah didapat dari citra grayscale beatles.jpg,maka proses selanjutnya adalah proses peng-gabungan kedua gradient dengan menggu-nakan script berikut ini :

%Baca c i t r a ’ b e a t l e s . jpg ’gambar = imread ( ’ b e a t l e s . jpg ’ ) ;gray = rgb2gray ( gambar ) ;f i g u r e ; imshow( gray ) ; t i t l e ( ’ Grayscale ’ ) ;%Gaussian f i l t e rgauss ian = f s p e c i a l ( ’ gauss ian ’ , [ 1 2 12 ] , 5)h a s i l = im f i l t e r ( gray ,gauss ian , ’ symmetric ’ , ’ conv ’ ) ;f i g u r e ; imshow( h a s i l ) , t i t l e ( ’ Blurred ’ ) ;%Deteks i Tepi Hor i zonta lpx = [−1 0 1;−1 0 1;−1 0 1 ] ;h a s i l p x = f i l t e r 2 (px , h a s i l ) ;f i g u r e ; imshow( ha s i l p x /255) ,t i t l e ( ’ Tepi Hor izonta l ’ ) ;%Deteks i Tepi Ve r t i ka lpy = [−1 −1 −1;0 0 0 ;1 1 1 ] ;h a s i l p y = f i l t e r 2 (py , h a s i l ) ;f i g u r e ;imshow ( ha s i l p y /255) , t i t l e ( ’ Tepi Vert ika l ’ ) ;%Penggabungan Kedua Gradientg rad i en t=sq r t ( h a s i l p x .ˆ2 + ha s i l p y . ˆ 2 ) ;f i g u r e ;imshow ( grad i en t /255) , t i t l e ( ’ Gradient ’ ) ;

Berikut tampilan citra grayscale beatles.jpgsetelah kedua gradient vertikal dan gradienthorizontal digabungkan.

Gambar 25: Penggabungan kedua gradientpada citra grayscale

Dengan menggunakan script tersebut,proses penggabungan gradient dilakukan.Proses penggabungan gradient pada citragrayscale beatles.jpg itu sendiri didasari padapersamaan

Dimana gradient pada citra grayscale bea-tles.jpg didapatkan dari hasil akar penjumla-han gradient vertikal kuadrat dan gradient hor-izontal kuadrat. Dengan penggabungan keduagradient vertikal dan gradient horizontal yangtelah didapat dengan menggunakan operatorprewitt, maka hasil yang didapatkan pada citragrayscale beatles.jpg adalah mulai tampaknyagaris-garis tepi pada objek, sehingga bentukpada objek dapat terlihat.

Teknik Penyaringan Noise CitraGrayscale dengan Thresholding

Proses selanjutnya setelah gradient pada citragrayscale beatles.jpg telah ditemukan yaitu,proses penyaringan noise pada citra grayscalebeatles.jpg dengan menggunakan thresholding.

Untuk melakukan proses pengurangannoise pada citra tersebut, maka berikut iniscript proses threshold dengan menggunakanaplikasi matlab

%Baca c i t r a ’ b e a t l e s . jpg ’gambar = imread ( ’ b e a t l e s . jpg ’ ) ;gray = rgb2gray ( gambar ) ;f i g u r e ; imshow( gray ) ; t i t l e ( ’ Grayscale ’ ) ;%Gaussian f i l t e rgauss ian = f s p e c i a l ( ’ gauss ian ’ , [ 1 2 12 ] , 5)h a s i l=im f i l t e r ( gray ,gauss ian , ’ symmetric ’ , ’ conv ’ ) ;f i g u r e ; imshow( h a s i l ) , t i t l e ( ’ Blurred ’ ) ;%Deteks i Tepi Hor i zonta lpx = [−1 0 1;−1 0 1;−1 0 1 ] ;h a s i l p x = f i l t e r 2 (px , h a s i l ) ;f i g u r e ; imshow( ha s i l p x /255) ,t i t l e ( ’ Tepi Hor izonta l ’ ) ;%Deteks i Tepi Ve r t i ka lpy = [−1 −1 −1;0 0 0 ;1 1 1 ] ;h a s i l p y = f i l t e r 2 (py , h a s i l ) ;f i g u r e ;imshow ( ha s i l p y /255) ,t i t l e ( ’ Tepi Vert ika l ’ ) ;%Penggabungan Kedua Gradientg rad i en t=sq r t ( h a s i l p x .ˆ2 + ha s i l p y . ˆ 2 ) ;f i g u r e ;imshow ( grad i en t /255) , t i t l e ( ’ Gradient ’ ) ;%Thresholdl e v e l = graythresh ( g rad i en t /255 ) ;bw = im2bw( grad i en t /255 , l e v e l ) ;bw = bwareaopen (bw, 5 0 ) ;f i g u r e ; imshow(bw) , t i t l e ( ’ Threshold ’ ) ;

Berikut ini merupakan tampilan daripengga- bungan kedua gradient pada citragrayscale beatles.jpg

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

205

Gambar 26: Citra grayscale setelah prosesthresholding

Pada proses ini dapat terlihat bahwahasil pencarian gradient pada citra RGBfruits.jpg maupun pada citra grayscale beat-les.jpg masih menghasilkan derau (noise) yangcukup banyak. Hal tersebut mengakibatkanobjek pada citra tersebut menjadi kurang ter-lihat jelas. Maka dari itu proses thresholdingsangat dibutuhkan untuk menghasilkan garistepi yang dapat mempertegas objek pada citraRGB fruits.jpg dan juga pada citra grayscalebeatles.jpg.

Proses thresholding pada program menggu-nakan fungsi pada aplikasi matlab

l e v e l=graythresh ( g rad i en t /255 ) ;bw = im2bw( grad i ent /255 , l e v e l ) ;bw = bwareaopen (bw, 5 0 ) ;

Dengan menggunakan fungsi “graythresh”,dan menggunakan fungsi “im2bw” yangberguna untuk merubah citra RGB fruits.jpgmenjadi citra biner. Setelah citra RGBfruits.jpg diubah menjadi citra biner, langkahselanjutnya adalah pemisahan objek denganlatar belakangnya dengan menggunakan fungsi“bwareaopen” dan dengan menggunakan nilaithresholding=50. Pengambilan nilai thresholddalam program dilakukan secara acak untukmempersingkat waktu.

Teknik Penipisan Garis Tepi pada CitraGrayscale

Proses ini merupakan tahapan akhir dalamproses pendeteksian tepi pada citra grayscalebeatles.jpg. Pada dasarnya proses thresholdsudah menghasilkan garis tepi pada citra yangditeliti, hanya saja garis tepi yang dihasilkanpada proses threshold tersebut masih berupagaris tepi yang tebal sehingga beberapa ob-jek tidak terlalu terlihat dengan jelas. So-lusi dari permasalahan tersebut yaitu dengan

menggunakan proses thinning yang bergunauntuk menipiskan garis tepi yang ada, sehinggaobjek pada citra dapat terlihat dengan jelas.

Untuk melakukan proses penipisan garistepi pada citra tersebut, maka berikut inisource code proses thinning dengan menggu-nakan aplikasi matlab

%Baca c i t r a ’ b e a t l e s . jpg ’gambar = imread ( ’ b e a t l e s . jpg ’ ) ;gray = rgb2gray ( gambar ) ;f i g u r e ; imshow( gray ) ;t i t l e ( ’ Grayscale ’ ) ;%Gaussian f i l t e rgauss ian = f s p e c i a l ( ’ gauss ian ’ , [ 1 2 12 ] , 5)h a s i l = im f i l t e r ( gray ,gauss ian , ’ symmetric ’ , ’ conv ’ ) ;f i g u r e ; imshow( h a s i l ) , t i t l e ( ’ Blurred ’ ) ;%Deteks i Tepi Hor i zonta lpx = [−1 0 1;−1 0 1;−1 0 1 ] ;h a s i l p x = f i l t e r 2 (px , h a s i l ) ;f i g u r e ;imshow ( ha s i l p x /255) ,t i t l e ( ’ Tepi Hor izonta l ’ ) ;%Deteks i Tepi Ve r t i ka lpy = [−1 −1 −1;0 0 0 ;1 1 1 ] ;h a s i l p y = f i l t e r 2 (py , h a s i l ) ;f i g u r e ;imshow ( ha s i l p y /255) ,t i t l e ( ’ Tepi Vert ika l ’ ) ;%Penggabungan Kedua Gradientg rad i en t=sq r t ( h a s i l p x .ˆ2+ ha s i l p y . ˆ 2 ) ;f i g u r e ;imshow ( grad i en t /255) , t i t l e ( ’ Gradient ’ ) ;%Thresholdl e v e l = graythresh ( g rad i en t /255 ) ;bw = im2bw( grad i en t /255 , l e v e l ) ;bw = bwareaopen (bw, 5 0 ) ;f i g u r e ;imshow (bw) , t i t l e ( ’ Threshold ’ ) ;%Thinningbw2 = bwmorph (bw, ’ ske l ’ , I n f ) ;f i g u r e ;imshow (bw2) , t i t l e ( ’ Thinning ’ ) ;

Berikut ini merupakan tampilan citragrayscale beatles.jpg setelah melalui prosesthinning

Gambar 27: Hasil akhir deteksi tepi pada citragrayscale

Pada proses akhir, garis tepi objek padacitra grayscale beatles.jpg sudah tampak ter-lihat lebih jelas dibandingkan dengan proses

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

206

sebelumnya, hal tersebut dikarenakan adanyaproses thinning.

Dengan menggunakan proses thinning,objek-objek pada citra grayscale beatles.jpgmenjadi terlihat lebih jelas hingga ke objeknyayang terkecil sekalipun. Proses thinning dalamprogram diatas digunakan untuk merubah uku-ran garis tepi yang pada citra grayscale bea-tles.jpg yang didapat dari proses thresholdingmenjadi satu piksel. Pada proses thinning padacitra grayscale beatles.jpg, digunakan fungsiMatlab yaitu

bw2=bwmorph(bw, ’ ske l ’ , I n f )

Dimana fungsi yang digunakan untuk pem-rosesan thinning adalah “bwmorph”, denganmenggunakan nilai “Inf” (tak terhingga) op-erasi “skel” menghilangkan piksel-piksel yangterdapat pada batasan objek tanpa membuatterputusnya garis tepi pada objek.

Flowchart Program

Dalam proses pendeteksian tepi pada citraRGB fruits.jpg dan citra Grayscale beatles.jpg,terdapat beberapa tahapan untuk mendap-atkan tepi objek yang tepat. Berikut ini meru-pakan flowchart program untuk menghasilkantepi objek pada citra RGB fruits.jpg dan citraGrayscale beatles.jpg

Deteksi Tepi pada Citra RGB

Untuk menghasilkan tepi objek pada citra RGBfruits.jpg dengan menggunakan operator cannydiperlukan beberapa tahapan seperti tampakpada gambar 28

Gambar 28: Flowchart Deteksi Tepi pada CitraRGB

Deteksi Tepi pada Citra Grayscale

Pada proses deteksi tepi pada citra grayscalebeatles.jpg tidak terlalu berbeda jauh denganproses deteksi tepi pada citra RGB fruits.jpg,hanya saja pada citra grayscale tidak diper-lukan proses konversi citra dikarenakan citraitu sendiri merupakan citra grayscale, berikutflowchart proses lengkap deteksi tepi pada citragrayscale beatles.jpg,

Gambar 29: Flowchart Deteksi Tepi pada CitraGrayscale

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

207

Perbandingan Citra

Pembahasan ini akan mengkaji mengenai per-bandingan citra RGB dengan citra grayscaledari segi proses deteksi tepi, spesifikasi kom-puter yang dipakai hingga hasil gambar sete-lah dilakukan proses pengolahan citra denganaplikasi Matlab. Dimana hasil dari pengolahantersebut dapat dilihat pada tabel-1, berikut.

Penutup

Pada analisa dan pembahasan masalah telahdibuktikan bahwa citra digital RGB danGrayscale dapat berhasil mengalami peruba-han kualitas (penurunan kualitas). Perubahantersebut yang dimaksudkan adalah perubahangaris tepi pada citra yang terlihat jelas menjaditerlihat kurang jelas.

Metode algoritma Canny untuk proses de-teksi tepi suatu citra dapat digunakan untukmeningkatkan kualitas suatu citra, untuk men-dapatkan hasil yang dianggap optimal.

Aplikasi Matrix Laboratory (Matlab) 7.8.0dapat digunakan untuk melakukan pendetek-

sian garis tepi pada citra digital, dimana citrayang memiliki kapasitas dan resolusi besarakan mempengaruhi kinerja aplikasi Matlab,sehingga aplikasi Matlab akan bekerja lambatsaat program dijalankan dibandingkan dengancitra yang berkapasitas dan beresolusi lebih ke-cil.

Daftar Pustaka

[1] Y. Bambang, “Image Smoothing menggu-nakan Mean Filtering, Median Filtering,Modus Filtering dan Gaussian Filtering”,Universitas Pembangunan Nasional, Yo-gyakarta, 2010.

[2] Darma Putra, “Pengolahan Citra Digital”,Penerbit Andi, 2010.

[3] Edy Winarno, “Aplikasi Deteksi Tepipada Realtime Video menggunakan Al-goritma Canny Detection”, UniversitasSTIKUBANK, Semarang, 2011.

[4] Y. Ferdian dan W. Riyo, “Analisa Pen-ingkatan Kualitas Citra Hasil Deteksi TepiMenggunakan Dual Operator”, LembagaIlmu Pengetahuan Indonesia, Bandung,2010

[5] Hendra, “Perancangan Aplikasi Pen-ingkatan Kualitas Gambar dengan MetodeGaussian Blur”, Universitas Bina Nusan-tara Jakarta, 2010.

[6] Harry Ramza dan Yohannes Dewanto,“Teknik Pemrograman Menggunakan Mat-lab”, Grasindo, 2007.

[7] Siti Uswatun Hasanah, “Aplikasi AlgoritmaHough Transform Untuk Ekstraksi Fitur-Fitur Penting pada Wajah”, Universitas In-donesia, 2004

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 3, September 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

208