Skripsi STUDI PEMBANDING DETEKSI TEPI (EDGE DETECTION) CITRA JPEG DENGAN OPERATOR SOBEL DAN OPERATOR CANNY MENGGUNAKAN SOFTWARE MATLAB
Oleh Muhammad Nurullah 107091003741 COVER PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH 2014 M / 1433 H
LEMBAR PERNYATAAN
Dengan ini saya menyatakan bahwa: 1. Skripsi ini merupakan hasil karya asli saya yang diajukan untuk memenuhi salah satu persyaratan memperoleh gelar strata 1 di UIN Syarif Hidayatullah Jakarta. 2. Semua sumber yang saya gunakan dalam penulisan ini telah saya cantumkan sesuai dengan ketentuan yang berlaku di UIN Syarif Hidayatullah Jakarta. 3. Jika di kemudian hari terbukti bahwa hasil karya ini bukan hasil karya asli saya atau merupakan hasil jiplakan dari hasil karya orang lain, maka saya bersedia menerima sanksi yang berlaku di UIN Syarif Hidayatullah Jakarta.
Ciputat,
Muhamad Nurullah
ii
ABSTRAK Muhamad Nurullah, Pengukuran Deteksi Tepi Citra JPG dengan operator Sobel dan operator Canny menggunakan software Matlab, dibimbing oleh Arini, MT. dan Feri Fahrianto, M.Sc.
Deteksi Tepi merupakan langkah pertama untuk melengkapi informasi di dalam Citra dimana tepi mencirikan batas- batas objek dan karena itu tepi berguna untuk proses segmentasi dan identifikasi objek dalam citra. Ada banyak operator dalam deteksi tepi, diantaranya yaitu operator Sobel dan operator Canny untuk deteksi tepi objek pada citra. Dalam penelitian ini akan diterapkan kedua operator tersebut mengggunakan software Matlab untuk menghasilkan penampakan garis batas suatu objek dalam citra. Tujuan dan manfaat penelitian ini adalah untuk mengetahui hasil deteksi tepi menggunakan kedua operator tersebut pada bentuk objek dan untuk memperoleh informasi awal mengenai fitur deteksi tepi untuk pengenalan objek bagi penelitian selanjutnya. Image yang diteliti berjenis image JPG sebanyak 5 macam objek dimana nantinya dapat membandingkan hasil pengenalan bentuk dari kedua operator yang diterapkan. Hasil penelitian ini akan menyimpulkan dari kedua operator mengenai kelebihan dan kekuarangan saja.
Kata Kunci: Citra, Image JPG, Deteksi Tepi, Sobel, Canny, Matlab
v
KATA PENGANTAR
Bismillahirrahmanirrahiim, Puji syukur kehadirat Allah SWT yang telah memberikan begitu banyak nikmat, diantaranya nikmat iman, islam, dan kesehatan sehingga penulis dapat menyelesaikan skripsi ini dengan baik. Salawat serta salam tak lupa pula penulis panjatkan kepada junjungan Nabi besar Muhammad SAW. Skripsi ini tidak akan bisa terselesaikan tanpa bantuan, bimbingan, arahan, dukungan serta kontribusi dari banyak pihak. Oleh karena itu, penulis ingin mengucapkan terima kasih terutama kepada orang tua penulis yaitu Dedeh Kurniasih dan Rino Sutarman yang selalu mendukung baik moril maupun materil dan mengingatkan penulis untuk segera menyelesaikan skripsi. Terima kasih untuk kasih dan sayang yang tidak pernah berhenti diberikan kepada penulis. Penulis juga ingin mengucapkan terima kasih kepada: 1. Dekan Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta. 2. Ketua Jurusan Teknik Informatika, serta Sekretaris Jurusan Teknik Informatika. 3. Ibu Arini, MT., selaku dosen pembimbing pertama dan bapak Feri Fahrianto, M.Sc., selaku pembimbing kedua, yang telah banyak membantu penulis dalam menyelesaikan penyusunan skripsi ini dengan baik dan benar. 4. Seluruh dosen Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta atas segala ilmu pengetahuan yang diberikan kepada penulis. Beserta seluruh staff akademik Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta. vi
5. Syahrial Sidik S.Kom., sebagai kakak dari penulis yang telah mendukung penulis dalam menyelesaikan skripsi ini. 6. Destia Hikmawati, orang terpenting di dalam hidup penulis yang telah banyak memberikan masukan, kritikan, dan semangat sehingga penulis dapat menyelesaikan skripsi ini. 7. Teman-teman penulis, Shendy dan Tika terimakasih tidak henti-hentinya selalu mengingatkan via Facebook, BBM, Whatsapp, SMS dan By Phone. Fahri, Sufyan, Agung yang telah bersama sewaktu di Kostan dan juga Misun Club yang tidak bisa disebutkan satu per satu susah, sedih, dan senang bersama. Terima kasih untuk kalian semua. 8. Teman-teman seperjuangan TI 2007 yang telah banyak memberikan inspirasi, motivasi untuk segera menyelesaikan tugas akhir ini, dan pengalaman berharga bagi penulis selama masa kuliah. Akhirnya, penulis menyadari masih banyak terdapat kekurangan dalam penelitian dan penyusunan skripsi ini, karena terbatasnya ilmu yang penulis miliki. Oleh karena itu penulis mengharapkan saran dan kritik yang membangun agar skripsi ini bisa menjadi lebih baik lagi. Tentunya Penulis berharap semoga Allah swt, memberikan balasan yang lebih dari semua pihak pada umumnya. Ciputat, Mei 2014
Muhammad Nurullah
vii
DAFTAR ISI
COVER .................................................................................................................... i LEMBAR PERNYATAAN .................................................................................... ii LEMBAR PENGESAHAN PEMBIMBING .......................................................... ii PENGESAHAN UJIAN ........................................................................................ iv ABSTRAK ............................................................................................................. iv KATA PENGANTAR ........................................................................................... vi DAFTAR ISI ........................................................................................................ viii DAFTAR GAMBAR .............................................................................................. x DAFTAR TABEL ................................................................................................. xii BAB I PENDAHULUAN ...................................................................................... 1 1.1
Latar Belakang ............................................................................................ 1
1.2
Rumusan Masalah ....................................................................................... 3
1.3
Batasan Masalah.......................................................................................... 3
1.4
Tujuan Penelitian ........................................................................................ 3
1.5
Manfaat Penelitian ...................................................................................... 4
1.6
Metodologi Penelitian ................................................................................. 4
1.7
Sistematika Penulisan ................................................................................. 5
BAB II LANDASAN TEORI ................................................................................ 7 2.1
Pengertian Citra........................................................................................... 7
2.2
Pengertian Citra Digital............................................................................... 8
2.3
Citra JPEG................................................................................................. 13
2.4
Pengertian Pengolahan Citra ..................................................................... 17
2.5
Operasi-operasi Pada PengolahanCitra ..................................................... 19
2.6
Grayscale ................................................................................................... 20
2.7
Konvolusi .................................................................................................. 20
2.8
Thresholding ............................................................................................. 21
2.9
Deteksi Tepi .............................................................................................. 23 viii
2.10
Operator Sobel .......................................................................................... 27
2.11
Operator Canny ......................................................................................... 29
2.12
Matlab ....................................................................................................... 30
2.13
Metode Experimental ................................................................................ 33
BAB III METODOLOGI PENELITIAN.............................................................. 35 3.1
Metode Pengumpulan Data ....................................................................... 35
3.2
Metode Experimental ................................................................................ 36
3.3
Interpretasi Citra Output ........................................................................... 40
BAB IV HASIL DAN PEMBAHASAN .............................................................. 42 4.1
System Requirement ................................................................................. 42
4.2
Citra Input ................................................................................................. 43
4.3
Konversi ke Mode Grayscale .................................................................... 46
4.4
Pendeteksian Tepi (Edge Detection) ......................................................... 49
4.4.1
Operator Sobel .................................................................................... 49
4.4.2
Operator Canny ................................................................................... 52
4.5
Hasil Deteksi Tepi Operator Sobel Dan Operator Canny ......................... 58
BAB V PENUTUP ................................................................................................ 61 5.1
Kesimpulan ............................................................................................... 61
5.2
Saran .......................................................................................................... 61
DAFTAR PUSTAKA ........................................................................................... 62 LAMPIRAN .......................................................................................................... 63
ix
DAFTAR GAMBAR Gambar 2.1 Contoh Citra Digital ............................................................................ 9 Gambar 2.2 Citra Biner ......................................................................................... 10 Gambar 2.3 Citra Skala Keabuan .......................................................................... 11 Gambar 2.4 Citra Warna (True color) ................................................................... 11 Gambar 2.5 Citra Warna Berindeks ...................................................................... 12 Gambar 2.6 Contoh gambar JPEG ........................................................................ 13 Gambar 2.7 Komposisi Warna RGB..................................................................... 16 Gambar 2.8 Proses Pengolahan Citra .................................................................... 17 Gambar 2.9 Contoh Pengolahan Citra .................................................................. 18 Gambar 2.10 Contoh Ilustrasi Proses Konvolusi .................................................. 21 Gambar 2.11 Contoh Partisi Histogram untuk memperoleh nilai Threshold........ 22 Gambar 2.12 Persamaan Citra Thresholding ........................................................ 23 Gambar 2.13 Model Tepi Satu Dimensi ............................................................... 24 Gambar 2.14 Tepi Curam...................................................................................... 24 Gambar 2.15 Tepi Landai ..................................................................................... 25 Gambar 2.16 Tepi Curam Dengan Derau ............................................................. 25 Gambar 2.17 Proses Pendeteksian Tepi Citra ....................................................... 26 Gambar 2.18 Bagan 3x3........................................................................................ 28 Gambar 2.19 Persamaan 3x3................................................................................. 28 Gambar 2.20 Matrix Operator Sobel ..................................................................... 28 Gambar 2.21 Persamaan Canny ............................................................................ 29 Gambar 2.22 Diagram Blok Canny....................................................................... 30 Gambar 2.23 Halaman Utama Matlab .................................................................. 32 Gambar 3.1 Desain Penelitian ............................................................................... 38 Gambar 3.2 Blok Proses Operator Sobel .............................................................. 39 Gambar 3.3 Blok Proses Operator Canny ............................................................. 39 Gambar 4.1 Citra input dengan format JPEG mode RGB .................................... 45 Gambar 4.2 Citra Mode Grayscale........................................................................ 48 Gambar 4.3 Citra Hasil Deteksi Tepi Sobel .......................................................... 52 Gambar 4.4 Citra Hasil Deteksi Tepi Canny ........................................................ 57
x
DAFTAR TABEL Tabel 2.1 Contoh Warna 24 bit ............................................................................. 15 Tabel 3.1 Studi Pustaka ......................................................................................... 36 Tabel 4.1 Hasil Deteksi Tepi ................................................................................. 58 Tabel 4.2 Hasil Jumlah Piksel Warna Putih Deteksi Tepi .................................... 59
xi
BAB I PENDAHULUAN
1.1
Latar Belakang Masalah Citra merupakan istilah lain untuk gambar yang memegang peranan penting sebagai salah satu komponen multimedia dalam bentuk informasi visual. Citra digital adalah citra yang diubah ke bentuk digital agar dapat disimpan dalam memori komputer atau media lain. Proses mengubah citra ke bentuk digital bisa dilakukan dengan device. Ketika sebuah citra sudah diubah ke dalam bentuk digital (citra digital), terdapat bermacam-macam proses pengolahan citra yang dilakukan terhadap citra tersebut. Pengolahan citra bertujuan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau mesin (dalam hal ini komputer). Pengolahan citra telah menggunakan sistem komputer yang diaplikasikan pada sejumlah bidang, seperti pada bidang kedokteran, biologi, hukum, dan keamanan. Teknik pengolahan citra
lain.
citra
mentransformasikan citra
menjadi
Jadi, masukannya adalah citra dan keluarannya juga citra,
tetapi citra keluarannya harus mempunyai kualitas lebih baik daripada citra masukan. Operasi pengolahan citra dapat diklasifikasikan dalam beberapa jenis yaitu perbaikan kualitas citra, pemugaran citra, segmentasi citra, analisis citra, dan rekonstruksi citra. Peningkatan kualitas citra bertujuan menghasilkan citra dengan kualitas yang lebih baik dibandingkan dengan citra semula. Analisis citra
1
bertujuan mengidentifikasi parameter yang diasosiasikan dengan ciri dari objek dalam citra, untuk selanjutnya parameter tersebut digunakan dalam menginterpretasi citra. Analisis
citra
pada dasarnya terdiri dari tiga
tahapan, yaitu ekstraksi ciri, segmentasi, dan klasifikasi. Faktor kunci dalam mengekstraksi ciri adalah kemampuan mendeteksi keberadaan tepi di dalam citra. Ada beberapa metode pendeteksian tepi dalam pengolahan citra, perlu pengetahuan yang tepat untuk menentukan operator yang sesuai dengan kondisi citra yang akan dideteksi. Dengan demikian tepi yang dihasilkan merupakan tepi yang optimal dan tepat. Apabila penggunaan operator deteksi tepi tidak tepat, akan menghasilkan pendeteksian yang gagal. Berdasarkan keadaan inilah maka diperlukan pengetahuan atau informasi mengenai kinerja dari setiap operator, sehingga kesalahan atau ketidak sesuaian dalam pemilihan operator untuk pendeteksian tepi citra dapat dihindari. Pendeteksian tepi merupakan tahapan untuk melingkupi informasi di dalam citra. Tepi mencirikan batas objek dan karena itu tepi berguna untuk proses segmentasi dan identifikasi objek di dalam citra. Berdasarkan latar belakang masalah tersebut penulis tertarik untuk membuat penelitian berjudul “Studi Pembanding deteksi tepi (edge detection) dengan operator Sobel dan operator Canny menggunakan Software Matlab” agar bisa mengetahui hasil dari pendeteksian tepi tersebut.
2
1.2 Rumusan Masalah Berdasarkan latar belakang tersebut dapat dirumuskan bahwa permasalahan yang ada adalah bagaimana hasil pendeteksian tepi pada operator Sobel dan operator Canny sehingga mendapatkan informasi yang akurat mengenai kinerja masing-masing operator.
1.3 Batasan Masalah Dalam penyusunan skripsi ini, penulis membatasi pembahasannya hanya pada : 1. Citra yang digunakan berformat Joint Photographic Expert‟s Group (.jpeg) dengan mode RGB. 2. Teknik Pendeteksian tepi yang digunakan adalah operator Sobel dan operator Canny. 3. Untuk meneliti dari suatu citra digunakan Software MATLAB
1.4 Tujuan Penelitian Berdasarkan uraian latar belakang masalah diatas, maka tujuan penulisan skripsi ini adalah mengetahui hasil pendeteksian tepi dengan operator Sobel dan operator Canny pada image berformat JPEG.
3
1.5 Manfaat Penelitian Manfaat dari penulisan ini antara lain : 1.
Menerapkan ilmu yang diperoleh selama kuliah.
2.
Memberikan informasi mengenai pendeteksian tepi suatu citra sehingga dapat dijadikan acuan atau referensi bagi akademik dan mahasiswa.
3.
Membeikan sumbangan pengetahuan bagi perusahaan maupun industri yang membutuhkan proses pendeteksian tepi khususnya menggunakan Operator Sobel dan operator canny.
4.
Menambah wawasan dan pengetahuan di bidang pengolahan citra digital bagi masyarakat
5.
Sebagai syarat kelulusan menjadi Sarjana Komputer Jurusan Teknik Informatika Fakultas Sains dan Teknologi.
1.6 Metodologi Penelitian Metodologi yang digunakan dalam penelitian ini : 1. Metode Pengumpulan Data Metode digunakan untuk mengumpulkan data yang diperlukan dalam penelitian 2. Metode Penelitian Experimental Pada tahap ini dimana data yang telah dikumpulkan diolah secara teknis untuk mendapatkan hasil dari deteksi tepi dengan operator Sobel dan Operator Canny.
4
1.7 Sistematika Penulisan Untuk mempermudah skripsi ini, maka penulis membaginya menjadi lima bab. Dibawah ini juga diuraikan penjelasan masing-masing bab dengan perincian sebagai berikut : BAB I
PENDAHULUAN Bab ini menerangkan tentang latar belakang masalah, rumusan masalah, batasan masalah, tujuan penulisan, manfaat, metodologi penelitian dan sistematika penulisan.
BAB II
LANDASAN TEORI Bab ini akan menjelaskan secara singkat teori yang diperlukan dalam penulisan skripsi ini.
BAB III
METODOLOGI Pada bab ini menguraikan tentang metode penelitian yang digunakan yaitu mengenai tahapan-tahapan yang dilakukan untuk menghasilkan deteksi tepi.
BAB IV
HASIL DAN PEMBAHASAN Bab ini berisikan mengenai penjelasan dan pembahasan implementasi, dan analisa yang dibuat penulis serta kebutuhan perangkat lunak dan perangkat keras yang mendukung implementasi.
BAB V KESIMPULAN DAN SARAN Bab ini merupakan bab terakhir dari skripsi, yang berisi kesimpulan dari apa yang telah diuraikan pada bab
5
sebelumnya serta saran-saran yang diharapkan berguna bagi perkembangan sistem ini dimasa mendatang.
6
BAB II LANDASAN TEORI
2.1
Pengertian Citra Citra adalah gambar pada bidang dua dimensi. Dalam tinjauan matematis, citra merupakan fungsi kontinu dari intensitas cahaya pada bidang dua dimensi. Ketika sumber cahaya menerangi objek, objek memantulkan kembali sebagian cahaya tersebut. Pantulan ini ditangkap oleh alat-alat pengindera optik, misalnya mata manusia, kamera, scanner dan sebagainya. Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpan. (Sutoyo et al, 2009) Menurut arti secara harfiah, citra (image) adalah gambar pada bidang dua dimensi. Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dua dimensi. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya. Pantulan cahaya ini ditangkap oleh alat-alat optik, seperti mata pada manusia, kamera, pemindai (scanner), dan lain-lain sehingga bayangan objek dalam bentuk citra dapat terekam. Citra sebagai output dari suatu sistem perekaman data dapat bersifat:
7
1. Optik, berupa foto, 2. Analog berupa sinyal video, seperti gambar pada monitor televisi, 3. Digital yang dapat langsung disimpan pada suatu pita magnetic. Citra dapat dikelompokkan menjadi dua bagian yaitu citra diam (still image) dan citra bergerak (moving image). Citra diam adalah citra tunggal yang tidak bergerak. Sedangkan citra bergerak adalah rangkaian citra diam yang ditampilkan secara beruntun (sekuensial) 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 pada hakikatnya terdiri dari ratusan sampai ribuan frame. (Sawaluddin et al, 2006)
2.2
Pengertian Citra Digital Citra digital merupakan suatu larik dua dimensi atau suatu matriks yang elemen-elemennya menyatakan tingkat keabuan dari elemen gambar; jadi informasi yang terkandung bersifat diskret. Citra digital tidak selalu merupakan hasil langsung data rekaman suatu sistem. Kadang-kadang hasil rekaman data bersifat kontinu seperti gambar pada monitor televisi, foto sinar-X, dan lain sebagainya. Dengan demikian untuk mendapatkan suatu citra digital diperlukan suatu proses konversi, sehingga citra tersebut selanjutnya dapat diproses dengan komputer. Citra digital dihasilkan dengan proses digitalisasi terhadap citra kontinu. Sama halnya Proses digitalisasi dalam bentuk data lain, proses
8
digitalisasi pada citra juga merupakan proses pengubahan suatu bentuk data citra dari yang bersifat analog ke digital. Yang mana proses ini dihasilkan dari peralatan digital yang langsung bisa diproses oleh komputer. Proses ini dapat dijelaskan sebagai berikut. Ada sebuah objek yang akan diambil gambarnya untuk dijadikan citra digital. Sumber cahaya diperlukan untuk menerangi objek, yang berarti ada intensitas cahaya (brightness) yang diterima oleh objek. Oleh objek, intensitas cahaya ini sebagian diserap dan sebagian lagi dipantulkan ke lingkungan sekitar objek secara radikal. Sistem pencitraan (imaging) menerima sebagian dari intensitas cahaya yang dipantul oleh objek tadi. Di dalam sistem pencitraan terdapat sensor optik yang digunakan untuk mendeteksi intensitas cahaya yang masuk ke dalam sistem. Keluaran dari sistem ini berupa arus yang besarnya sebanding dengan intensitas cahaya yang mengenainya. Arus tersebut kemudian dikonversi menjadi data digital yang kemudian dikirimkan ke unit penampil atau unit pengolah lainnya.
Gambar 2.1 Contoh Citra Digital
9
Citra digital biasanya berbentuk persegi panjang, secara visualisasi dimensi ukurannya dinyatakan sebagai lebar x tinggi. Ukurannya dinyatakan dalam titik atau piksel (pixel = picture element) dan dapat pula dinyatakan dalam satuan panjang (mm = milimeter atau inc = inch). Berdasarkan format penyimpanan nilai warnanya, citra terdiri atas empat jenis (Hestiningsih,Halaman 45, 2008), yaitu: 1. Citra biner atau monokrom Pada citra jenis ini, setiap titik atau piksel hanya bernilai 0 atau 1.Dimana setiap titik membutuhkan media penyimpana sebesar 1 bit. Gambar 2.2 merupakan contoh citra biner.
Gambar 2.2 Citra Biner 2. Citra skala keabuan Citra skala keabuan mempunyai kemungkinan warna antara hitam (minimal) dan putih (maksimal). Jumlah maksimum warna sesuai dengan bit penyimpanan yang digunakan. Misal: Suatu citra dengan skala keabuan 4 bit, memiliki jumlah kemungkinan warna
= 16 warna. Gambar 2.3 memperlihatkan citra skala
keabuan 4 bit.
10
Gambar 2.3 Citra Skala Keabuan 3. Citra warna (true color) Setiap titik (piksel) pada citra warna mewakili warna yang merupakan kombinasi dari tiga warna dasar yaitu merah, hijau dan biru yang dikenal sebagai citra RGB (Red, Green, Blue). Setiap warna dasar mempunyai intensitas sendiri dengan nilai maksimum 255 (8 bit). Red = warna minimal putih, warna maksimal merah Green = warna minimal putih, warna maksimal hijau Blue = warna minimal putih, warna maksimal biru Setiap titik pada citra warna membutuhkan data 3 byte Jumlah kemungkinan kombinasi warna untuk citra warna adalah
= lebih dari 16
juta warna, disebut true color karena dianggap mencakup semua warna yang ada. Gambar 2.4 memperlihatkan contoh citra warna.
Gambar 2.4 Citra Warna (True Color)
11
2.3
Citra JPEG Format file ini mampu mengkompres objek dengan tingkat kualitas sesuai dengan pilihan yang disediakan. Format file sering dimanfaatkan untuk menyimpan gambar yang akan digunakan untuk keperluan halaman web, multimedia, dan publikasi elektronik lainnya. Format file ini mampu menyimpan gambar dengan mode warna RGB, CMYK, dan Grayscale. Format file ini juga mampu menyimpan alpha channel, namun karena orientasinya ke publikasi elektronik maka format ini berukuran relatif lebih kecil dibandingkan dengan format file lainnya. JPEG adalah metode standar yang digunakan dalam pengkompresian untuk photograpics images. JPEG singkatan dari Join Photographics Expert Group sebuah kelompok yang membikin standar pengkompresian tersebut. JPEG di buat untuk loosy compression images. Umumnya file file yang berformat JPEG mengunakan extensi .jpeg, .jpg, .jpe, .jfif, jif. Selain itu JPEG juga mampu memberikan warna dengan kedalaman 24 Bits atau setara dengan 16 juta warna. JPEG tidak ditujukan dalam urusan file audio.
.Gambar 2.6 Contoh gambar JPG
13
Standar kompresi file gambar yang dibuat oleh kelompok Joint Photographic Experts Group ini menghasilkan kompresi yang sangat besar tetapi dengan akibat berupa adanya distorsi pada gambar yang hampir selalu tidak terlihat. JPEG adalah sebuah format gambar, sangat berguna untuk membuat gambar jenis fotografi berkualitas tinggi dalam ukuran file yang sangat kecil. Format file grafis ini telah diterima oleh Telecommunication Standardization Sector atau ITU-T dan Organisasi Internasional untuk Standardisasi atau ISO. JPEG kebanyakan digunakan untuk melakukan kompresi gambar diam menggunakan analisis Discrete Cosine Transform (DCT). Meskipun kompresi gambar JPEG sangatlah efisien dan selalu menyimpan gambar dalam kategori warna true color (24 bit), format ini bersifat lossy, yang berarti bahwa kualitas gambar dikorbankan bila tingkat kompresi yang dipilih semakin tinggi. JPEG mendukung 16 juta warna. Jadi walaupun terjadi penurunan kualitas gambar, format ini sangat cocok untuk menggunakan pada penampilan gambar fotografi. Namun, dibandingkan format lain, browser membutuhkan waktu yang lebih lama untuk memuat file JPEG Model ruang warna yang digunakan pada citra JPG adalah RGB (red, green, dan blue). Sebuah ruang RGB dapat diartikan sebagai semua kemungkinan warna yang dapa dibuat dari tiga warna dasar red, green, dan blue. RGB sering digunakan di dalam sebagian besar aplikasi komputer
14
karena dengan ruang warna ini tidak diperlukan transformasi untuk menampilkan informasi di layar monitor. Pada citra 256 warna setiap piksel panjangnya 8 bit, tetapi komponen warna RGBnya disimpan di dalam tabel RGB yang disebut pallete. Setiap komponen panjangnya 8 bit, jadi ada 256 nilai keabuan untuk warna merah, 256 nilai keabuan untuk warna hijau, 256 nilai keabuan untuk warna biru. Nilai setiap piksel tidak menyatakan derajat keabuan secara langsung, tetapi nilai piksel menyatakan indeks tabel RGB yang memuat nilai keabuan merah (R), nilai keabuan hijau (G), nilai keabuan biru (B) untuk masing-masing piksel yang bersangkutan. Namun pada citra hitam-putih, nilai R = G = B untuk menyatakan bahwa citra hitam putih hanya mempunya satu kanal warna. Citra hitam putih umumnya adalh citra 8 bit. Citra yang lebih kaya warna adalah citra 24 bit. Setiap piksel panjangnya 24 bit, karena setiap piksel langsung menyatakan komponen warna merah, komponen warna hijau, dan komponen warna biru. Masingmasing komponen panjangnya 8 bit. Citra 24 bit disebut juga citra 16 juta warna, karena citra ini mampu menghasilkan 224-16.777.216 kombinasi warna. Tabel 2.1 Contoh Warna 24 bit R 255 0 136 255 0
G 255 0 0 0 255
B 255 0 21 0 0
Warna White Black Dark Red Red Green 15
0 0 185 255
0 162 122 174
255 232 87 201
Blue Turqouise Brown Rose
Gambar 2.7 Komposisi Warna RGB
Format JPEG (Joint Photographic Expert Group) adalah salah satu alternatif selanjutnya yang dapat kita pakai untuk memperoleh sebuah hasil yang memuaskan. Kelebihan dari format JPEG adalah dukungan warna yang lebih dari 16 juta atau 24 bit, sehingga hasil yang maksimal dari sebuah gambar dapat diperoleh fitur kompresi kualitas gambar yang ditawarkan membuat saya dapat memilih besar kecilnya file gambar yang akan dihasilkan nantinya dan tersedianya fitur Progressive JPEG, yang mirip seperti interlacing pada GIF.
16
2.4
Pengertian Pengolahan Citra Pengolahan Citra merupakan proses pengolahan dan analisis citra yang banyak melibatkan persepsi visual. Proses ini mempunyai ciri data masukan dan informasi keluaran yang berbentuk citra. Istilah pengolahan citra digital secara umum didefnisikan sebagai pemrosesan citra dua dimensi dengan komputer. Dalam definisi yang lebih luas, pengolahan citra digital juga mencakup semua data dua dimensi. Proses pengolahan citra dapat dilihata pada gambar 2.8
Gambar 2.8 Proses Pengolahan Citra
Meskipun sebuah citra kaya informasi, namun seringkali citra yang kita miliki mengalami penurunan intensitas mutu, misalnya mengandung cacat atau derau (noise), warnanya terlalu kontras atau kabur tentu citra seperti ini akan sulit direpresentasikan sehingga informasi yang ada menjadi berkurang. Agar citra yang mengalami ganguan mudah direpresentasikan maka citra tersebut perlu dimanipulasi menjadi citra lain yang kualitasnya lebih baik. Bidang studi yang menyangkut hal ini adalah pengolahan citra (image processing). Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan komputer, menjadi citra yang kualitasnya lebih baik. Sebagai
17
2.5
Operasi-operasi pada Pengolahan Citra Operasi-operasi yang dilakukan pada pengolahan citra secara umum dapat dikelompokkan dalam beberapa jenis, yaitu: (Sigit, 2005) 1. Perbaikan Kualitas (Image Enchancement) Operasi perbaikan kualitas citra bertujuan untuk memperbaiki kualitas citra dengan cara memanipulasi parameter-parameter citra. Melalui operasi ini, ciri-ciri khusus yang terdapat di dalam citra dapat lebih ditonjolkan. Beberapa operasi perbaikan citra antara lain: perbaikan kontras gelap / terang, perbaikan tepian objek, penajaman, pemberian warna semu. 2. Kompresi Citra (Image Compression) Operasi kompresi citra bertujuan untuk dapat merepresentasikan citra dalam bentuk yang lebih kompak sehingga memerlukan memori yang lebih sedikit. Yang menjadi perhatian penting dalam kompresi citra adalah mempertahankan kualitas citra agar tetap baik. 3. Segmentasi Citra (Image Segmentation) Operasi segmentasi citra bertujuan untuk memecah suatu citra ke dalam beberapa segmen dengan suatu kriteria tertentu. Jenis operasi ini berkaitan erat dengan pengenalan pola. 4. Analisis Citra (Image Analysis) Operasi analisis citra bertujuan untuk menghitung besaran kuantitatif dari citra untuk menghasilkan deskripsinya. Teknik analisis citra adalah mengekstraksi
ciri-ciri
tertentu
yang
sangat
membantu
dalam
19
identifikasi objek. Proses segmentasi juga diperlukan untuk melokalisasi objek dari sekelilingnya. Contoh dari operasi analisis citra yaitu pendeteksian tepi objek, ekstraksi batas, dan representasi daerah. 5. Rekonstruksi Citra (Image Reconstruction) Operasi rekonstruksi citra bertujuan untuk membentuk ulang objek dari beberapa citra hasi proyeksi. Operasi rekonstruksi citra banyak digunakan di dalam bidang medis.
2.6
Grayscale Grayscale atau abu-abu pada sebuah image digital adalah image yang pada setiap pixelnya hanya berisikan informasi intensitas warna putih dan hitam. Image Grayscale memiliki banyak variasi nuansa abu-abu sehingga berbeda dengan image hitam-putih. Grayscale juga disebut monokromatik karna tidak memiliki warna lain selain variasi intensitas putih dan hitam. Sebuah image yang dijadikan Grayscale akan terkesan berbeda bila dibandingkan dengan image berwarna
2.7
Konvolusi Deteksi tepi merupakan salah satu proses pengolahan citra yang menggunakan filter atau penapis. Selain pada proses pendeteksian tepi, proses lain pada pengolahan citra yang juga menggunakan filter atau penapis adalah perbaikan kualitas citra (image enhancement), penghilangan derau (noise reduction), mengurangi erotan, penghalusan atau pelembutan
20
1. Thresholding global Thresholding dilakukan dengan mempartisi histogram dengan menggunakan sebuah threshold (batas ambang) global T, yang berlaku untuk seluruh bagian pada citra. 2. Thresholding adaptif Thesholding dilakukan dengan membagi citra menggunakan beberapa sub citra. Lalu pada setiap sub citra, segmentasi dilakukan dengan menggunakan threshold yang berbeda. Yang menjadi fokus dalam tugas akhir ini adalah metode thresholding global.
Thresholding
diimpelementasikan
setelah
dilakukan
proses
perbaikan kontras citra menggunakan fungsi Contrast-limited adaptive histogram equalization (CLAHE). Thresholding dikatakan global jika nilai threshold T hanya bergantung pada f(x,y), yang melambangkan tingkat keabuan pada titik (x,y) dalam suatu citra. Berikut ini akan disajikan contoh partisi histogram untuk memperoleh threshold dalam Gambar 2.11.
Gambar 2.11 Contoh Partisi Histogram untuk memperoleh nilai Threshold
22
Histogram yang berada pada sisi kiri Gambar 2.11 mewakili citra f(x,y) yang tersusun atas obyek terang di atas background gelap. Pikselpiksel obyek dan background dikelompokkan menjadi dua mode yang dominan. Cara untuk mengekstraks obyek dari background adalah dengan memilih nilai threshold T yang memisahkan dua mode tersebut. Kemudian untuk sembarang titik (x,y) yang memenuhi f(x,y) > T disebut titik obyek, selain itu disebut titik background. Kesuksesan metode ini bergantung pada seberapa bagus teknik partisi histogram. Citra hasil thresholding dapat didefinisikan sebagaimana Persamaan pada gambar 2.12.
Gambar 2.12 Persamaan Citra Thresholding
2.9
Deteksi Tepi Tepi adalah perubahan nilai intensitas derajat keabuan yang mendadak (besar) dalam jarak yang dekat. Suatu titik (x,y) dikatakan sebagai tepi bila titik tersebut mempunyai perbedaan nilai piksel yang tinggi dengan nilai piksel tetangganya. Gambar 2.13 menunjukkan salah satu model tepi untuk satu dimensi.
23
Gambar 2.13 Model Tepi Satu Dimensi
Adapun terdapat tiga macam tepi didalam citra digital, yaitu: a. Tepi Curam Tepi curam adalah tepi dengan perubahan intensitas yang tajam. Arah tepi berkisar 90o Gambar 2.14 menunjukan deteksi tepi tipe tepi curam.
Gambar 2.14 Tepi Curam b. TepiLandai Tepi landai yaitu tepi dengan sudut arah yang kecil. Tepi landai dapat dianggap terdiri dari sejumlah tepi-tepi lokal yang lokasinya berdekatan. Gambar 2.15 menunjukan deteksi tepi tipe tepi landai.
24
Gambar 2.15 Tepi Landai
c. 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 2.16 menunjukan deteksi tepi tipe tepi curam dengan derau.
Gambar 2.16 Tepi Curam Dengan Derau
Faktor kunci dalam mengekstraksi ciri adalah kemampuan mendeteksi keberadaan tepi (edge) dari objek di dalam citra. Pendeteksian
25
dengan operator gradient citra. Berikut ini berapa contoh pendeteksi tepi turunan pertama yang sering digunakan: a. Metode Roberts-Cross b. Metode Prewitt c. Metode Sobel 2.
Second-Order Derivative Edge Detection (Pendeteksi Tepi Turunan Kedua). Pendeteksitepi turunan kedua, memanfaatkan nilai tururnan kedua
dari fungsi Gaussian dalam langkah-langkah untuk mendeteksi tepi dari suatu citra. Yang termasuk dalam metode pendeteksi tepi ini, adalah: a. Metode Laplacian of Gaussian b. Metode Canny Pada penulisan Tugas Akhir ini metode yang digunakan adalah metode yang menggunakan operator turunan pertama (Sobel) dan operator turunan kedua (Canny).
2.10 Operatol Sobel Sobel (Sobel, 1990) termasuk yang mengembangkan metode ini. Proses penghalusan yang digunakan merupakan proses konvolusi dari jendela yang ditetapkan terhadap citra yang dideteksi. Agar perkiraan gradien tepat ditengah jendela, dalam konvolusi Sobel menggunakan jendela 3x3, dan susunan piksel-piksel disekitar piksel (x,y) seperti gambar berikut:
27
berkaitan dengan tepi . pada dasarnya operator ini digunakan untuk menentukan nilai pendekatan turunan yang mutlak untuk pada setiap titik citra grayscale masukan.
2.11 Operator Canny Pada tahun 1986 John Canny (Canny, 1986) mengusulkan 3 kriteria yang
menjadi
basis
pengembangan
filter
untuk
mengoptimalkan
pendeteksian tepi pada citra bernoise. Ke tiga kriteria tersebut adalah : a. Good detection, kriteria ini bertujuan memaksimalkan nilai signal to noise ration (SNR) sehingga semua tepi dapat terdeteksi dengan baik atau tidak ada yang hilang. b. Good localisation, tepi yang terdeteksi berada pada posisi yang sebenarnya, atau dengan kata lain bahwa jarak antara posisi tepi yang terdeteksi oleh detektor dengan posisi tepi sebenarnya adalah seminimum mungkin (idealnya = 0). c. Low multiplicity of the response atau ”one response to single edge” detektor tidak memberikan tepi yang bukan tepi sebenarnya. Berdasarkan pada criteria ini Canny berhasil melakukan optimalisasi dari 3 kriteria tersebut dan menghasilkan persamaan, namun persamaan ini cukup sulit untuk diimplementasikan seperti gambar dibawah ini.
Gambar 2.21 Persamaan Canny
29
sehingga pada implementasinya, Canny tetap menggunakan filter Gaussian untuk mereduksi noise dan dilanjutkan dengan penghitungan turunan pertama dan thresholding hysteresis. Operator Canny termasuk Salah satu algoritma deteksi tepi modern. Berikut adalah diagram blok algoritma Canny :
Original Image
Image Smoothing
Differentiation
Edge Image
Edge Thresholding
Nonmaximum Suppression
Gambar 2.22 Diagram Blok Canny Berdasarkan wikipedia, operator Canny merupakan deteksi tepi yang optimal. Operator Canny menggunakan Gaussian Derivative Kernel untuk menyaring kegaduhan dari citra awal untuk mendapatkan hasil deteksi tepi yang halus.
2.12 MATLAB MATLAB adalah sebuah bahasa dengan (high-performance) kinerja tinggi untuk komputasi masalah teknik.
Matlab mengintegrasikan
komputasi, visualisasi, dan pemrograman dalam suatu model yang sangat mudah untuk pakai dimana masalah-masalah dan penyelesaiannya diekspresikan dalam notasi matematika yang familiar. Penggunaan Matlab meliputi bidang–bidang:
30
• Matematika dan Komputasi • Pembentukan Algorithm • Akusisi Data • Pemodelan, simulasi, dan pembuatan prototipe • Analisa data, explorasi, dan visualisasi • Grafik Keilmuan dan bidang Rekayasa MATLAB merupakan suatu sistem interaktif yang memiliki elemen data dalam suatu array sehingga tidak lagi kita dipusingkan dengan masalah dimensi. Hal ini memungkinkan kita untuk memecahkan banyak masalah teknis yang terkait dengan komputasi, kususnya yang berhubungan dengan matrix dan formulasi vektor, yang mana masalah tersebut merupakan momok apabila kita harus menyelesaikannya dengan menggunakan bahasa level rendah seperti Pascall, C dan Basic. Nama MATLAB merupakan singkatan dari matrix laboratory. MATLAB pada awalnya ditulis untuk memudahkan akses perangkat lunak matrik yang telah dibentuk oleh LINPACK dan EISPACK. Saat ini perangkat MATLAB telah menggabung dengan LAPACK dan BLAS library, yang merupakan satu kesatuan dari sebuah seni tersendiri dalam perangkat lunak untuk komputasi matrix. Dalam lingkungan perguruan tinggi teknik, Matlab merupakan perangkat standar untuk memperkenalkan dan mengembangkan penyajian materi matematika, rekayasa dan kelimuan. Di industri, MATLAB
31
2.13 Metode Eksperimental 1. Definisi Eksperimen adalah observasi di bawah kondisi buatan (artificial condition) dimana kondisi tersebut dibuat dan diatur oleh si peneliti. Dengan demikian, penelitian eksperimental adalah penelitian yang dilakukan dengan mengadakan manipulasi terhadap objek penelitian serta adanya kontrol. 2. Merencanakan percobaan a. Langkah-langkah dalam percobaan 1) Rumusan masalah serta pernyataan tentang tujuan percobaan dan penelitian. 2) Gambaran dari percobaan yang akan dilakukan, termasuk tentang besarnya percobaaan, jumlah dan jenis perlakuan, material yang dipakai, dan sebagainya. 3) Outline dari penganalisisan yang akan dikerjakan. b. Desain percobaan Desain percobaan adalah step-step atau langkah-langkah yang utuh dan berurutan yang dibuat lebih dahulu, sehingga keterangan yang ingin diperoleh dari percoban akan punya hubungan yang nyata dengan masalah penelitian. 3. Melaksanakan percobaan Setelah perencanaan rampung dan desain yang cocok telah dipilih, maka tibalah saatnya untuk melaksanakan percobaan. Hal yang pertama-
33
tama perlu diperhatikan dalam pelaksanaan percobaan, adalah pengenalan terhadap material yang digunakan dalam percobaan. 4. Syarat-syarat percobaan yang baik Beberapa syarat-syarat harus dipenuhi oleh suatu percobaan yang memenuhi syarat. Syarat-syarat antara lain adalah sebagai berikut. a) Percobaan harus bebas bias b) Percobaan harus punya ukuran terhadap error c) Percobaan harus punya ketetapan. d) Tujuan harus didefinisikan sejelas-jelasnya e) Percobaan harus punya jangkauan yang cukup. 5.
Jenis- jenis metode eksperimen Percobaan banyak ragamnya. Ada yang dinamakan percobaan
absolut, dimana percobaan digunakan untuk mengadakan estimasi terhadap suatu set observasi dengan hasil yang mempunyai reliabilitas yang tinggi. Di lain pihak ada percobaan perbandingan (comparative experiment). Dalam hal ini dilakukan satu
percobaan dengan membandingkan perlakuan-
perlakuan dan membandingkan pengaruh perlakuan tersebut terhadap satu populasi.
34
BAB III METODOLOGI PENELITIAN
3.1
Metode Pengumpulan Data Dalam melakukan pengumpulan data, penulis melakukan studi pustaka sebagai dasar penelitian. Pada tahapan ini penulis melakukan pengumpulan data yang terkait dari berbagai sumber. Sumber bacaan berasal dari buku-buku ilmu komputer, jurnal, karya ilmiah, dan buku elektronik yang berstandar. Adapun buku-buku yang dipelajari dan situssitus internet yang berkaitan dengan judul yang penulis ambil dan dapat dilihat pada daftar pustaka. Tabel 3.1 Studi Pustaka
Jurnal komparasi algoritma Deteksi tepi (edge detection) untuk segmentasi citra tumor hepar
Kesimpulan Proses segmentasi citra tumor dengan metode deteksi tepi menggunakan operator canny, operator sobel, operator Robert dan operator Prewtt sudah dilakukan. Dari 10 citra tumor pasien, ada 8 citra tumor (80% dari citra keseluruhan) yang dapat terbaca dan terdeteksi oleh operator canny, hal ini menunjukan bahwa operator canny dapat bekerja lebih baik dari ketiga operator lainnya. Ekstraksi Bentuk Janin Pada Citra Kesimpulan yang diperoleh dari Hasil Usg 3 Dimensi Menggunakan penelitian ini adalah metode deteksi tepi Deteksi Tepi Canny Canny dapat diimplementasikan untuk mengekstraksi bentuk janin. Selain itu, kesimpulannya adalah untuk mendapatkan ekstraksi bentuk janin yang baik, maka nilai ambang atas dan ambang bawah double tresholding dalam metode deteksi tepi Canny adalah 80 dan 20. Namun, untuk mengantisipasi keaneka-
35
ragaman jenis citra masukan, maka parameter nilai ambang atas dan nilai ambang bawah dapat diubah sesuai kebutuhan citra masukan. Perbandingan Kinerja Operator Sobel Hasil deteksi tepi citra LoG mampu Dan Laplacian Of Gaussian (Log) menghasilkan citra deteksi tepi wajah dan Terhadap acuan Canny Untuk bentuk lebih baik dibandingkan Sobel. Mendeteksi Tepi Citra Sedangkan hasil deteksi tepi citra Sobel mampu menghasilkan citra deteksi karakter yang lebih baik dibandingkan LoG. Kualitas citra hasil deteksi tepi operator Sobel dan operator LoG secara keseluruhan cukup baik dibandingkan dengan parameter Canny. Operator Sobel memiliki rata – rata indeks kualitas yang lebih tinggi dibandingkan operator LoG (0,46841>0,35859).Detektor tepi Canny mampu menghasilkan citra deteksi tepi yang sangat baik sehingga mampu dijadikan parameter terhadap metode deteksi yang lain. Pengembangan penelitian dapat dilakukan dengan mengubah metode deteksi dan penambahan parameter perbandingan kualitas dengan jarak Euclidean.
3.2
Metode Eperimental 1. Merencanakan percobaan a. Langkah-langkah dalam percobaan 1). Hasil deteksi tepi menggunakan operator sobel dan operator canny pada citra berformat JPG. 2). Penelitian dilakukan pada 5 citra (image) dengan format JPG yang kemudian dijalankan oleh operator Sobel dan Operator Canny untuk mengetahui hasil deteksi tepi adapun alat dan bahan (mateial) yang digunakan dalam penelitian ini adalah sebagai berikut :
36
a.
Personal Komputer / Laptop
b.
Software MATLAB 7.8.0.347 (R2009a)
c.
Citra uji Sampel citra yang digunakan yaitu citra-citra yang mempunyai
gambar
yang
berbeda
seperti
gedung
(bangunan), wajah, kendaraan, pegunungan, dan pulau. 3.) Outline dalam penelitian yang akan dikerjakan 1. Downloading Image format JPG mode warna RGB a) Image bangunan b) Image wajah c) Image kendaraan d) Image pegunungan e) Image Pulau 2. Konversi Citra (Image) ke Grayscale 3. Mendeteksi tepi (Edge Detection) a) Operator Sobel b) Operator Canny 4. Hasil Penelitian b. Desain Penelitian Desain yang digunakan untuk melakukan pendeteksian tepi dari beberpa citra yang menggunakan operator Sobel dan operator Canny, setelah melakukan pengujian terhadap satu citra, dilakukan pendeteksian tepi kembali dengan menggunakan citra selanjutnya hingga selesai.
37
Desain langkah penelitian tersebut dapat digambarkan sesuai skema berikut ini:
Mulai
Input image JPG mode RGB
Konversi RGB ke Grayscale
Deteksi Tepi
Operator Sobel
Operator Canny
Hasil
Gambar 3.1 Desain Penelitian
38
Input Image
Konvolusi kernel Sobel
Thresholding
Edge Image Gambar 3.2 Blok Proses Operator Sobel
Input Image
Image Smoothing
Differentiation
Edge Image
Edge Thresholding
Nonmaximum Suppression
Gambar 3.3 Blok Proses Operator Canny
39
2. Melaksanakan Penelitian a. Pemilihan Citra Objek Citra-citra yang digunakan dalam penelitian ini diambil secara sengaja dan dimasukkan dalam MATLAB. Kemudian Citra yang digunakan berformat JPG dengan mode warna RGB dan menampilkan bentuk image yang berbeda seperti bangunan, wajah, kendaraan, pegunungan, dan pulau b. Konversi ke grayscale Citra-citra yang sudah dipilih yaitu citra berformat JPG dengan mode warna RGB dikonversi ke mode grayscale c. Deteksi Tepi Selanjutnya citra-citra yang sudah di konversi dioperasikan dengan operator sobel dan operator canny. d. Menampilkan Citra Output (hasil) Menampilkan deteksi tepi
hasil dari operator sobel dan
operator canny yang dilakukan pada citra-citra yang telah dipilih
3.3
Interpretasi Citra Output Suatu metode pendeteksian tepi dapat dikatakan mendeteksi tepi paling optimum jika memenuhi kriteria-kriteria, sebagai berikut : Respon yang jelas, Hanya ada satu respon untuk tiap tepi, sehingga mudah dideteksi dan tidak menimbulkan kerancuan pada pengolahan citra selanjutnya.
40
Pengujian lain terhadap deteksi tepi adalah dengan menggunakan citra yang berbeda. Yang dimana hasil yang diperoleh dapat dijadikan parameter yang menentukan tingkat tampilan dari beberapa metode untuk melacak tepian suatu objek. Parameter lain yaitu dengan melihat kekuatan, kehalusan, dan ketebalan garis tepi yang dihasilkan pada citra output, yang dapat dengan jelas membedakan objek dari latar belakangnya.
41
BAB IV HASIL DAN PEMBAHASAN
Bab ini membahas hasil deteksi tepi (edge detection) yang dilakukan pada beberapa citra (gambar) yang berformat *jpg
dengan 5 macam gambar
menggunakan 2 metode yaitu, operator sobel dan operator canny dengan software Matlab.
4.1 System Requirement Dalam melakukan penelitian citra untuk deteksi tepi (edge detection) penulis menggunakan software Matlab, maka ada hal yang perlu diperhatikan yaitu : spesifikasi perangkat keras (Hardware) dan perangkat lunak (Software) yang dipergunakan dalam penelitian ini : a.
Sistem operasi
Windows 7 64bit
b.
Processor
intel core i5
c.
RAM (Random Access Memory)
10 GB
d.
VGA Memory
1 GB
e.
Harddisk
500 GB
Adapun minimal sistem yang dibutuhkan (minimum system requirement) yaitu a. Sistem Operasi
windows xp sp2
b. Processor
intel pentium 4
42
c. RAM (Random Access Memory)
512 MB akan tetapi direkomendasikan 1 GB
d. VGA Memory
-
e. Harddisk
680 MB hanya untuk Matlab
4.2 Input Citra Memasukan citra ke dalam software Matlab, dengan pseudocode dibawah ini : img = imread('namafile'); citra yang diinput yaitu citra „Gedung.jpg‟, ‟Wajah.jpg‟, „Tank.jpg‟, „Bromo.jpg‟, dan „Peta.jpg‟ dengan mode warna RGB. Sebagaimana gambar dibawah ini.
a.Gedung.jpg
43
b.Wajah.jpg
c.Tank.jpg
44
d.Bromo.jpg
e.Peta.jpg Gambar 4.1 Citra input dengan format JPG mode RGB (Red Green Blue)
45
4.3 Konversi Citra ke Mode Grayscale Pada tahap ini beberapa citra yang diinput di konversi ke mode grayscale dengan pseudocode dibawah ini : I = rgb2gray(img); Citra-citra yang diinput ke dalam matlab dengan format JPG dengan mode RGB (Red, Green, Blue) pada gambar 4.1 dikonversi ke mode grayscale untuk mempermudah proses pengolahan citra pada tahap selanjutnya, karena citra mode ini terbentuk dari sebuah matrik yang nilainya berkisar antara 0 hingga 255. Maka citra-citra tersebut menjadi seperti gambar dibawah ini.
a.Gedung.jpg
46
b.Wajah.jpg
c.Tank.jpg
47
d.Bromo.jpg
e.Peta.jpg Gambar 4.2 Citra mode Grayscale
48
4.4 Deteksi Tepi (Edge Detection) 4.4.1 Operator Sobel Deteksi tepi pada citra grayscale dengan operator Sobel. Adapun proses pada operator sobel dalam mendeteksi tepi pada lima image. Berikut langkah dari algoritma metode Sobel: A. Konvolusi Membuat kernel sobel matrik 3x3 untuk melakukan konvolusi terhadap citra grayscale dengan pseudocode di bawah ini: sx=[-1 0 1;-2 0 2;-1 0 1]; sy=[-1 -2 -1;0 0 0;1 2 1]; img_sx=filter2(sx, I); img_sy=filter2(sy, I); Edge=sqrt(img_sx.^2 + img_sy.^2);
B. Threshold Hasil Citra yang telah dikonvolusi diubah hasilnya menjadi citra biner dengan pseudocode dibawah ini: Edge_t=im2bw(Edge/255);
C. Edge Image Citra grayscale pada gambar 4.2 dapat diekstrak tepinya dan menampilkan hasil deteksi tepi (Edge Image) seperti gambar dibawah ini.
49
a.Gedung.jpg
b.Wajah.jpg
50
c.Tank.jpg
d.Bromo.jpg
51
e.Peta.jpg Gambar 4.3 Citra Hasil Deteksi Tepi Sobel
4.4.2 Operator Canny Setelah deteksi tepi citra dengan operator sobel penulis selanjutnya mendeteksi citra JPG dengan mode grayscale seperti Gambar 4.2 menggunakan operator Canny, maka hasilnya akan menjadi seperti gambar di bawah ini. A. Image Smoothing Biasanya teknik yang digunakan pada tahap ini adalah Gaussian Blur. Proses Gaussian Blur dapat dilakukan terhadap citra secara keseluruhan (hasil akhir berupa 1 citra baru), atau dilakukan terpisah (hasil akhir berupa dua buah citra yaitu blur horizontal dan vertikal). Dibawah ini pseudocode Gaussian blur untuk smoothing citra grayscale. 52
filterx = d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1); Ix = conv2(I,filterx,'same'); filtery = d2dgauss(Ny1,Sigmay1,Ny2,Sigmay2,Theta2); Iy = conv2(I,filtery,'same');
(http://robotics.eecs.berkeley.edu/~sastry/ee20/cacode.html)
B. Differentiation Gradien merupakan operator yang paling mendekati definisi dari sebuah edge. Pada langkah menghitung potensi gradien citra ada dua buah informasi yang dibutuhkan yaitu kekuatan edge (edge strength/magnitude), dan arah edge (edge direction/orientation). Operator sobel memanfaatkan dua buah template edge pada dua arah tegak lurus (horizontal dan vertikal) dan menghitung arah edge dari arctangent kedua nilai tersebut. Berikut pseudocode yang digunakan. NVI = sqrt(Ix.*Ix+Iy.*Iy);
C. Nonmaximum supression Hasil penerapan operator gradien untuk menghitung potensi gradien di tahap sebelumnya tidak memberi informasi secara spesifik tentang lokasi dari edge yang dicari. Alternatifnya adalah menggunakan operator zero-crossing yang digunakan oleh algoritma deteksi MarrHildreth. Non-maximal supression bertujuan membuang potensi gradien di suatu piksel dari kandidat edge jika piksel tersebut bukan merupakan maksimal lokal pada arah edge di posisi piksel tersebut (di sinilah arah gradien diperlukan). Berikut psedocodenya 53
[n,m]=size(Ibw); for i=2:n-1, for j=2:m-1, if Ibw(i,j) > level, X = [-1,0,+1;-1,0,+1;-1,0,+1]; Y = [-1,-1,-1;0,0,0;+1,+1,+1]; Z = [Ibw(i-1,j-1),Ibw(i-1,j),Ibw(i-1,j+1); Ibw(i,j-1),Ibw(i,j),Ibw(i,j+1); Ibw(i+1,j-1),Ibw(i+1,j),Ibw(i+1,j+1)]; XI = [Ix(i,j)/NVI(i,j), -Ix(i,j)/NVI(i,j)]; YI = [Iy(i,j)/NVI(i,j), -Iy(i,j)/NVI(i,j)]; ZI = interp2(X,Y,Z,XI,YI); if Ibw(i,j) >= ZI(1) && Ibw(i,j) >= ZI(2) edgeimage(i,j)=I_max; else edgeimage(i,j)=I_min; end else edgeimage(i,j)=I_min; end end end
(http://robotics.eecs.berkeley.edu/~sastry/ee20/cacode.html)
D. Edge Thesholding Hasil dari langkah non-maximal suppression adalah citra yang berisi kandidat edge serta intensitas dari kekuatan edge di posisi piksel
54
tersebut. Langkah terakhir adalah hysteresis thresholding yaitu klasifikasi dengan dua buah nilai High-threshold dan Low-Threshold. suatu piksel disahkan sebagai piksel edge jika nilainya lebih besar atau sama dengan High-Threshold (thresholding umum) atau (di sini kaidah tambahannya) jika piksel tersebut memiliki intensitas kekuatan edge yang lebih besar dari Low-Threshold dan terhubung dengan piksel yang nilainya lebih besar dari High-Threshold. Berikut psedocodenya. I_max = max(max(NVI)); I_min = min(min(NVI)); level = alfa*(I_max-I_min)+I_min; Ibw = max(NVI,level.*ones(size(NVI)));
E. Edge Image Citra grayscale pada gambar 4.2 dapat diekstrak tepinya dan menampilkan hasil deteksi tepi (Edge Image) seperti gambar dibawah ini.
55
a.Gedung.jpg
b.Wajah.jpg
c.Tank.jpg
56
d.Bromo.jpg
e.Peta.jpg
Gambar 4.4 Citra Hasil Deteksi Tepi Canny
57
4.4 Hasil Deteksi Tepi Operator Sobel Dan Operator Canny Deteksi tepi yang dihasilkan operator sobel pada beberapa citra sebagaimana gambar 4.5 cukup baik akan tetapi masih ada tepi-tepi yang hilang sedangkan deteksi tepi yang dihasilkan operator canny pada gambar 4.6 menghasilkan citra yang lebih baik meskipun tepinya tidak tebal. Gambar 4.5 dan gambar 4.6 bisa dilihat kembali secara bersamaan pada tabel dibawah ini. Tabel 4.1 Hasil Deteksi Tepi No.
Citra
1
Gedung
2
Wajah
3
Tank
Operator Sobel
Operator Canny
58
4
Bromo
5
Peta
Jumlah pixel warna putih merupakan piksel yang diperoleh dari hasil deteksi tepi. Semakin banyak piksel warna putih, kemungkinan banyak pula tepi yang bisa diperoleh. Oleh karena itu, penulis membandingkan jumlah pixel warna putih yang didapat dari perhitungan deteksi tepi operator sobel dan operator canny untuk semua citra yang diuji. Dengan menggunakan fungsi nnz (number of nonzero entries) untuk menghitung piksel warna putih misalnya. JmlPikselputih = nnz(edgeimage);
Berikut ini adalah tabel yang menerangkan hasil jumlah piksel warna putih untuk semua citra sesuai metode deteksi tepi operator sobel dan operator canny. Tabel 4.2 Hasil Jumlah Piksel Warna Putih Deteksi Tepi
No.
Nama Citra
1
Jumlah Piksel Warna Putih Sobel
Canny
Gedung.jpg
64109
64516
2
Wajah.jpg
40875
40132
3
Tank.jpg
44750
48260
4
Bromo.jpg
40700
40132
5
PetaGC.jpg
37956
37338
59
Menurut data yang diperoleh pada tabel 4.2 operator Sobel dan Operator Canny tidak berbeda jauh bahkan ada di beberapa citra dimana Operator Canny lebih banyak jumlahnya dari operator sobel yaitu pada Citra nomor 1 dan 3 sedangkan pada citra yang lainnya operator sobel lebih banyak jumlahnya yaitu pada citra nomor 2, 4, dan 5. Jika dilihat secara visual hasil deteksi tepi pada tabel 4.1, deteksi tepi citra pada operator sobel tepinya lebih tebal daripada operator canny, akan tetapi ada beberapa tepi pada operator sobel yang hilang sedangkan tepi di operator canny tidak hilang.
60
BAB V KESIMPULAN DAN SARAN
5.1 Kesimpulan Dengan adanya penelitian ini diharapkan dapat memberikan beberapa informasi bagi mahasiswa dan masyarakat pada umumnya. Berdasarkan pembahasan pada bab sebelumnya, penulis dapat mengambil kesimpulan bahwa deteksi tepi dengan operator Canny lebih baik dari operator Sobel karena Operator Canny mendeteksi tepi yang tepi sebenarnya dan tidak menghilangkan tepi sebenarnya sedangkan operator sobel masih ada tepi yang hilang dan memunculkan tepi yang bukan tepi sebenarnya. Akan tetapi operator sobel menghasilkan tepi yang tebal dibandingkan operator canny.
5.2 Saran Studi Pembanding Deteksi Tepi (Edge Detection) citra yang dilakukan masih sangat jauh dari sempurna sehingga membutuhkan pengembangan penelitian untuk meningkatkan informasi yang dihasilkan dan dapat lebih bermanfaat.
61
DAFTAR PUSTAKA
Munir, Rinaldi. (2004). Pengolahan Citra Digital. Bandung: Informatika.
Prasetiyo, Eko. (2013). Pengolahan Citra Digital dan Aplikasi menggunakan Matlab. Yogyakarta: Andi Publisher.
Putra, Darma. (2010). Pengolahan Citra Digital. Yogyakarta: CV. ANDI.
Murni, A. dan S, Setiawan. (1992). Pengantar Pengolahan Citra. Jakarta: Elex Media Komputindo.
http://www.mathworks.com (2014)
Nazir, Moh.(2013). Metode Penelitian. Bogor: GHALIA INDONESIA.
Sigit, R, et al. (2005). Step by Step Pengolahan Citra Digital. Yogyakarta : CV Andi Offset.
Sutoyo, T. et al. (2009). Teori Pengolahan Citra Digital. Yogyakarta: CV. Andi Offset.
http://robotics.eecs.berkeley.edu/~sastry/ee20/cacode.html (2014)
Murni, A.(1992). Pengantar Pengolahan Citra. Jakarta : PT Elek Media Komputindo Kelompok Gramedia.
Arhami, Muhammad dan Anita Desiani.( 2005) Pemrograman MATLAB. Yogyakarta : Andi.
62
LAMPIRAN
63
Deteksi Tepi Sobel clear all clc img = imread('Wajah.jpg'); red=img(:,:,1); green=img(:,:,2); blue=img(:,:,3); I=0.3*red+0.5*green+0.2*blue ; sx=[-1 0 1;-2 0 2;-1 0 1]; sy=[-1 -2 -1;0 0 0;1 2 1]; img_sx=filter2(sx, I); img_sy=filter2(sy, I); Edge=sqrt(img_sx.^2 + img_sy.^2); Edge_t=im2bw(Edge/255); figure,imshow(Edge_t);
Deteksi Tepi Canny img = imread('Wajah.jpg'); red=img(:,:,1); green=img(:,:,2); blue=img(:,:,3); I=0.3*red+0.5*green+0.2*blue ; I=im2double(I); % 1. Parameters of edge detecting filters: X-axis direction filter: Nx1=10;Sigmax1=1;Nx2=10;Sigmax2=1;Theta1=pi/2; % Y-axis direction filter: Ny1=10;Sigmay1=1;Ny2=10;Sigmay2=1;Theta2=0; % 2. The thresholding parameter alfa: alfa=0.1; %
filterx = d2dgauss(Nx1,Sigmax1,Nx2,Sigmax2,Theta1); Ix = conv2(I,filterx,'same'); filtery = d2dgauss(Ny1,Sigmay1,Ny2,Sigmay2,Theta2); Iy = conv2(I,filtery,'same'); NVI = sqrt(Ix.*Ix+Iy.*Iy); I_max I_min level Ibw =
= max(max(NVI)); = min(min(NVI)); = alfa*(I_max-I_min)+I_min; max(NVI,level.*ones(size(NVI)));
64
[n,m]=size(Ibw); for i=2:n-1, for j=2:m-1, if Ibw(i,j) > level, X = [-1,0,+1;-1,0,+1;-1,0,+1]; Y = [-1,-1,-1;0,0,0;+1,+1,+1]; Z = [Ibw(i-1,j-1),Ibw(i-1,j),Ibw(i-1,j+1); Ibw(i,j-1),Ibw(i,j),Ibw(i,j+1); Ibw(i+1,j-1),Ibw(i+1,j),Ibw(i+1,j+1)]; XI = [Ix(i,j)/NVI(i,j), -Ix(i,j)/NVI(i,j)]; YI = [Iy(i,j)/NVI(i,j), -Iy(i,j)/NVI(i,j)]; ZI = interp2(X,Y,Z,XI,YI); if Ibw(i,j) >= ZI(1) & Ibw(i,j) >= ZI(2) edgeimage(i,j)=I_max; else edgeimage(i,j)=I_min; end else edgeimage(i,j)=I_min; end end end figure,imshow(edgeimage);
Fungsi Gausssian gauss.m function y = gauss(x,std) y = exp(-x^2/(2*std^2)) / (std*sqrt(2*pi));
dgauss.m function y = dgauss(x,std) y = -x * gauss(x,std) / std^2;
d2gauss.m function h = d2dgauss(n1,sigma1,n2,sigma2,theta) r=[cos(theta) -sin(theta); sin(theta) cos(theta)]; for i = 1 : n2 for j = 1 : n1 u = r * [j-(n1+1)/2 i-(n2+1)/2]'; h(i,j) = gauss(u(1),sigma1)*dgauss(u(2),sigma2); end end h = h / sqrt(sum(sum(abs(h).*abs(h))));
65