Studi pembanding deteksi tepi (Edge Detection) Citra JPEG dengan operator sobel dan operator canny menggunakan software matlab

(1)

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 / 1433H


(2)

ii

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,


(3)

(4)

(5)

v

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.


(6)

vi

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.


(7)

vii 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


(8)

viii

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


(9)

ix

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


(10)

x

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


(11)

xi

DAFTAR TABEL

Tabel 2.1 Contoh Warna 24 bit ... 15

Tabel 3.1 Studi Pustaka ... 36

Tabel 4.1 Hasil Deteksi Tepi ... 58


(12)

1

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 mentransformasikan citra menjadi citra lain. 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


(13)

2 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


(14)

3

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.


(15)

4

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.


(16)

5

1.7Sistematika 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 H ASIL 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


(17)

6 sebelumnya serta saran-saran yang diharapkan berguna bagi perkembangan sistem ini dimasa mendatang.


(18)

7

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:


(19)

8 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


(20)

9 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.


(21)

10 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.2Citra 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.


(22)

11

Gambar 2.3Citra 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.


(23)

(24)

13

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.


(25)

14 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


(26)

15 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. Masing-masing 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 G B Warna

255 255 255 White

0 0 0 Black

136 0 21 Dark Red

255 0 0 Red


(27)

16

0 0 255 Blue

0 162 232 Turqouise

185 122 87 Brown

255 174 201 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.


(28)

17

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


(29)

(30)

19

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


(31)

20 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


(32)

(33)

22 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.


(34)

23 Histogram yang berada pada sisi kiri Gambar 2.11 mewakili citra f(x,y) yang tersusun atas obyek terang di atas background gelap. Piksel-piksel 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.


(35)

24

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.14Tepi 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.


(36)

25

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


(37)

(38)

27 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:


(39)

(40)

29 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.


(41)

30 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 :

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:

Original Image

Image

Smoothing Differentiation Nonmaximum Suppression Edge Thresholding Edge Image


(42)

31 • 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


(43)

(44)

33

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


(45)

pertama-34 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-perlakuan tersebut terhadap satu populasi.


(46)

35

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 situs-situs internet yang berkaitan dengan judul yang penulis ambil dan dapat dilihat pada daftar pustaka.

Tabel 3.1Studi Pustaka

Jurnal Kesimpulan

komparasi algoritma Deteksi tepi (edge detection) untuk segmentasi citra tumor hepar

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 Hasil Usg 3 Dimensi Menggunakan Deteksi Tepi Canny

Kesimpulan yang diperoleh dari penelitian ini adalah metode deteksi tepi 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


(47)

keaneka-36 ragaman jenis citra masukan, maka parameter nilai ambang atas dan nilai ambang bawah dapat diubah sesuai kebutuhan citra masukan.

Perbandingan Kinerja Operator Sobel Dan Laplacian Of Gaussian (Log) Terhadap acuan Canny Untuk Mendeteksi Tepi Citra

Hasil deteksi tepi citra LoG mampu menghasilkan citra deteksi tepi wajah dan bentuk lebih baik dibandingkan Sobel. 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 :


(48)

37 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.


(49)

38 Desain langkah penelitian tersebut dapat digambarkan sesuai skema berikut ini:

Gambar 3.1 Desain Penelitian

Mulai

Input image JPG mode RGB

Konversi RGB ke Grayscale

Deteksi Tepi

Operator Canny Operator Sobel


(50)

39

Gambar 3.2 Blok Proses Operator Sobel

Gambar 3.3 Blok Proses Operator Canny

Input Image

Konvolusi kernel Sobel

Thresholding

Edge Image

Image

Smoothing Differentiation

Nonmaximum Suppression Edge

Thresholding Input Image


(51)

40 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.


(52)

41  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.


(53)

42

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


(54)

43 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.


(55)

44 b.Wajah.jpg


(56)

45 d.Bromo.jpg

e.Peta.jpg


(57)

46

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.


(58)

47 b.Wajah.jpg


(59)

48 d.Bromo.jpg

e.Peta.jpg


(60)

49

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.


(61)

50 a.Gedung.jpg


(62)

51 c.Tank.jpg


(63)

52 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.


(64)

53 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 Marr-Hildreth. 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


(65)

54 [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


(66)

55 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.


(67)

56 a.Gedung.jpg

b.Wajah.jpg


(68)

57 d.Bromo.jpg

e.Peta.jpg


(69)

58

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.1Hasil Deteksi Tepi

No. Citra Operator Sobel Operator Canny

1 Gedung

2 Wajah


(70)

59

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.2Hasil Jumlah Piksel Warna Putih Deteksi Tepi

No. Nama Citra Jumlah Piksel Warna Putih

Sobel Canny

1 Gedung.jpg 64109 64516

2 Wajah.jpg 40875 40132

3 Tank.jpg 44750 48260

4 Bromo.jpg 40700 40132


(71)

60 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.


(72)

61

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.


(73)

62

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.


(74)

63

LAMPIRAN


(75)

64

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 = max(max(NVI)); I_min = min(min(NVI));

level = alfa*(I_max-I_min)+I_min; Ibw = max(NVI,level.*ones(size(NVI)));


(76)

65

[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


(1)

60 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.


(2)

61

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.


(3)

62

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.


(4)

63


(5)

64

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 = max(max(NVI)); I_min = min(min(NVI));

level = alfa*(I_max-I_min)+I_min; Ibw = max(NVI,level.*ones(size(NVI)));


(6)

65

[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