Buku Lengkap

111
ANALISIS ALGORITMA TRANSFORMASI HOUGH DALAM MENDETEKSI LINGKARAN DAN ELIPS BERBASIS PENGOLAHAN CITRA DIGITAL ANALYSIS OF HOUGH TRANSFORM ALGORITHM FOR CIRCLE AND ELLIPSE DETECTION BASED ON DIGITAL IMAGE PROCESSING TUGAS AKHIR Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Teknik pada Fakultas Elektro dan Komunikasi Institut Teknologi Telkom Oleh: Andri Pranata Kusuma 111090175 S1 Teknik Telekomunikasi FAKULTAS ELEKTRO DAN KOMUNIKASI INSTITUT TEKNOLOGI TELKOM BANDUNG 2013

description

jrnl

Transcript of Buku Lengkap

Page 1: Buku Lengkap

ANALISIS ALGORITMA TRANSFORMASI HOUGH DALAM

MENDETEKSI LINGKARAN DAN ELIPS BERBASIS PENGOLAHAN

CITRA DIGITAL

ANALYSIS OF HOUGH TRANSFORM ALGORITHM FOR CIRCLE AND ELLIPSE

DETECTION BASED ON DIGITAL IMAGE PROCESSING

TUGAS AKHIR

Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Teknik

pada Fakultas Elektro dan Komunikasi Institut Teknologi Telkom

Oleh:

Andri Pranata Kusuma

111090175

S1 Teknik Telekomunikasi

FAKULTAS ELEKTRO DAN KOMUNIKASI

INSTITUT TEKNOLOGI TELKOM

BANDUNG

2013

Page 2: Buku Lengkap

INSTITUT TEKNOLOGI TELKOM No. Dokumen ITT-AK-FEK-PTT-PTT-FM-001/004

Jl. Telekomunikasi No. 1 Ters. Buah Batu

Bandung 40257 No. Revisi 00

FORMULIR LEMBAR PENGESAHAN

TUGAS AKHIR Berlaku Efektif 02 Mei 2011

LEMBAR PENGESAHAN

TUGAS AKHIR

ANALISIS ALGORITMA TRANSFORMASI HOUGH DALAM

MENDETEKSI LINGKARAN DAN ELIPS BERBASIS PENGOLAHAN

CITRA DIGITAL

ANALYSIS OF HOUGH TRANSFORM ALGORITHM FOR CIRCLE AND

ELLIPSE DETECTION BASED ON DIGITAL IMAGE PROCESSING

Andri Pranata Kusuma

111090175

Telah disetujui dan disahkan sebagai Tugas Akhir

Program Sl Teknik Telekomunikasi Fakultas Elektro dan Komunikasi

Institut Teknologi Telkom

Pembimbing I Pembimbing II

Koredianto Usman, ST., M.Sc. Suryo Adhi Wibowo, ST.,MT.

NIK : 02750290-1 NIK : 10870628-1

Page 3: Buku Lengkap

INSTITUT TEKNOLOGI TELKOM No. Dokumen ITT-AK-FEK-PTT-PTT-FM-001/004

Jl. Telekomunikasi No. 1 Ters. Buah Batu

Bandung 40257 No. Revisi 00

FORMULIR PERNYATAAN ORISINALITAS Berlaku Efektif 02 Mei 2011

HALAMAN PERNYATAAN ORISINALITAS

NAMA : ANDRI PRANATA KUSUMA NIM : 111090175 ALAMAT : JL. MASJID RT 012/01 NO.1A CIPINANG MELAYU, JAKARTA TIMUR

13620 No. Telp / Hp : 081321680644 Email : [email protected] Menyatakan bahwa Tugas Akhir ini merupakan karya orisinal saya sendiri, dengan judul :

ANALISIS ALGORITMA TRANSFORMASI HOUGH DALAM MENDETEKSI

LINGKARAN DAN ELIPS BERBASIS PENGOLAHAN CITRA DIGITAL

ANALYSIS OF HOUGH TRANSFORM ALGORITHM FOR CIRCLE AND ELLIPSE

DETECTION BASED ON DIGITAL IMAGE PROCESSING

Atas pernyataan ini, saya siap menanggung resiko / sanksi yang dijatuhkan kepada saya apabila

kemudian ditemukan adanya pelanggaran terhadap kejujuran akademik atau etika keilmuan

dalam karya ini, atau ditemukan bukti yang menunjukkan ketidakaslian karya ini.

Bandung, Januari 2013

Andri Pranata Kusuma 111090175

Page 4: Buku Lengkap

iv

LEMBAR PERSEMBAHAN

“Katakanlah (Muhammad), ‘Inilah jalanku yang lurus, aku dan orang-orang yang

mengikutiku mengajak (kamu) kepada Allah dengan ilmu.’ (QS Yusuf [12]: 108)

“Dan perumpamaan-perumpamaan ini Kami buat untuk manusia; dan tiada yang

memahaminya kecuali orang-orang yang berilmu.”(QS Al-‘Ankabuut[29]:43)

“Tuntutlah ilmu, sesungguhnya menuntut ilmu adalah pendekatan diri kepada Allah Azza

wajalla, dan mengajarkannya kepada orang yang tidak mengetahuinya adalah sodaqoh.

Sesungguhnya ilmu pengetahuan menempatkan orangnya, dalam kedudukan terhormat

dan mulia (tinggi). Ilmu pengetahuan adalah keindahan bagi ahlinya di dunia dan di

akhirat." (HR Ar-Rabii')

“Man Jadda Wajada = Siapa yang bersungguh-sungguh akan berhasil”

Tugas Akhir ini kupersembahkan untuk

Papa dan Mamaku tercinta

Kedua adikku tersayang

Saudara, Sahabat, dan Teman-Temanku

Calon Pendamping Hidupku kelak

Dan

Pembaca yang giat mencari ilmu

Page 5: Buku Lengkap

v

ABSTRAK

Dalam aplikasi sensing robotic dan computer vision dibutuhkan sebuah algoritma

pengenalan pola. Pada tugas akhir ini dilakukan penelitian terhadap algoritma

Transformasi Hough dalam mendeteksi kurva tertutup sederhana seperti lingkaran atau

elips. Pada penelitian sebelumnya, algoritma Transformasi Hough telah digunakan dalam

pendeteksian jumlah sisi bangun geometri segi-N. Akan tetapi belum ada penelitian yang

menganalisis Transformasi Hough dalam mendeteksi dan membedakan kurva tertutup

sederhana.

Untuk mendeteksi objek elips dan lingkaran dalam sebuah citra digital, pertama-tama

dilakukan proses akuisisi citra dengan meng-capture objek dari webcam atau dengan

membangkitkan citra dari komputer. Lalu tahap preprocessing untuk mendapatkan garis

tepi objek. Kemudian digunakan Transformasi Hough Standar (SHT) dan dianalisis kurva

sinusoidal hasil transformasi tersebut. Lingkaran akan memiliki bentuk kurva sinusoidal

yang cukup teratur dibandingkan elips. Oleh karena itu pada penelitian kali ini akan

digunakan metode standar deviasi untuk membedakan objek lingkaran dan elips. Setelah

mendapatkan objek yang diinginkan, kemudian digunakan Transformasi Hough yang di

modifikasi (MHT) untuk merekonstruksi bangun tersebut.

Untuk menganalisis tingkat performasi algoritma dalam pendeteksian dan

rekonstruksi, maka diujikan 108 citra berbentuk lingkaran dan elips dengan warna dan

besar berbeda. Berdasarkan hasil uji, sistem dapat membedakan objek kurva tertutup

dengan akurasi 95,46% dan merekonstruksi kurva tertutup dengan akurasi sebesar 100%.

Waktu komputasi rata-rata dalam merekonstruksi lingkaran 4,86 detik dan merekonstruksi

elips 0,594 detik.

Kata Kunci : Transformasi Hough Standar (SHT), Standar Deviasi, Transformasi Hough

di Modifikasi (MHT), Lingkaran dan Elips

Page 6: Buku Lengkap

vi

ABSTRACT

Pattern recognition algorithm is very important for robotic sensing and computer

vision. On this thesis, Hough Transform Algorithm is tested to detect simple closed curve

like circle and ellipse. On the previous research, Hough Transform Algorithm was used to

detect the number of N-side from a geometry object. However, there is still no research to

analyze Hough Transform performance in detecting and differentiating simple closed

curve.

To detect an object such as ellipse and circle in a digital image, first the image is

acquired by capturing from a webcam or generating images from computer. Then the

preprocessing stage will be done to get its edges. Next the edges will be transformed using

Standard Hough Transform and the curve from Hough Transform will be analyzed. The

circle will have a more constant sinusoidal curve than the ellipse. Therefore, in this

research standard deviation method is used to differentiate those objects. After gaining the

expected ones, a Modified Hough Transform is used to reconstruct the objects.

To analyze the performance of algorithm, all the 108 images of cicrle and ellipse

with different color and size is tested. Based on the results, the system can detect and

distiguish circle and ellipse objects with 95,46% accuracy as well as reconstruct those

object with 100% accuracy. The average computation time in circle reconstruction is 4,86

seconds and ellipse reconstruction is about 0,594 seconds

Keywords : Standard Hough Transform (SHT), Modified Hough Transform (MHT),

Circle and Ellipse

Page 7: Buku Lengkap

vii

KATA PENGANTAR

Segala puji dan syukur sedalam-dalamnya penulis panjatkan ke hadapan Allah SWT,

karena berkat rahmat, taufiq, hidayah-NYA, Tugas akhir yang berjudul “Analisis Algoritma

Transformasi Hough Dalam Mendeteksi Lingkaran dan Elips Berbasis Pengolahan Citra

Digital” ini bisa diselesaikan sebagai salah satu syarat menyelesaikan program pendidikan

sarjana pada Fakultas Elektro dan Komunikasi, Institut Teknologi Telkom Bandung

Diharapkan Tugas Akhir ini dapat bermanfaat dalam pengembangan dunia keilmuan di

kampus Institut Teknologi Telkom yang berkaitan dengan cabang ilmu pengolahan sinyal

digital, dan selanjutnya bisa diimplementasikan ke dalam bidang robotik.

Penulis menyadari masih terdapat kekurangan dalam penyusunan Tugas Akhir ini.

Sehingga Penulis pun terbuka untuk menerima saran dan kritik yang bersifat membangun.

Dengan segala kerendahan hati, penulis berharap semoga Tugas Akhir ini dapat bermanfaat

dan penulis pada khususnya, serta bagi dunia pendidikan pada umumnya.

Bandung, Januari 2013

Penulis

Page 8: Buku Lengkap

viii

UCAPAN TERIMA KASIH

Puji syukur Penulis panjatkan kepada Allah SWT, Tuhan Yang Maha Esa, karena

atas rahmat dan hidayah-Nya Tugas Akhir ini dapat terselesaikan dengan baik. Shalawat

serta salam tidak lupa penulis curahkan kepada Nabi Besar Muhammad SAW,

keluarganya, sahabatnya serta pengikutnya.

Penulis sadar bahwa penulis tidak dapat menyelesaikan Tugas Akhir dan perkuliahan

di IT Telkom ini tanpa adanya bantuan dari lingkungan sekitar Penulis. Oleh karena itu,

penulis mengucapkan terima kasih kepada :

1. Ibu Penulis, Ibu Kusmiyati, SE. yang tidak ada hentinya memberikan perhatian,

berdoa, mengingatkan anaknya disetiap keadaan, dan rela datang ke Bandung

sendiri untuk mendampingi Penulis disaat sidang. Ayah Penulis, Bpk. Sumatno,

yang selalu memberikan semangat, berbagai jenis sokongan dan mengingatkan

untuk selalu tidak boleh jauh dari Allah. Ahmad Zuhdi Dwi Kusuma dan

Anita Putri Kusuma yang mendoakan kakaknya mengerjakan Tugas Akhir

supaya bisa lulus dan cepat kerja.

2. Keluarga besar Penulis, Nenek Penulis di Jakarta yang senantiasa mendoakan

cucu pertamanya, kakek, om, tante, saudara-saudaraku, dengan mengingat kalian

Penulis jadi termotivasi untuk mengerjakan Tugas Akhir ini.

3. Bapak Koredianto Usman, ST.,M.sc., selaku pembimbing pertama dan Bapak

Suryo Adhi Wibowo, ST., MT., selaku pembimbing kedua. Dua orang yang

selalu memotivasi penulis, mengingatkan deadline, dan membimbing penulis di

tengah kesibukannya.

4. Bapak Inung Wijayanto, ST.,MT. Selaku dosen wali Penulis yang

mengarahkan dan memudahkan segala urusan perwalian agar bisa lanjut sidang

dan cepat lulus dari kampus ini dan seluruh dosen IT Telkom atas bimbingannya

selama ini.

5. Issafitri Nur Rachmawati alias bebe alias calon ST 2014, atas doa, kesabaran,

dan kesediaannya ketika penulis sedang kalut mengingat Tugas Akhir untuk

mendengarkan segala keluhan dan curhatan. Ikut mencari pinjaman webcam

agar Penulis lancar dalam pengambilan data. Merelakan kamarnya dipakai untuk

pengambilan data TA, dan senantiasa memberi semangat kepada penulis. Terima

kasih cantik.

Page 9: Buku Lengkap

ix

6. Kak Anggunmeka Luhur Prasasti, ST. dan kak Dzikrina Khoirunnisak, ST.

yang telah membuka pikiran penulis dalam pengambilan judul dan pembimbing

dalam Tugas Akhir ini.

7. Anggi Permata Hadwi alias Tank, sahabat terbaik Penulis selama berkuliah di

IT Telkom. Teman seperjuangan di Kopma, teman motivasi, teman saingan, dan

teman curhat ketika Penulis masih berada di zaman “kelabilan”. Rodia Mardia,

sahabat sesama 3,5 tahun yang siap membantu dan mendengarkan keluh kesah

teman seperjuangannya ini.

8. Keluarga besar Kopma IT Telkom, kak Sugeng, kak DJ, kak Ardan, kak Kahfi,

Abang, Patur, kak Be, kak Unan, kak Ayu, kak Cus, kak Rebek, Kak Baal, kak

Arnas, kak Ria, kak Indah, kak Vira, Luthfi, Pras, Qori, Asuh, Edho, Ninis,

Evan, Rina, Dion, Adel, Sari, Mure, Adhi, Doni, Alfath, Zulfi, Fikri, Firda,

Dinda, Ebi, Vita, Madu, Hilda, Erty, Puji, Fajar, Andang, Krisna, Bowo, Richo,

Yudha, Ilham, teh Yuli, bibi untuk doa dan “pembakaran” yang semakin

membuat penulis semangat untuk lulus dari kampus ini.

9. Keluarga besar IMV, squad KRU dan “bimbs of SAO”, Tika, Noi, Rina, Dian,

Munawar, Syifa, Ika, Rizka, Rahma, Kun, Lintang, Audy, Kode, Heru, Umi,

Janu, Lala yang memberikan dukungan moril dan semangat.

10. Keluarga kelas TT-33-03, teman-teman yang saling memberikan semangat dan

motivasi dalam mengerjakan TA, Ayu, Aceng, Relung, Arga, Aul, Muflich,

Dwi. Risa yang sudah membantu memeriksa abstrak dan slide Bahasa Inggris .

Irna, Iqbal, Rizwan yang sudah menyempatkan waktu untuk datang ke sidang

Penulis. Dan Teman-teman TT-33-03 terbaik lainnya, Shid, Safrian, Rahmat,

Kompyang, Evan, Luthfi, Tika, Rizka, Mira dan teman lainnya.

Terima kasih untuk seluruh pihak yang tidak dapat dijabarkan satu per satu yang

telah membantu Penulis selama ini. Semoga Allah SWT Membalas semua kebaikan

dengan karunia-Nya.

Page 10: Buku Lengkap

x

DAFTAR ISI

LEMBAR JUDUL ......................................................................................................... i

LEMBAR PENGESAHAN ........................................................................................... ii

LEMBAR PERYATAAN ORISINALITAS ................................................................. iii

LEMBAR PERSEMBAHAN ........................................................................................ iv

ABSTRAK .................................................................................................................... v

ABSTRACT .................................................................................................................... vi

KATA PENGANTAR ................................................................................................... vii

UCAPAN TERIMA KASIH ......................................................................................... viii

DAFTAR ISI ................................................................................................................. x

DAFTAR GAMBAR ..................................................................................................... xiii

DAFTAR TABEL ......................................................................................................... xv

DAFTAR PERSAMAAN ............................................................................................. xvi

DAFTAR ISTILAH ....................................................................................................... xvii

DAFTAR SINGKATAN ............................................................................................... xix

BAB I PENDAHULUAN .............................................................................................. 1

1.1 Latar Belakang ....................................................................................................... 1

1.2 Tujuan .................................................................................................................... 2

1.3 Manfaat ................................................................................................................... 2

1.4 Perumusan masalah ................................................................................................ 2

1.5 Batasan Masalah ..................................................................................................... 3

1.6 Metodologi Penelitian ............................................................................................ 3

1.7 Sistematika Penulisan ............................................................................................ 4

1.8 Jadwal Pelaksanaan ................................................................................................ 5

BAB II DASAR TEORI ................................................................................................ 6

2.1 Citra Digital ............................................................................................................ 6

2.2 Citra RGB .............................................................................................................. 7

2.3 Model Warna HSV ................................................................................................. 7

2.4 Operasi Batas Ambang (Thresholding) .................................................................. 8

2.5 Deteksi Tepi ........................................................................................................... 9

2.6 Operasi Morfologi dalam Citra Digital .................................................................. 9

2.6.1 Operasi Dilasi dan Erosi ............................................................................... 10

Page 11: Buku Lengkap

xi

2.6.2 Operasi Opening ............................................................................................ 11

2.7 Transformasi Hough ............................................................................................... 12

2.7.1 Transformasi Hough Normal ........................................................................ 12

2.7.2 Transformasi Hough Diskrit ......................................................................... 13

2.8 Lingkaran ............................................................................................................... 13

2.9 Elips ....................................................................................................................... 14

2.10 Derau ...................................................................................................................... 15

BAB III PERANCANGAN SISTEM ........................................................................... 16

3.1 Masukan Sistem ..................................................................................................... 17

3.2 Derau/Gangguan .................................................................................................... 18

3.3 Pemrosesan Awal ................................................................................................... 19

3.4 Algoritma Transformasi Hough Standar (SHT) ..................................................... 21

3.5 Analisis SHT dalam Membedakan Elips dan Lingkaran ....................................... 24

3.6 Proses Deteksi Letak Posisi dan Rekonstruksi Elips dan Lingkaran ..................... 26

3.6.1 Analisis Algoritma Transformasi Hough dalam mendeteksi Lingkaran ....... 26

3.6.2 Analisis Algoritma Transformasi Hough dalam mendeteksi Elips ............... 28

BAB IV ANALISIS HASIL SIMULASI ..................................................................... 31

4.1 Proses Pengujian .................................................................................................... 31

4.2 Deteksi pada Citra yang dibangkitkan Komputer .................................................. 32

4.3 Deteksi pada Citra yang di-capture Webcam ........................................................ 33

4.4 Analisis Hasil Deteksi dan Kesalahan pada Citra Komputer dan Webcam ........... 34

4.5 Analisis Hasil Uji Tingkat Eksentrisitas Elips pada Citra Komputer dan

Webcam .................................................................................................................. 37

4.6 Hasil Uji Keandalan Sistem dengan Derau yang Dibangkitkan MATLAB .......... 38

4.6.1 Poisson .......................................................................................................... 38

4.6.2 Speckle .......................................................................................................... 39

4.6.3 Salt and Pepper .............................................................................................. 40

4.6.4 Gaussian ........................................................................................................ 42

4.7 Analisis Hasil Deteksi Objek Lingkaran dan Elips Sebenarnya pada Citra

yang di-capture Webcam ........................................................................................ 43

4.8 Pengujian dengan Objek Selain Elips dan Lingkaran ............................................. 45

Page 12: Buku Lengkap

xii

BAB V PENUTUP ......................................................................................................... 47

5.1 Kesimpulan ............................................................................................................ 47

5.2 Saran ....................................................................................................................... 48

DAFTAR PUSTAKA ...................................................................................................... xx

DAFTAR LAMPIRAN ................................................................................................. xxii

LAMPIRAN

Page 13: Buku Lengkap

xiii

DAFTAR GAMBAR

Gambar 2.1 Representasi citra dalam bentuk matriks .................................................... 6

Gambar 2.2 Kombinasi warna RGB .............................................................................. 7

Gambar 2.3 Model Warna HSV ..................................................................................... 8

Gambar 2.4 Citra masukan (kiri), citra grayscale (tengah), citra hasil

thresholding (kanan) .................................................................................. 8

Gambar 2.5 Citra masukan (kiri), hasil deteksi tepi canny (kanan) ............................... 9

Gambar 2.6 Citra masukan (kiri), hasil dilasi (tengah), hasil erosi (kanan) .................. 10

Gambar 2.7 Macam-macam elemen penstruktur (strel) ................................................. 11

Gambar 2.8 Citra masukan (kiri), hasil bwareaopen dengan 50 piksel yang

terhubung dihilangkan (kanan) ................................................................... 11

Gambar 2.9 Transformasi domain citra ke domain hough ............................................ 12

Gambar 2.10 Lingkaran ................................................................................................. 14

Gambar 2.11 Parameter Elips ........................................................................................ 14

Gambar 3.1 Diagram alir cara kerja sistem .................................................................... 16

Gambar 3.2 Contoh citra input yang dibangkitkan oleh computer ................................ 17

Gambar 3.3 Contoh citra input yang di-capture dari web-cam ..................................... 17

Gambar 3.4 Diagram blok preprocessing ...................................................................... 19

Gambar 3.5 Tahap pemrosesan awal (preprocessing) berdasarkan gambar .................. 21

Gambar 3.6 Representasi persamaan garis parameter rho(r), theta ............................... 22

Gambar 3.7 Contoh implementasi Standard Hough Transform (1) .............................. 22

Gambar 3.8 Contoh implementasi Standard Hough Transform (2) .............................. 23

Gambar 3.9 Local Maxima Hasil Transformasi Hough ................................................. 23

Gambar 3.10 Diagram alir proses pendeteksian dan pengklasifikasian ......................... 24

Gambar 3.11 Hasil Transformasi Hough standar terhadap citra lingkaran .................... 24

Gambar 3.12 Hasil Transformasi Hough standar terhadap citra elips ........................... 24

Gambar 3.13 Hasil Ekstraksi Transformasi Hough ........................................................ 25

Gambar 3.14 Diagram alir Algoritma Transformasi Hough untuk mendeteksi dan

merekonstruksi lingkaran .......................................................................... 27

Gambar 3.15 Hasil rekonstruksi dengan algoritma TransformasiHough

untuk lingkaran ......................................................................................... 28

Page 14: Buku Lengkap

xiv

Gambar 3.16 Diagram alir Algoritma Transformasi Hough untuk mendeteksi dan

merekonstruksi elips ................................................................................. 29

Gambar 3.17 Geometri sebuah Elips ............................................................................. 29

Gambar 3.18 Hasil rekonstruksi algoritma Transformasi Hough untuk elips ............... 30

Gambar 4.1 Rincian citra input ...................................................................................... 31

Gambar 4.2 Grafik perbandingan persentasi akurasi citra komputer ............................. 33

Gambar 4.3 Grafik perbandingan persentase akurasi citra webcam .............................. 34

Gambar 4.4 Citra komputer dan ditambah derau Poisson ............................................. 38

Gambar 4.5 Citra komputer dan ditambah derau Poisson ............................................. 38

Gambar 4.6 Grafik akurasi hasil uji derau Speckle dengan berbagai variance ............. 39

Gambar 4.7 Citra komputer dan ditambah derau Speckle (variance 0,3) ...................... 40

Gambar 4.8 Citra webcam dan ditambah derau Speckle (variance 0,3) ........................ 40

Gambar 4.9 Grafik akurasi hasil uji derau Salt and Pepper dengan berbagai

Kerapatan ................................................................................................... 41

Gambar 4.10 Citra webcam dan ditambah derau Salt & Pepper (density 0,2) .............. 41

Gambar 4.11 Citra komputer dan ditambah derau Salt & Pepper (density 0,2) ............ 41

Gambar 4.12 Grafik akurasi hasil uji derau Gaussian dengan mean=0 ........................ 42

Gambar 4.13 Grafik akurasi hasil uji derau Gaussian dengan variance=0,01 .............. 42

Gambar 4.14 Derau Gaussian dengan mean = 0

(var=0 kiri, var=0,2 tengah, var=0,5 kanan) ........................................... 43

Gambar 4.15 Derau Gaussian dengan variance = 0.01

(mean=0 kiri, mean=0,2 tengah, mean=0,5 kanan) ................................. 43

Gambar 4.16 Citra lingkaran yang terdeteksi sebagai elips karena bayangan (kiri=

citra masukan, tengah=model warna HSV, kanan=hasil threshold) ........ 44

Gambar 4.17 Citra lingkaran yang tidak terdeteksi karena terlalu gelap (kiri=

citra masukan, tengah=model warna HSV, kanan=hasil threshold) ........ 45

Gambar 4.18 Hasil transformasi segi sepuluh kedalam domain Hough ........................ 46

Gambar 4.19 Hasil transformasi segi dua belas kedalam domain Hough ..................... 46

Page 15: Buku Lengkap

xv

DAFTAR TABEL

Tabel 4.1 Perbandingan Hasil Uji Deteksi Lingkaran dan Elips .................................... 36

Tabel 4.2 Perbandingan Hasil Uji Tingkat Eksentrisitas ................................................ 38

Tabel 4.3 Perbandingan Hasil uji dengan derau Poisson ................................................ 39

Tabel 4.4 Hasil Uji Derau Speckle dengan Berbagai Variance ...................................... 40

Tabel 4.5 Hasil Uji Derau Speckle dengan Berbagai Variance ...................................... 41

Tabel 4.6 Hasil Uji Derau Gaussian dengan Mean=0 dan Berbagai Nilai Variance ..... 43

Tabel 4.7 Hasil Uji Derau Gaussian dengan Variance=0 dan Berbagai Nilai Mean ..... 43

Tabel 4.8 Perbandingan Hasil Uji Objek Sesungguhnya ................................................ 45

Tabel 4.9 Hasil Uji Objek Selain Lingkaran dan Elips ................................................... 45

Page 16: Buku Lengkap

xvi

DAFTAR PERSAMAAN

Persamaan (2.1) ............................................................................................................. 8

Persamaan (2.2) ............................................................................................................. 10

Persamaan (2.3) ............................................................................................................. 10

Persamaan (2.4) ............................................................................................................. 12

Persamaan (2.5) ............................................................................................................. 13

Persamaan (2.6) ............................................................................................................. 13

Persamaan (2.7) ............................................................................................................. 13

Persamaan (2.8) ............................................................................................................. 13

Persamaan (2.9) ............................................................................................................. 13

Persamaan (2.10) ........................................................................................................... 13

Persamaan (2.11) ........................................................................................................... 13

Persamaan (2.12) ........................................................................................................... 13

Persamaan (2.13) ........................................................................................................... 14

Persamaan (2.14) ........................................................................................................... 14

Persamaan (2.15) ........................................................................................................... 14

Persamaan (2.16) ........................................................................................................... 15

Persamaan (2.17) ........................................................................................................... 15

Persamaan (2.18) ........................................................................................................... 15

Persamaan (3.1) ............................................................................................................. 21

Persamaan (3.2) ............................................................................................................. 21

Persamaan (3.3) ............................................................................................................. 25

Persamaan (3.4) ............................................................................................................. 29

Persamaan (3.5) ............................................................................................................. 29

Persamaan (3.6) ............................................................................................................. 29

Persamaan (3.7) ............................................................................................................. 29

Persamaan (3.8) ............................................................................................................. 30

Persamaan (3.9) ............................................................................................................. 30

Persamaan (4.1) ............................................................................................................. 33

Page 17: Buku Lengkap

xvii

DAFTAR ISTILAH

Accumulator Array Tabel yang digunakan untuk meletakkan

parameter Transformasi Hough yaitu

parameter dari objek yang ingin

dideteksi dan bertambah jika terdapat

suatu kondisi yang terpenuhi.

Computer Vision Proses otomatis yang mengintegrasikan

sejumlah besar proses persepsi visual

seperti akuisisi citra, pengolahan citra,

pengenalan, dan pembuat keputusan.

Eksentrisitas Elips ( e ) Derajat kepipihan elips, secara teoretis

10 <≤ e semakin mendekati 1 maka

elips akan semakin pipih.

Fitting Proses rekonstruksi dan pengepasan

sebuah objek.

Local Maxima Nilai maksimum yang terdapat pada

ruang akumulator.

Preprocessing (Pemrosesan Awal) Suatu proses dalam pengolahan citra

digital untuk mendapatkan kondisi citra

yang diinginkan untuk proses

selanjutnya.

Robotic Sensing kemampuan robot untuk melakukan

proses visual seperti pada indera

manusia.

Standar Deviasi Metode statistik yang digunakan untuk

melihat homogenitas dari sebuah

kelompok.

Threshold Suatu nilai (bisa lebih dari 1) batas

ambang yang biasa digunakan untuk

proses pengklasifikasian.

Page 18: Buku Lengkap

xviii

Transformasi Hough Standar (SHT) Transformasi yang digunakan untuk

mengubah domain citra menjadi domain

( θρ , ) untuk mendeteksi keberadaan

garis.

Transformasi Hough dimodifikasi (MHT) Transformasi hough yang dimodifikasi

untuk mendeteksi dan merekonstruksi

suatu objek tertentu.

Page 19: Buku Lengkap

xix

DAFTAR SINGKATAN

Bi : Blue Input

BMP : Windows Bitmap Image File

Bo : Blue Output

CHT : Circular Hough Transform

EHT : Elliptical Hough Transform

Gi : Green Input

Go : Green Output

GST : Gray Scale Transformation

HSV : Hue, Saturation, Value

MHT : Modified Hough Transform

RGB : Red Green Blue

Ri : Red Input

Ro : Red Output

SHT : Standard Hough Transform

Strel : Structuring Element

Page 20: Buku Lengkap

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Bangun geometri 2 dimensi adalah sebuah bidang datar yang dibatasi oleh garis-garis

dan dimana titik ujung setiap garis terhubung dengan garis yang lain minimal tiga buah

garis, sehingga membentuk sebuah bangun tertutup[12]. Berbeda dengan bangun geometri,

Lingkaran dan elips merupakan kurva sederhana tertutup yang beraturan. Lingkaran adalah

himpunan titik-titik pada bidang dalam jarak tertentu (r), dari suatu titik tertentu, yang

disebut pusat[17]. Sedangkan elips didefinisikan sebagai tempat kedudukan titik-titik dalam

bidang yang jumlah jarak dari dua titiknya konstan. Suatu elips punya dua sumbu simetri,

yaitu sumbu sumbu utama (sumbu panjang) dan sumbu minor (sumbu pendek)[20]. Selain

itu yang membedakan antara elips dan lingkaran adalah nilai eksentrisitasnya. Elips

memiliki nilai eksentrisitas antara 0-1 sedangkan lingkaran memiliki nilai eksentrisitas

0[19].

Pada aplikasi sensing robotic atau computer vision, dibutuhkan sebuah algoritma

pengenalan pola. Hal ini bertujuan agar komputer dapat mengidentifikasi obyek-obyek

tertentu. Salah satu algoritma pengenalan pola adalah algoritma Transformasi Hough.

Transformasi Hough telah diperkenalkan oleh Paul Hough pada tahun 1962. Pada

implementasinya Transformasi Hough melakukan pemetaan titik-titik pada citra ke dalam

ruang parameter (Hough space) berdasarkan suatu fungsi dari bentuk yang ingin dideteksi.

Pada awalnya TH digunakan untuk mendeteksi garis pada sebuah citra. Namun oleh Duda

dan Hart[4], Transformasi Hough dikembangkan dalam pendeteksian kurva, umumnya

seperti lingkaran dan elips. Salah satu keunggulan dari Transformasi Hough adalah lebih

cepat dan lebih baik akurasinya dari Transformasi Radon[9].

Pada penelitian sebelumnya oleh Aji Atturmudzi[1], algoritma Transformasi Hough

digunakan dalam pendeteksian posisi mata dan oleh Dzikrina Khoirunnisak[9], telah

dilakukan penganalisisan terhadap performansi algoritma Transformasi Hough dalam

mengidentifikasi bangun geometri 2D segi-N. Namun belum ada penelitian yang

membahas bagaimana performansi algoritma Transformasi Hough dalam mendeteksi dan

membedakan kurva tertutup yaitu lingkaran dan juga elips. Banyak objek yang terbentuk

dari kurva tertutup, misal bola, piring, telur, sabun, dll. Oleh karena itu, kemampuan untuk

membedakan dan menganalisis elips dan lingkaran merupakan hal penting untuk

Page 21: Buku Lengkap

2

diimplementasikan agar objek-objek yang tersusun dari kurva tertutup tersebut dapat

terdeteksi dan dibedakan. Maka dari itu, pada penelitian kali akan dibuat dan dianalisis

suatu aplikasi untuk mendeteksi dan menganalisis objek lingkaran dan elips yang terdapat

pada sebuah citra digital dengan menggunakan algoritma Transformasi Hough.

1.2 Tujuan

Tujuan tugas akhir ini dapat dirumuskan sebagai berikut.

1. Mengimplementasikan aplikasi untuk mendeteksi dan menganalisis objek

lingkaran dan elips baik yang dibuat maupun objek sesungguhnya berbasis

pengolahan citra digital.

2. Menguji dan menganalisis simulasi sistem untuk deteksi objek buatan hasil

akuisisi webcam dan objek yang dibangkitkan lewat komputer

3. Menguji performansi Transformasi Hough dengan mengukur akurasi dan waktu

komputasi dalam mendeteksi dan menganalisis objek lingkaran dan elips.

4. Menguji dan menganalisis hasil implementasi sistem dengan derau yang memiliki

kerapatan yang berbeda.

1.3 Manfaat

Manfaat dari pelaksanaan tugas akhir ini adalah sebagai berikut.

1. Melengkapi penelitian sebelumnya dan bisa sebagai tambahan bahan perkuliahan

di mata kuliah computer vision.

2. Dasar pengenalan objek karena objek selain terbentuk dari bangun geometri,

objek-objek juga bisa terbentuk dari komponen lingkaran dan elips

3. Dapat digunakan dan diterapkan pada aplikasi sensing robotic.

1.4 Perumusan masalah

Perumusan masalah yang digunakan pada Tugas Akhir ini adalah:

1. Bagaimana melakukan tahap preprocessing dari objek lingkaran dan elips dalam

citra digital menggunakan MATLAB.

2. Bagaimana menggunakan algoritma Transformasi Hough untuk mengetahui

adanya objek lingkaran atau elips dari sebuah citra digital.

3. Bagaimana cara mendeteksi dan menganalisis objek lingkaran dan elips dari

sebuah citra digital.

Page 22: Buku Lengkap

3

4. Bagaimana pengaruh tingkat eksentrisitas elips terhadap proses pendeteksian

dengan Transformasi Hough.

5. Bagaimana pengaruh jenis citra masukan terhadap performansi sistem: citra

dengan derau dan citra tidak dengan derau.

6. Bagaimana pengaruh level derau terhadap performansi Transformasi Hough.

7. Bagaimana tingkat keberhasilan sistem berdasarkan waktu komputasi, tingkat

parameter akurasi, dan error.

1.5 Batasan masalah

Pengerjaan tugas akhir ini, dibatasi pada hal-hal sebagai berikut:

1. Masukan sistem merupakan citra dengan ukuran 640x480 piksel, memiliki format

*.bmp

2. Citra masukan didapat melalui akuisisi dari web-cam (untuk hasil aktual) dan

beberapa citra masukan didapat dengan dibangkitkan oleh software (CorelDRAW

X5) untuk pembuktian hasil teoretis.

3. Objek atau citra untuk pengujian eksentrisitas dibatasi dengan eksentrisitas 0.2,

0.3, 0.4, 0.5 , dan 0.8.

4. Citra masukan merupakan gambar lingkaran dengan jari-jari minimum piksel

sebesar 50 pixel dan maksimal piksel bernilai 150 piksel baik aktual maupun ideal

(CorelDRAW) dan elips.

5. Latar belakang objek berwarna putih.

6. Penambahan derau yang dibangkitkan lewat aplikasi MATLAB untuk menguji

performansi sistem (derau Gaussian, Salt & Pepper, Speckle, dan Poisson).

7. Alat bantu yang digunakan pada penelitian ini adalah MATLAB versi R2009a.

1.6 Metodologi Penelitian

Penelitian ini bersifat terapan, hasil akhir dari penelitian dapat diaplikasikan dan

diterapkan secara langsung. Metode yang digunakan untuk menyelesaikan tugas akhir ini

adalah dengan melakukan eksperimen. Eksperimen akan berlangsung di laboratorium IMV

dan tempat tinggal penulis. Eksperimen pertama yang dilakukan adalah mengakuisisi citra

dan menentukan kategori citra, apakah termasuk berderau atau tidak. Kemudian akan

dilakukan eksperimen pendeteksian bentuk dengan menggunakan Transformasi Hough

sehingga hasil keluarannya berupa deteksi bidang yang diinginkan. Dan tahap terakhir dari

Page 23: Buku Lengkap

4

deteksi ini adalah proses rekonstruksi (fitting) dari objek yang diteliti. Implementasi

Transformasi Hough ini dengan menggunakan platform MATLAB R2009a. Berdasarkan

hasil keluaran sistem maka akan dibuat analisis berdasarkan skenario yang dijalankan.

Kemudian dapat ditarik kesimpulan dari hasil analisis tersebut.

1.7 Sistematika Penulisan

Tugas akhir ini dibagi dalam beberapa topik bahasan yang disusun secara sistematis

sebagai berikut :

Bab I Pendahuluan

Bab ini membahas latar belakang, tujuan, manfaat, perumusan dan batasan

masalah, metodologi penelitian serta sistematika penulisan.

Bab II Dasar Teori

Bab ini membahas teori yang mendukung dan mendasari penulisan tugas

akhir ini, meliputi pengolahan citra digital, teori dasar algoritma

Transformasi Hough, karakteristik bangun Lingkaran dan Elips, serta teori

lain yang mendukung.

Bab III Perancangan Sistem

Dalam BAB III diuraikan tentang model perancangan sistem dari tahap

pemrosesan awal, sampai penggunaan Algoritma Transformasi Hough

dalam deteksi objek berbasis citra digital

Bab IV Analisis Hasil Simulasi

Bab ini membahas hasil simulasi yang diperoleh dan memberikan analisis

terhadap hasil simulasi tersebut. Objek masukan dalam keadaan tanpa derau

hingga objek diberikan derau dengan berbagai kerapatan dan analisis objek

kurva tertutup dalam kehidupan nyata.

BAB V Kesimpulan Dan Saran

Bab ini berisi kesimpulan dari analisis–analisis skenario yang telah

dilakukan dan saran untuk pengembangan lebih lanjut.

Page 24: Buku Lengkap

5

1.8 Jadwal Pelaksanaan

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

1 Studi Literatur

2

Pengumpulan

Data

3

Implementasi

Perangkat

Lunak

4

Analisis

Performansi

5

Perbaikan

Sistem

6

Pengambilan

keputusan

7

Menulis

Buku/Laporan

Tugas Akhir

Des-12 Jan-13No Kegiatan

Sep-12 Okt-12 Nop-12

Page 25: Buku Lengkap

6

BAB II

DASAR TEORI

2.1 Citra Digital[9]

Citra digital merupakan citra yang dapat diolah oleh komputer. Sebuah citra digital

dapat didefinisikan sebagai fungsi 2-Dimensi, f(x,y) dimana x dan y merupakan koordinat

posisi, dan nilai dari f menunjukkan intensitas dari warna tiap piksel dari sebuah citra. Dan

dapat diwakili oleh sebuah matriks yang terdiri dari M kolom dan N baris, dimana

perpotongan antara kolom dan baris disebut piksel, yaitu elemen terkecil dari sebuah citra.

Setiap piksel f(x,y) memiliki nilai intensitas atau warna dari piksel di titik itu, sehingga

sebuah citra digital dapat ditulis dalam bentuk matriks berikut

( )

−−−−

=

)1,1(...)1,1()0,1(

............

)1,1(......)0,1(

)1,0(...)1,0()0,0(

,

MNfNfNf

Mff

Mfff

yxf

Dan bila matriks tersebut diubah dalam bentuk matematisnya, maka:

1

2

3 4 5 X

1 0 0 25 70 83 f(1,3)

2 0 15 17 26 76

f(x,y)=

3 0 31 25 21 61

4

0 2 1 17 22

5 0 14 28 52 65 f(5,1)

Y

Gambar 2.1 Representasi citra dalam bentuk matriks

Piksel pada koordinat (5,1) bernilai intensitas 0 yang berarti warna piksel tersebut

hitam, piksel pada koordinat (1,3) bernilai 25 yang berarti warnanya terletak antara hitam

dan putih, dan seterusnya.

Page 26: Buku Lengkap

7

2.2 Citra RGB[19]

Citra RGB, yang biasa disebut juga citra “true color”, disimpan dalam array

berukuran m x n x 3 yang mendefinisikan warna merah, hijau, dan warna biru untuk setiap

pikselnya. Warna pada tiap piksel ditentukan berdasarkan kombinasi dari warna merah,

hijau, dan warna biru. RGB merupakan citra 24 bit dengan komponen merah, hijau, biru

yang masing-masing bernilai 8 bit sehingga intensitas kecerahan warna sampai 256 level

dan kombinasi warnanya kurang lebih sekitar 16 juta warna sehingga disebut “true color”.

Tingkat kecerahan paling rendah yaitu 0 untuk warna hitam dan putih bernilai 255.

Gambar 2.2 Kombinasi warna RGB

Masing-masing komponen warnanya dapat menyumbangkan tingkat kecerahan

masing-masing. Sebagai contoh, apabila semua warna memberi intensitas warna yang

sama, maka akan menjadi derajat keabuan dari hitam (intensitas warna level 0) sampai

putih (intensitas warna level 255). Begitu juga apabila kombinasi intensitas warna ada yg

paling dominan, maka kombinasi yang dihasilkan akan dominan dengan intensitas yang

paling besar. Misal intensitas warna merah adalah 255 sedangkan hijau dan biru memiliki

intensitas 0, maka akan menghasilkan warna kombinasi dominan biru.

2.3 Model Warna HSV[11]

Model warna HSV mendefinisikan warna dalam terminologi Hue, Saturation dan

Value. Hue menyatakan warna sebenarnya, seperti merah, hijau, biru, violet, kuning, dsb.

Saturation menyatakan tingkat kemurnian suatu warna, yaitu mengindikasikan seberapa

banyak warna putih diberikan pada warna. Value adalah derajat keterangan (brightness)

atau atribut yang menyatakan banyaknya cahaya yang diterima oleh mata tanpa

memperdulikan warna.

Page 27: Buku Lengkap

8

Gambar 2.3 Model Warna HSV

Karena model warna HSV merupakan model warna yang diturunkan dari model

warna RGB maka untuk mendapatkan warna HSV ini , kita harus melakukan proses

konversi warna dari RGB ke HSV. HSV merupakan salah satu cara untuk mendefinisikan

warna yang didasarkan pada roda warna. Hue mengukur sudut sekitar roda warna (merah

pada 0 derajat, 120 derajat di hijau, biru, di 240 derajat). Saturation yang menunjukkan

pada radius roda warna sehingga menunjukkan proporsi antara gelap (pusat) untuk warna

ke putih murni (di luar).Value Menunjukkan nilai kecerahan. Hue memiliki nilai antara 0

hingga 360 (derajat), Saturation and Value berkisar dari 0 hingga 100%.

2.4 Operasi Batas Ambang (Thresholding)[9]

Operasi Thresholding digunakan untuk mengubah citra dengan format skala

keabuan, yang mempunyai kemungkinan nilai lebih dari 2 ke citra biner yang memiliki 2

buah nilai (yaitu 0 dan 1). Fungsi yang digunakan adalah fungsi transformasi skala

keabuan (gray scale transformation/GST).

GST function adalah fungsi yang memetakan tingkat keabuan citra masukan (Ki) ke

tingkat keabuan citra output (Ko).Untuk citra true color fungsi ini diterapkan pada ketiga

elemen warna:

)(),(),(000 iii

BfBBGfGGRfRR === (2.1)

Gambar 2.4 Citra masukan (kiri), citra grayscale (tengah), citra hasil thresholding

(kanan)

Page 28: Buku Lengkap

9

2.5 Deteksi Tepi[19]

Tepi (edge) adalah bagian dari citra di mana intensitas kecerahan berubah secara

drastis menjadi derajat keabuan. Deteksi tepi (edge detection) adalah langkah awal untuk

melingkup operasi dalam citra. Tepi mencirikan batas-batas objek, oleh karena itu berguna

untuk proses identifikasi objek dalam citra. Deteksi tepi pada suatu citra adalah suatu

proses yang menghasilkan tepi-tepi dari obyek-obyek citra, tujuannya adalah :

1. Untuk meningkatkan penampakan garis batas suatu daerah dalam citra

2. Untuk memperbaiki detail dari citra yang kabur, yang terjadi karena efek dari proses

akuisisi citra

3. Serta untuk mengubah citra 2-Dimensi menjadi bentuk kurva.

Suatu titik (x,y) dikatakan sebagai tepi (edge) dari suatu citra bila titik tersebut

mempunyai perbedaan yang tinggi dengan tetangganya. Dalam objek berdimensi1,

perubahan dapat diukur dengan menggunakan fungsi turunan (derivative function).

Perubahan mencapai maksimum pada saat nilai turunan pertamanya mencapai nilai

maksimum atau nilai turunan kedua (2nd derivative) bernilai 0.

Pada penelitian tugas akhir ini metode deteksi yang digunakan adalah metode deteksi

tepi Canny (Canny Edge Detector). Metode pendeteksian Canny adalah metode

pendeteksian tepi yang baik, karena metode ini menggunakan 2 batas ambang (threshold)

berbeda untuk mendeteksi tepi “kuat” dan tepi “lemah” dan memasukkan tepi yang

“lemah” kedalam keluaran hanya saat tepi tersebut terhubung dengan tepi yang “kuat”.

Berikut adalah contoh dari hasil deteksi tepi menggunakan operator Canny.

Gambar 2.5 Citra masukan (kiri), hasil deteksi tepi canny (kanan)

2.6 Operasi Morfologi dalam Citra Digital

Operasi-operasi morfologi pada MATLAB menyediakan informasi tentang bentuk

atau struktur sebuah citra. Semua operasi morfologi bekerja pada citra biner. Beberapa dari

perintah-perintah tersebut, seperti fungsi perimeter dan angka Euler, memungkinkan untuk

melaksanakan operasi 4 sampai 8 ‘tetangga’ yang berhubungan. Berikut operasi morfologi

yang digunakan dalam penelitian tugas akhir ini.

Page 29: Buku Lengkap

10

2.6.1 Operasi Dilasi dan Erosi[9]

Dilasi dan erosi merupakan proses operasi morfologi dalam pengolahan citra digital.

Operasi dilasi dilakukan untuk memperbesar ukuran segmen obyek, sedangkan operasi

erosi dilakukan untuk memperkecil ukuran segmen obyek.

Secara matematis, proses dilasi dapat dilihat pada Persamaan (2.2), sedangkan proses

erosi bisa dilihat pada Persamaan (2.3).

BASAD ⊕=),( (2.2)

BASAE ⊗=),( (2.3)

Dimana A merupakan objek yang akan didilasi/dierosi dengan objek S sebagai objek

yang mempunyai titik pusat.

Persamaan 2.2 menjelaskan bahwa arti dari dilasi merupakan proses penggabungan

titik-titik latar (0) menjadi bagian dari objek (1), berdasarkan strel (structuring element) S

yang digunakan.

Secara definisi, cara dilasi untuk setiap titik pada A, dilakukan hal berikut:

1. Letakkan titik poros S pada titik A tersebut

2. Beri angka 1 untuk semua titik yang terkena/tertimpa oleh struktu S pada posisi

tersebut

Operasi erosi adalah kebalikan dari operasi dilasi. Erosi merupakan proses

penghapusan titik-titik objek (1) menjadi bagian dari latar (0), berdasarkan strel

(structuring element) S yang digunakan. Persamaan 2.3 menjelaskan bahwa pada operasi

ini, ukuran obyek diperkecil dengan mengikis sekeliling obyek. Terdapat dua cara yang

dilakukan yaitu dengan mengubah semua titik batas menjadi titik latar dan dengan menset

semua titik di sekeliling titik latar menjadi titik latar.

Secara definisi, cara erosi untuk setiap titik pada A, dilakukan hal berikut:

1. letakkan titik poros S pada titik A tersebut

2. jika ada bagian dari S yang berada di luar A, maka titik poros dihapus/dijadikan

latar

Gambar 2.6 Citra masukan (kiri), hasil dilasi (tengah), hasil erosi (kanan)

Page 30: Buku Lengkap

11

Sama dengan fungsi dilate fungsi erode juga menggunakan (elemen penstruktur).

Gambar 2.7 Macam-macam elemen penstruktur (strel)[18]

2.6.2 Operasi Opening[18]

Operasi ini secara morfologi “membuka” citra biner dengan kata lain menghilangkan

objek tertentu. Dalam MATLAB fungsi yang digunakan adalah fungsi bwareaopen.

Fungsi tersebut menghilangkan objek biner yang saling terhubung yang memiliki jumlah

piksel dibawah piksel yang sudah ditentukan, kemudian memunculkan citra biner baru

tanpa objek yang ingin dihilangkan.

Gambar 2.8 Citra masukan (kiri), hasil bwareaopen dengan 50 piksel yang

terhubung dihilangkan (kanan)

Page 31: Buku Lengkap

12

2.7 Transformasi Hough[18]

Transformasi Hough adalah teknik ekstraksi fitur yang digunakan dalam proses

pengolahan citra digital. Transformasi Hough mengestimasi nilai parameter dengan

menggunakan mekanisme voting. Titik dalam kurva menyumbang suara untuk beberapa

kombinasi parameter. Parameter yang memperoleh suara terbanyak terpilih sebagai

pemenang (Local Maxima).

Pada awalnya Transformasi Hough diperkenalkan oleh Paul Hough tahun 1962 untuk

mendeteksi garis lurus pada sebuah citra. Pada tahun 1972 Transformasi Hough

dimodifikasi oleh Richard Duda dan Peter Hart yang dikenal dengan "Generalized Hough

Transform" dengan menggunakan parameter angle-radius dan slope-intercept.

2.7.1 Transformasi Hough Normal[25]

Transformasi Hough didefinisikan untuk fungsi A (x, y) sebagai:

( ) ( ) dxdyyxyxAH )sincos(,, θθρδρθ −−= ∫ ∫∞

∞−

∞−

(2.4)

di mana � adalah fungsi delta-Dirac. Dengan A (x, y), setiap titik (x, y) dalam gambar

asli, A, berubah menjadi θθρ sincos yx += , dimana �adalah jarak tegak lurus dari asal

garis pada sudut θ (sudut θ akan dibatasi untuk πθ <<0 yang dapat menghasilkan nilai

θ negatif).

Gambar 2.9 Transformasi domain citra ke domain hough

Pada Transformasi Hough, titik-titik yang terletak pada baris yang sama dalam

gambar akan menghasilkan sinusoid yang berpotongan di satu titik pada domain Hough.

Untuk invers transformasi, atau backprojection, setiap titik dalam domain Hough berubah

menjadi garis lurus pada gambar.

Pada umumnya, Transformasi Hough digunakan dengan gambar biner, dengan

( )ρθ ,=H yang memberikan jumlah sinusoid yang melintasi di titik ( )ρθ , , dan jumlah

total poin yang terbentuk, dapat membentuk garis pada gambar asli. Dengan memilih

Page 32: Buku Lengkap

13

threshold/T untuk ( )ρθ,H dan dengan menggunakan fungsi invers Hough, bisa diperoleh

gambar asli dengan garis yang terbentuk sejumlah T poin.

2.7.2 Transformasi Hough Diskrit[25]

Pada pemrosesan citra digital, dilakukan pendekatan secara diskrit dengan

melakukan sampling pada setiap komponennya. Citra digital dengan ukuran MxN,

memiliki komponen-komponen sebagai berikut [3]:

1,,1,0min

−=∆+== Mmxmxxxm

K

(2.5)

1,,1,0min

−=∆+== Nnynyyyn

K

(2.6)

1,,1,0min

−=∆+== Tttt

Kθθθθ (2.7)

1,,1,0min

−=∆+== Rrrr

Kρρρρ (2.8)

Transformasi Hough diskrit digunakan untuk pemrosesan citra digital dengan

melakukan sampling pada setiap komponen citra tersebut. Hough diskrit dapat

didefinisikan dengan persamaan berikut:

∑∑=

m n

mnAH ])'[,(),( ρρδρθ (2.9)

Dimana tanda kurung [] menunjukkan pembulatan ke integer terdekat, dan

θθρ sin)(cos)('minminyynxxm +∆++∆= (2.10)

Piksel yang diasumsikan memiliki jarak Dx dan Dy dalam arah x dan y. Fungsi delta-

Dirac didefinisikan sebagai:

[ ]( )', ρρδ

(2.11)

2.8 Lingkaran[19]

Lingkaran adalah tempat kedudukan titik-titik yang berjarak sama dari suatu titik

tetap. Titik tetap tersebut dinamakan pusat lingkaran. Suatu lingkaran memiliki persamaan

22

0

2

0)()( Ryyxx =−+− (2.12)

1� = [�′]

0�������

Page 33: Buku Lengkap

14

Dengan R adalah jari-jari lingkaran dan ),(00yx adalah koordinat pusat

lingkaran.Jika pusat lingkaran terdapat di (0,0) maka persamaan di atas dapat dituliskan

sebagai

222Ryx =+ (2.13)

Gambar 2.10 Lingkaran

Persamaan Lingkaran dapat pula dirumuskan dalam suatu persamaan parametrik,

yaitu

θcos0

Rxx += (2.14)

θsin0

Ryy += (2.15)

yang apabila dibiarkan menjalani t akan dibuat suatu lintasan berbentuk lingkaran dalam

ruang x-y.

2.9 Elips[18]

Elips didefinisikan sebagai kurva tertutup halus yang simetris terhadap sumbu

vertikal dan horizontalnya. Jarak antara 2 titik yang berlawanan letaknya, akan maksimum

pada sumbu mayornya dan akan minimum pada sumbu minornya.

Gambar 2.11 Parameter Elips

F1 dan F2 merupakan poin yang disebut fokus elips. Terletak pada sumbu mayor dan

sama jaraknya dari titik pusat. Jarak dari titik sembarang P terhadap dua titik fokus ini

selalu konstan yaitu sama dengan panjang sumbu mayornya ( )aPFPF 221=+ .

Page 34: Buku Lengkap

15

Eksentrisitas elips, yang biasanya dinotasikan dengan ε atau e, adalah rasio dari jarak

antara titik fokus terhadap panjang dari sumbu utama

a

f

a

b

a

bae =

−=

−==

2

2

22

(2.16)

eksentrisitas ini harus bernilai antara 0 dan 1, bernilai nol jika dan hanya jika a dan b

sama (lingkaran). Jika eksentrisitas elips cenderung ke 1 maka elips memiliki bentuk lebih

pipih melonjong.

Bentuk umum persamaan elips dengan titik pusat (0,0) adalah :

12

2

2

2

=+

b

y

a

x (2.17)

dimana a ≠ b, a dan b mempunyai tanda yang sama, tapi tidak sama besar. A merupakan

setengah dari panjang sumbu mayor dan b merupakan panjang sumbu minor, berlaku

sebaliknya.

Bentuk umum elips ini dapat diubah ke dalam bentuk standar elips dengan ( )βα,

adalah titik pusat elips selain (0,0) menjadi :

1)()(

2

2

2

2

=

+

b

y

a

x βα (2.18)

2.10 Derau (Noise)[9]

Noise (Derau) adalah citra atau gambar atau piksel yang mengganggu kualitas citra.

Derau (noise) dapat disebabkan oleh gangguan fisis (optik) pada alat akuisisi maupun

secara disengaja akibat proses pengolahan yang tidak sesuai. Pada beberapa pengolahan

citra, terkadang noise diperlukan untuk menguji performansi sistem, baik akurasi maupun

waktu komputasi yang diperlukan. Contoh adalah bintik hitam atau putih yang muncul

secara acak yang tidak diinginkan di dalam citra. bintik acak ini disebut dengan derau salt

& pepper.

Page 35: Buku Lengkap

16

BAB III

PERANCANGAN SISTEM

Secara umum sistem pendeteksian bangun komponen lingkaran atau elips dalam citra

yang dirancang dalam tugas akhir ini, dapat dilihat pada Gambar 3.1.

Gambar 3.1 Diagram alir cara kerja sistem

Untuk melakukan proses pendeteksian kurva tertutup, awalnya dilakukan akuisisi

citra atau proses mendapatkan citra. Citra berukuran 640x480 piksel ini nantinya

didapatkan lewat webcam atau kamera untuk hasil aktual dan untuk hasil teoretis

digunakan citra yang sudah disimpan dalam komputer. Setelah itu dilakukan tahap

preprocessing untuk mengurangi efek derau dan mendapatkan citra tepi elips atau

lingkaran berbentuk citra biner Setelah didapatkan citra tersebut, maka bisa dilakukan

tahap selanjutnya yaitu pemilihan deteksi. Dengan menggunakan Standard Hough

Transform, maka akan terbentuk hasil pengolahan tepi yang dihasilkan dari tahap

preprocessing.

Tahap tersebut akan mengklasifikasikan jenis bangun yang terdeteksi menjadi elips

atau lingkaran. Setelah itu dilakukan Transformasi Hough lagi dengan menggunakan

Page 36: Buku Lengkap

17

parameter berbeda untuk mendeteksi keberadaan lingkaran dan elips. Hasil yang

diharapkan kurva tertutup akan terdeteksi dan diketahui letaknya, dan sesuai dengan

dengan citra yang terlihat pada mata atau teoretis. Proses pengujian dilakukan dengan

tambahan-tambahan noise dalam citra masukan.

3.1 Masukan Sistem

Tahap pertama dalam cara kerja sistem ini adalah dengan memulai aplikasi yang

telah dibuat dengan menggunakan MATLAB R2009A. Kemudian kita masukan citra ke

dalam aplikasi tersebut. Berikut Beberapa kriteria masukan sistem:

8. Citra RGB dengan ukuran 640x480 piksel dan memiliki format *.bmp berlatar

putih

9. Citra masukan didapat melalui akuisisi dari web-cam atau kamera digital (untuk

hasil aktual), dan didapat dari file citra yang dibentuk dalam komputer untuk hasil

teoretis.

10. Masing-masing citra memiliki warna yang berbeda (merah, hijau, dan biru).

11. Penambahan derau yang dibangkitkan langsung dari MATLAB berupa

derau Gaussian, salt & pepper, speckle, dan poisson.

12. Citra masukan merupakan gambar lingkaran dengan minimum piksel

sebesar 50 pixel dan maksimal piksel bernilai 150 piksel baik aktual maupun ideal

(CorelDRAW) dan elips.

Gambar 3.2 Contoh citra input yang dibangkitkan oleh computer

Gambar 3.3 Contoh citra input yang di-capture dari web-cam

Page 37: Buku Lengkap

18

3.2 Derau/Gangguan[12]

Noise (Derau) adalah citra atau gambar atau piksel yang mengganggu kualitas citra.

Derau (noise) dapat disebabkan oleh gangguan fisis (optik) pada alat akuisisi maupun

secara disengaja akibat proses pengolahan yang tidak sesuai[9]. Pada beberapa pengolahan

citra, terkadang noise diperlukan untuk menguji performansi sistem, baik akurasi maupun

waktu komputasi yang diperlukan.

a. Gaussian, disebut juga Gaussian White Noise. Untuk menambahkan derau ini

pada MATLAB memerlukan masukan tambahan berupa rata-rata dan variasi.

Rata-rata dan variasi merupakan suatu konstanta real. Nilainya bisa positif

maupun negatif. Makin besar rata-rata dan variasinya maka citra akan semakin

kabur, sebaliknya makin kecil konstantanya efek pada citra makin tidak terlihat.

Nilai default adalah 0 untuk mean dan 0,01 untuk variance. Disebut white derau

karena pada saat nilai rata-rata dan variasinya besar maka citra seolah-olah hanya

terlihat seperti citra putih saja.

b. Salt & Pepper, untuk citra RGB titik-titik muncul dalam tiga warna yakni merah,

hijau dan biru, sedangkan pada citra grayscale, derau akan muncul dalam dua

warna yakni hitam dan putih. Derau ini memberikan efek ”on dan off” pada

piksel. Pada MATLAB dapat diatur ”konstanta” derau dengan range 0 sampai

dengan 1. Makin besar konstantanya citra akan semakin kabur, sebaliknya makin

kecil konstantanya efek pada citra makin tidak terlihat. Nilai default untuk

konstanta derau adalah 0,05.

c. Speckle, Speckle merupakan derau ganda. Derau ini ditambahkan pada citra

menggunakan persamaan 1*nIJ += , dimana n terdistribusi random seragam

dengan mean 0 dan variance V. V adalah konstanta non negative yang besarnya

dapat berubah-ubah. Default nilai untuk V adalah 0,04. Makin besar nilai V maka

citra akan semakin kabur.

d. Poisson, derau Poisson merupakan derau yang ditambahkan langsung pada citra

tanpa kita menambahkan parameter apapun, sehingga efeknya pada citra pun

tetap. Pada MATLAB, jika matrik citra adalah double precision, maka nilai piksel

masukannya dianggap sebagai mean dari distribusi Poisson dengan skala 1012.

Sebagai contoh jika piksel masukannya mempunyai nilai 5.5x10-12, maka piksel

keluaran akan dibangkitkan dari distribusi Poisson dengan mean 5,5 di

kembalikan lagi ke skala 1012. Jika matrik citra adalah single precision, maka

Page 38: Buku Lengkap

19

faktor skalanya menggunakan 106. Jika matrik citra adalah uint8 atau uint16,

maka nilai masukan piksel digunakan langsung tanpa faktor skala. Sebagai

contoh, jika masukan piksel uint8 mempunyai nilai 10, maka piksel keluaran akan

dibangkitkan dari distribusi Poisson dengan mean 10.

3.3 Pemrosesan Awal

Pemrosesan awal atau preprocessing adalah tahap untuk mempersiapkan citra hasil

akuisisi berupa frame RGB yang kemudian akan dijadikan binary frame atau black and

white. Tujuan dari tahap preprocessing ini diharapkan citra hasil keluaran memiliki noise

yang paling minimal agar bisa siap diolah ke tahap selanjutnya. Alur preprocessing

digambarkan dalam diagram alir berikut:

Gambar 3.4 Diagram blok preprocessing

Citra masukan RGB memiliki 3 layer yaitu layer merah, hijau, dan biru. Oleh karena

itu untuk memudahkan proses berikutnya, citra 3 layer tersebut pertama kali diproses

menjadi citra dengan model HSV (Hue, Saturation, Value). Model HSV dipilih karena

model tersebut Dalam penelitian ini, peneliti menggunakan ruang warna HSV. Hal ini

disebabkan HSV sangat cocok untuk mengidentifikasi warna-warna dasar, di mana warna

dasar ini digunakan dalam penelitian sebagai warna identifikasi robot. Selain itu, HSV

menoleransi terhadap perubahan intensitas cahaya[15].

Page 39: Buku Lengkap

20

Citra HSV kemudian bentuk citra biner (black & white) untuk lebih mempermudah

ke proses pendeteksian.

a. Pengisian (Fill). Tahap ini menggunakan fungsi imfill. Fungsi pengisian ini

bertujuan untuk mengisi bagian-bagian yang kosong di dalam area tertutup. Hal ini

diperlukan untuk menghindari celah kosong hasil proses pengubahan citra RGB ke citra

biner, bagian kosong dalam area tertutup sering terjadi di citra hasil akuisisi webcam,

misal karena efek cahaya yang kurang merata.

b. Pengikisan (Erode). Pengikisan pada MATLAB dapat dilakukan dengan fungsi

imerode. Erosi merupakan suatu metode untuk menipiskan objek. Pada tugas akhir

ini, erosi bertujuan untuk menghilangkan daerah yang tidak diinginkan untuk proses

lebih lanjut. Pada preprocessing ini digunakan erosi dengan strel ‘disk’ dan jari-jari 10.

Elemen penstruktur “disk” dipilih karena objek yang dideteksi berupa kurva, sehingga

tujuan setelah melewati proses ini agar objek memiliki bentuk yang tidak berbeda dari

objek sebelumnya. Erosi ini cukup baik dalam menghilangkan spot putih/derau (bukan

citra utama) yang tersebar di sekitaran citra utama.

c. Opening. Fungsi yang digunakan yaitu bwareaopen. Fungsi ini bertujuan untuk

menghilangkan sekumpulan piksel dibawah batas tertentu. Pada tugas akhir kali ini,

batas piksel yang akan hilang adalah piksel yang saling terhubung dibawah 1000 piksel.

Proses ini membantu erosi apabila masih ada piksel derau yang tidak lolos hasil

pengikisan.

d. Penebalan (Dilation). Fungsi yang digunakan untuk penebalan dalam MATLAB yaitu

imfill. Penebalan/dilasi merupakan suatu metode untuk menebalkan objek. Setelah

dilakukan erosi untuk menghilangkan bagian-bagian yang bukan merupakan citra

utama, tentu ukuran citra utama juga akan mengecil. Maka dari itu, dibutuhkan proses

dilasi untuk menebalkan kembali citra utama. Pada preprocessing ini digunakan dilasi

dengan strel ‘disk’ dengan jari-jari 10.

e. Deteksi Tepi (Edge Detection). Tahap ini menggunakan fungsi edge. Fungsi ini akan

mendeteksi tepi citra tergantung dari jenis deteksi tepi yang diinginkan. Deteksi tepi

pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari obyek citra.

Deteksi tepi yang digunakan dalam preprocessing ini adalah tipe canny.

f. Penipisan Tepi (Edge Thinning). Tahap ini menggunakan fungsi bwmorph dengan

operasi yang digunakan adalah thin. Operasi ini menipiskan objek menjadi sebuah

garis. Proses ini membuat piksel hasil deteksi tepi menjadi hanya 1 yang saling

Page 40: Buku Lengkap

21

terhubung. Proses ini diperlukan untuk meningkatkan akurasi deteksi posisi dengan

Transformasi Hough, agar letak objek semakin tepat.

Gambar 3.5 Tahap pemrosesan awal (preprocessing) berdasarkan gambar

3.4 Algoritma Transformasi Hough Standar (SHT)

Transformasi Hough bisa digambarkan sebagai transformasi dari sebuah titik dalam

daerah 2D kedalam ruang parameter, tergantung bentuk objek yang mau diidentifikasi.

Dasar fungsi Transformasi Hough adalah untuk mendeteksi garis lurus. Garis lurus

dibidang x,y dilukiskan sebagai

bxmy += *

(3.1)

Garis ini direpresentasikan di sistem koordinat kartesian dengan parameternya b dan

m, dimana m adalah slope (gradien) dan b sepagai intercept (pintasan). Faktanya adalah,

apabila terdapat garis yang tegak lurus terhadap sumbu horizontal bisa memberikan nilai

yang tak hingga untuk parameter m dan b, maka garis diubah parameternya dalam rho(r)

dan theta(θ), menjadi :

)sin(*)cos(* θθρ yx +=

],0[ πθ∈untuk

(3.2)

Page 41: Buku Lengkap

22

Gambar 3.6 Representasi persamaan garis parameter rho(r), theta

Dimana r (rho) adalah jarak garis dengan titik origin, θ adalah sudutnya. Jadi

diberikan nilai x dan y, untuk setiap garis yang melalui titik (x,y) secara unik bisa

direpresentasikan dengan (θ, r). θ dan r memiliki ukuran yang berhingga. Nilai r punya

nilai maksimum 2 kali diagonal citra.

Sebuah proses deteksi tepi dibutuhkan untuk menyediakan sekumpulan piksel/titik

yang merepresentasikan batas dari sebuah ruang citra. Persamaan (3.1) berkorespondensi

dengan kurva sinusoidal dalam ruang (r, θ). Jika beberapa titik terdapat dalam sebuah garis

yang sama, titik tersebut memproduksi sinusoid yang saling bersilangan dalam ruang

parameter garis tersebut.

Gambar 3.7 Contoh implementasi Standard Hough Transform (1)

Pada Transformasi Hough, pertama sebuah tabel atau array yang disebut akumulator

digunakan untuk mendeteksi keberadaan sebuah garis bxmy += * . Dengan kata lain,

akumulator tersebut menghitung voting untuk sekumpulan nilai parameter m dan b.

Transformasi Hough kemudian melanjutkan ke proses voting untuk menentukan piksel

mana yang kiranya adalah tepi dari citra. Jika ada nilai yang sudah cukup memungkinkan

Page 42: Buku Lengkap

23

piksel tersebut adalah sebuah tepi, maka tambahkan nilai parameter yang berkorespondensi

dengan garis tersebut, yang akan menyebabkan garis tersebut akan tampil di citra tepi.

Sebagai contoh gambar 3.7. tiap titik di gambar tersebut adalah titik dalam citra tepi.

Anggap ada beberapa garis yang melewati titik tersebut. 1 garis dimulai dari titik origin

(pusat) dan terletak tegak lurus terhadap garis utama kemudian di gambar. Panjang dan

sudut dari garis yang terbentuk itu dihitung dan di masukkan ke tabel yang terletak masih

di gambar 3.7.

Gambar 3.8 Contoh implementasi Standard Hough Transform (2)

Grafik di gambar 3.8 menunjukkan bagaimana perbedaan panjang berhubungan

dengan sudut yang berbeda pula. Titik ungu adalah titik yang menunjukkan dimana kurva

sinusoid saling bersilangan. Nilai dari parameter (sudut dan jarak) dari kurva yang

bersilangan tersebut dimasukkan ke dalam tabel untuk penelitian lebih lanjutnya seperti

rekonstruksi garis. Objek yang terdeteksi adalah objek yang mengumpulkan vote terbanyak

atau merupakan local maxima dari accumulator array.

Gambar 3.9 Local Maxima Hasil Transformasi Hough

Warna terang pada Transformasi Hough, menunjukkan nilai Local Maxima. Pada

Gambar 3.9 terdapat beberapa nilai puncak. Hal ini menunjukkan adanya beberapa jumlah

garis.

Page 43: Buku Lengkap

24

3.5 Analisis SHT dalam Membedakan Elips dan Lingkaran

Berikut adalah diagram alir dari proses pengklasifikasian :

Mulai

Masukan (Hasil Algoritma

Transformasi Hough Standar )

Penghitungan Jarak Piksel

Atas dengan Piksel Bawah

Analisis Standar Deviasi

(STDEV)

Klasifikasi hasil STDEV

e≤0,8 = Lingkaran

e>0,8 = Elips

Selesai

Gambar 3.10 Diagram alir proses pendeteksian dan pengklasifikasian

Untuk melakukan pengkalsifikasian objek penulis menerapkan Standard Hough

Transform atau dalam fungsi MATLAB nya adalah fungsi hough. Fungsi ini seperti

yang telah dijelaskan diatas, akan mengubah tiap-tiap piksel yang terdapat dalam citra tepi

menjadi parameter ( θρ, ).

Gambar 3.11 Hasil Transformasi Hough standar terhadap citra lingkaran

Gambar 3.12 Hasil Transformasi Hough standar terhadap citra elips

Page 44: Buku Lengkap

25

Setelah mendapatkan hasil Transformasi Hough standar tersebut, untuk mata

manusia dapat melihat secara jelas bahwa terlihat perbedaan jarak kurva sinusoidal yang

signifikan antara deteksi elips dan lingkaran. Lingkaran cenderung memiliki pola

sinusoidal yang sama. Sedangkan elips memiliki pola sinusoidal yang lebih cekung. Hal ini

disebabkan oleh jarak origin atau titik pusat menuju piksel tepi apabila saat mendeteksi

lingkaran, pola piksel tepi lingkaran cenderung lebih teratur daripada elips.

Hasil Transformasi Hough kemudian akan di ekstraksi lagi, tujuannya agar bisa

dilakukan penghitungan perbedaan jarak piksel paling atas hasil ekstraksi dengan piksel

paling bawah hasil ekstraksi tersebut. Karena perbedaan terletak pada bagian kolom, maka

penghitungan dilakukan sampai semua piksel kolom dihitung.

Gambar 3.13 Hasil Ekstraksi Transformasi Hough

Hasil penghitungan tersebut berupa data-data jarak piksel atas ke piksel bawah. Oleh

karena itu, penulis menggunakan metode standar deviasi untuk mengklasifikasikan elips

dan lingkaran. Standar deviasi[22] adalah salah satu metode statistik yang digunakan untuk

menjelaskan homogenitas kelompok

∑=

=

n

i

ixx

nS

1

2)(1

1

(3.3)

Dimana:

ix = data ke i

x = nilai rata-rata sampel

n = banyaknya data

Untuk lingkaran diestimasi memiliki standar deviasi mendekati nol, ini dikarenakan

data perbedaan jarak piksel atas dan piksel bawah hasil ekstraksi Transformasi Hough

mendekati sama semua. Sedangkan untuk elips, data standar deviasi harusnya besar karena

data jarak piksel atas dan piksel bawahnya bervariasi.

Page 45: Buku Lengkap

26

Berikut rentang standar deviasi dan nilai puncak yang digunakan untuk membedakan

elips dan lingkaran.(rentang ini didapat dari hasil percobaan):

Standar deviasi <=0.8 = Lingkaran

Standar deviasi >0.8 = Elips

3.6 Proses Deteksi Letak Posisi dan Rekonstruksi Elips dan Lingkaran

Setelah melewati proses pendeteksian jenis bangun yang ingin dideteksi, maka

proses selanjutnya adalah proses pendeteksian letak posisi dan rekonstruksi elips atau

lingkaran dari citra masukan.

Pada penelitian tugas akhir ini dilakukan algoritma 2 jenis pengembangan algoritma

Transformasi Hough (MHT). Di penelitian tugas akhir ini, apabila yang terdeteksi dalam

tahap klasifikasi adalah bangun lingkaran, maka Transformasi Hough untuk mendeteksi

lingkaran (Circular Hough Transform) diaktifkan. Sedangkan apabila yang terdeteksi

dalam tahap klasifikasi adalah bangun elips, maka Transformasi Hough untuk

pendeteksian Elips (Elliptical Hough Transform) diaktifkan. Fungsi Transformasi Hough

untuk deteksi Elips ini sudah dioptimasi sedemikian rupa agar dapat mendeteksi elips lebih

cepat.

3.6.1 Analisis Algoritma Transformasi Hough dalam mendeteksi Lingkaran[3]

Diagram alir dari proses Algoritma Transformasi Hough untuk mendeteksi dan

merekonstruksi lingkaran adalah sebagai berikut :

Gambar 3.14 Diagram alir Algoritma Transformasi Hough untuk mendeteksi dan

merekonstruksi lingkaran

Mengacu pada persamaan 2.13, persamaan lingkaran dengan sebagai pusat

lingkaran, dapat dibentuk menjadi persamaan 2.14 dan 2.15. Dimana (x0.y0) adalah titik

pusat lingkaran dan r adalah jari-jari atau radius lingkaran. Biasanya untuk mengurangi

waktu komputasi, jari-jari (r) diatur dalam inisialisasi algoritma/ditentukan terlebih dahulu.

Akan tetapi karena pada tugas akhir ini diperlukan sebuah algoritma yang dapat

Page 46: Buku Lengkap

27

mendeteksi secara otomatis, maka nilai jari-jari nilainya tidak diketahui. Oleh karena itu,

nilai jari-jari akan dicoba dalam rentang 40-170 piksel.

Algoritma dalam mendeteksi lingkaran dan proses rekonstruksi adalah sebagai

berikut :

1. Untuk setiap piksel tepi, sebuah lingkaran dibentuk dengan piksel tersebut sebagai

titik pusat dan radius (r).

2. Transformasi Hough untuk lingkaran ini menggunakan array 3 Dimensi, 2 Dimensi

pertama merepresentasikan koordinat untuk titik pusat lingkaran dan dimensi terakhir

adalah radius lingkaran.

3. Nilai array tersebut meningkat setiap lingkaran terbentuk dengan jari-jari tertentu

untuk semua piksel tepi.

4. Array tersebut menghitung berapa banyak lingkaran yang melewati koordinat piksel

tepi, dan lanjut ke proses voting untuk menemukan nilai tertinggi.

5. Koordinat origin lingkaran dalam gambar adalah koordinat dengan nilai tertinggi

dalam array.

Dibawah ini adalah hasil algoritma Transformasi Hough dalam mendeteksi lingkaran

Gambar 3.15 Hasil rekonstruksi dengan algoritma Transformasi Hough untuk

lingkaran

Pada gambar pertama merupakan citra tepi hasil preprocessing. Tahap selanjutnya,

dengan menggunakan algoritma yang sudah dipaparkan di atas, maka penumpukan terletak

di pusat lingkaran (gambar tengah), berbeda dengan Standard Hough Transform,

penumpukan ini bukan mencerminkan garis yang terdapat dalam citra tepi, melainkan titik

pusat sebuah lingkaran.

Nantinya parameter local maxima yang didapat dari proses Transformasi Hough

lingkaran ini, akan dilanjutkan ke proses rekonstruksi (gambar kanan), sekilas tidak ada

perbedaan dengan citra masukan. Sebenarnya gambar tersebut adalah hasil deteksi dengan

Page 47: Buku Lengkap

28

Transformasi Hough yang dilapiskan (superimposed) terhadap citra masukan. Terlihat dari

pinggir citra masukan yang seharusnya hitam, tetapi dilapisi garis berwarna merah. Pada

tahap ini akan terlihat posisi letak lingkaran yang tepat terhadap hasil rekonstruksi dari

Transformasi Hough.

3.6.2 Analisis Algoritma Transformasi Hough dalam mendeteksi Elips[14]

Untuk Elips yang sembarang, ada 5 parameter yang tidak diketahui, ),(00yx untuk

titik pusat elips, α untuk orientasi elips, ),( ba untuk sumbu mayor dan sumbu minornya.

Berikut adalah diagram alir untuk proses deteksi posisi dan rekonstruksi elips :

Gambar 3.16 Diagram alir Algoritma Transformasi Hough untuk mendeteksi dan

merekonstruksi elips

Untuk setiap pasang piksel ),(11yx dan ),(

22yx dimisalkan kedua titik itu adalah 2

titik pada ujung sumbu mayor elips, kemudian kita hitung 4 parameter untuk elips yang

diiinginkan dengan persamaan sebagai berikut :

2

)(21

0

xx

x

+

= (3.4)

2

)(21

0

yyy

+

= (3.5)

2

])()[(2

21

2

21yyxx

a+++

= (3.6)

+

+= −

)(

)(tan

21

211

yy

xxα

(3.7)

Dimana ),(00yx adalah titik pusat dari elips yang di cari, a adalah separuh panjang

dari sumbu mayor dan α merupakan orientasi elips.

Page 48: Buku Lengkap

29

Gambar 3.17 Geometri sebuah Elips

Gambar 3.15 merupakan geometri sebuah elips. 1f dan

2f merupakan fokus dari

elips. Fokus elips adalah 2 titik spesial di sebuah sumbu mayor elips dan memiliki jarak

yang sama jauhnya dari titik pusat. ),( yx merupakan titik ketiga untukmenghitung

parameter kelima. Jarak antara titik ),( yx dan ),(00yx akan lebih sedikit daripada jarak

antara ),(11yx dan ),(

00yx atau antara ),(

22yx dan ),(

00yx . Jadi setengah dari sumbu

minor bisa diestimasi dengan persamaan sebagai berikut :

)cos(

)sin(222

222

2

τ

τ

da

dab

=

(3.8)

Dimana cos τ adalah

−+=

ad

fda

2cos

222

τ

(3.9)

Secara konsisten dengan menggunakan persamaan (3.4)-(3.9) memungkinkan untuk

menghitung kelima parameter sebuah elips. Karena voting hanya dibutuhkan untuk

menentukan setengah panjang sumbu minor, maka array yang digunakan untuk deteksi

elips ini adalah array 1 Dimensi. Jika voting telah mencapai batas ambang (threshold),

maka sebuah elips ditemukan dan tampilkan seluruh parameter elips hasil deteksi tersebut.

Algoritmanya dalam mendeteksi elips dan proses rekonstruksi adalah sebagai

berikut:

1. Masukkan seluruh piksel tepi hasil tahap preprocessing kedalam sebuah array 1 D.

2. Kosongkan array akumulator.

3. Untuk setiap piksel ),(11yx maka lakukan tahap 4 sampai 14.

Page 49: Buku Lengkap

30

4. Untuk setiap piksel lainnya ),(22yx , jika jarak ),(

11yx dan ),(

22yx lebih besar dari

jarak yang dibutuhkan setidaknya untuk sepasang piksel yang dipertimbangkan,

maka lakukan tahap 5 sampai tahap 14.

5. Untuk setiap pasang ),(11yx dan ),(

22yx gunakan persamaan (3.4)-(3.7) untuk

menemukan titik pusat dan orientasi elips dan sumbu mayornya.

6. Untuk setiap piksel ketiga ),( yx , jika jarak antara ),( yx dan ),(00yx lebih besar dari

jarak yang dibutuhkan setidaknya untuk sepasang piksel yang dipertimbangkan,

maka lakukan tahap ke-7 sampai 9.

7. Gunakan persamaan (3.8) dan (3.9) untuk menghitung panjang sumbu minor.

8. Tambahkan array akumulator untuk panjang sumbu minor dengan 1.

9. Lakukan perulangan sampai seluruh piksel terhitunguntuk pasangan piksel ini.

10. Temukan nilai maksimum dalam array akumulator. Nilai tersebut menunjukkan

panjang sumbu minor elips yang ingin dideteksi.

11. Tampilkan seluruh parameter elips yang didapat.

12. Hilangkan piksel pada elips yang terdeteksi dari array piksel tepi.

13. Kosongkan array akumulator.

14. Lakukan perulangan sampai seluruh piksel terhitung.

15. Lakukan pelapisan elips yang terdeteksi dengan citra masukan.

16. Selesai.

Berikut adalah hasil rekonstruksi algoritma Transformasi Hough dalam mendeteksi

Elips

Gambar 3.18 Hasil rekonstruksi algoritma Transformasi Hough untuk elips

Gambar pertama adalah citra masukan, gambar tengah adalah hasil deteksi tepi

setelah melewati tahap preprocessing. Gambar paling kiri adalah contoh elips hasil deteksi

yang ditandai dengan warna merah yang dilapiskan (superimposed) terhadap citra

masukan.

Page 50: Buku Lengkap

31

BAB IV

ANALISIS HASIL SIMULASI

4.1 Proses Pengujian

Pada tugas akhir ini, sistem pendeteksi kurva tertutup lingkaran elips

diimplementasikan dengan menggunakan perangkat keras dan perangkat lunak untuk

membantu proses simulasi dan analisis sistem. Adapun uraian spesifikasi perangkat

tersebut adalah sebagai berikut:

a. Perangkat Keras

• Prosesor : Intel(R) Core(TM) 2 Duo CPU [email protected]

• Memori : 3072MB RAM

• Tipe Sistem : 32-bit Operating System

• VGA On Board : Intel GMA 4500MHD 128 Mb

• Monitor : 14.0” Widescreen, Resolusi 1366x768

b. Perangkat Lunak

• Sistem operasi Microsoft Windows 7 Professional

• Bahasa pemrograman MATLAB versi R2009A

c. Webcam

• Logitech, 2.1MP. Resolusi 640x480 piksel

Pada tugas akhir ini diujikan citra digital dengan rincian sebagai berikut

Gambar 4.1 Rincian citra input

Tiap-tiap Citra masukan diproses oleh perangkat lunak yang telah diimplementasikan

lewat MATLAB. Keluaran dari perangkat lunak itu berupa parameter dari elips dan

Page 51: Buku Lengkap

32

lingkaran yang terdeteksi dan rekonstruksi dari elips atau lingkaran tersebut. Selain itu juga

diketahui termasuk jenis bangun apa yang terdeteksi. Keluaran dinyatakan benar jika hasil

deteksi perangkat lunak sama dengan citra yang diketahui oleh penglihatan secara teoretis.

Presentasi keberhasilan diukur dari jumlah keluaran perangkat lunak yang benar dibagi

jumlah masukan dikali 100%.

%100xinputjumlah

benarjumlahakurasi =

(4.1)

Selain itu dibandingkan waktu komputasi untuk setiap kategori citra. Kemudian

dapat diambil kesimpulan dari pengujian yang telah dilakukan. Pengujian tersebut

dilakukan berulang dengan tambahan derau yang dibangkitkan MATLAB (Gaussian, Salt

& Pepper, Speckle, dan Poisson) untuk menguji keandalan sistem.

4.2 Deteksi pada Citra yang Dibangkitkan Komputer

Pada citra yang dibangkitkan dari komputer (menggunakan CorelDRAW X5), untuk

lingkaran didapatkan hasil uji yang terlampir pada lampiran A.1. Dari hasil pengujian

terhadap 27 citra lingkaran, dapat diketahui bahwa:

1. Jumlah error dalam melakukan pendeteksian jenis bangun = 0, sehingga

akurasinya 100%.

2. Jumlah error dalam melakukan pendeteksian posisi dan rekonstruksi = 0,

sehingga akurasinya 100%

3. Waktu komputasi rata-rata=4,628 detik, dengan waktu paling singkat 2,609 detik

dan waktu terlama 6,726 detik

Sementara, pada citra elips didapatkan hasil uji yang terlampir pada lampiran A.2.

dari hasil pengujian terhadap 27 citra elips, dapat diketahui bahwa:

1. Jumlah error dalam melakukan pendeteksian jenis bangun = 0, sehingga

akurasinya 100%.

2. Jumlah error dalam melakukan pendeteksian posisi dan rekonstruksi = 0,

sehingga akurasinya 100%.

3. Waktu komputasi rata-rata= 0,516 detik, dengan waktu paling singkat 0,268 detik

dan waktu terlama 0,799 detik.

Page 52: Buku Lengkap

33

Gambar 4.2 Grafik perbandingan persentasi akurasi citra komputer

Sehingga dapat disimpulkan bahwa dari 54 gambar yang dibangkitkan dari komputer

yang diujikan. Dapat diketahui bahwa:

1. Jumlah error dalam mendeteksi jenis bangun (lingkaran atau elips) = 0, sehingga

akurasinya 100%

2. Jumlah error dalam mendeteksi letak atau posisi setelah rekonstruksi = 0,

sehingga akurasinya 100%.

3. Waktu komputasi rata-rata dalam menggunakan Transformasi Hough deteksi

lingkaran adalah 4,628 detik dengan waktu paling singkat 2,609 detik dan waktu

terlama 6,726 detik.

4. Waktu komputasi rata-rata dalam menggunakan Transformasi Hough deteksi

Elips 0,516 detik, dengan waktu paling singkat 0,268 detik dan waktu terlama

0,799 detik.

4.3 Deteksi pada Citra yang di-capture Webcam

Pada citra yang di-capture oleh webcam, didapatkan hasil uji yang terlampir pada

lampiran A.3. Dari hasil pengujian terhadap 27 citra lingkaran, dapat diketahui bahwa:

1. Jumlah error dalam melakukan pendeteksian jenis bangun = 5, sehingga

akurasinya 81,48%.

2. Jumlah error dalam melakukan pendeteksian posisi dan rekonstruksi = 0,

sehingga akurasinya 100%.

3. Waktu komputasi rata-rata= 5,093 detik, dengan waktu paling singkat 0,269 detik

dan waktu terlama 7,563 detik.

Sementara, pada citra elips didapatkan hasil uji yang terlampir pada lampiran A.2.

dari hasil pengujian terhadap 27 citra elips, dapat diketahui bahwa:

80%

85%

90%

95%

100%

Jenis Posisi

Pe

rse

nta

si A

ku

rasi

Kategori

Lingkaran

Elips

Page 53: Buku Lengkap

34

1. Jumlah error dalam melakukan pendeteksian jenis bangun = 0, sehingga

akurasinya 100%.

2. Jumlah error dalam melakukan pendeteksian posisi dan rekonstruksi = 0,

sehingga akurasinya 100%.

3. Waktu komputasi rata-rata= 0,672 detik, dengan waktu paling singkat 0,264 detik

dan waktu terlama 1,145 detik.

Gambar 4.3 Grafik perbandingan persentase akurasi citra webcam

Sehingga dapat disimpulkan bahwa dari 54 gambar yang di-capture dari webcam

yang diujikan. Dapat diketahui bahwa:

1. Jumlah error dalam mendeteksi jenis bangun (lingkaran atau elips) = 0, sehingga

akurasinya 100%

2. Jumlah error dalam mendeteksi letak atau posisi setelah rekonstruksi = 0,

sehingga akurasinya 100%.

3. Waktu komputasi rata-rata dalam menggunakan Transformasi Hough deteksi

lingkaran (CHT) adalah 3,060 detik, dengan waktu paling singkat 2,056 detik dan

waktu terlama 4,232 detik

4. Waktu komputasi rata-rata dalam menggunakan Transformasi Hough deteksi

Elips (EHT) 0,264 detik, dengan waktu paling singkat 0,158 detik dan waktu

terlama 0,799 detik

4.4 Analisis Hasil Deteksi dan Kesalahan pada Citra Komputer dan Webcam

Secara keseluruhan dari 108 citra digital yang diujikan, dapat diketahui rincian hasil

deteksi pada tabel 4.1

20%

40%

60%

80%

100%

Jenis Posisi

Pe

rse

nta

si A

ku

rasi

Kategori

Lingkaran

Elips

Page 54: Buku Lengkap

35

Tabel 4.1 Perbandingan Hasil Uji Deteksi Lingkaran dan Elips

Parameter Komputer Webcam

Lingkaran Elips Lingkaran Elips

Jumlah Citra Uji 27 27 27 27

Jumlah Error Jenis bangun 0 0 5 0

Akurasi Jenis Bangun 100% 100% 81,84% 100%

Jumlah error posisi 0 0 0 0

Akurasi posisi 100% 100% 100% 100%

Waktu Komputasi rata-rata (s) 4,628 0,516 5,093 0,672

Waktu Komputasi Minimum (s) 2,609 0,268 0,269 0,264

Waktu Komputasi Maksimum (s) 6,726 0,799 7,563 1,145

Berdasarkan tabel tersebut, dapat disimpulkan:

1. Jumlah error dalam mendeteksi jenis bangun sebanyak 5, sehingga akurasi dalam

pendeteksian jenis bangun 95,46%

2. Dalam mendeteksi posisi dan proses rekonstruksi bangun, jumlah error =0,

sehingga akurasinya 100%.

3. Waktu Komputasi Algoritma Transformasi Hough untuk mendeteksi lingkaran

(CHT) rata-rata 4,86 detik, dengan waktu komputasi terlama mencapai 7,563

detik sedangkan waktu tercepat 0,269 detik.

4. Waktu Komputasi Algoritma Transformasi Hough untuk mendeteksi Elips (EHT)

rata-rata 0,594 detik, dengan waktu komputasi terlama mencapai 1,145 detik

sedangkan waktu tercepat 0,264 detik.

Dalam mendeteksi jenis bangun, kesalahan sebanyak 5 buah dalam mendeteksi

bangun terletak pada citra lingkaran hasil capture dari webcam. Hal ini dikarenakan objek

lingkaran yang di capture webcam masih meninggalkan derau berupa bayangan dari objek

tersebut. Sehingga pada pemrosesan awal, bayangan objek mempengaruhi kelengkungan

lingkaran. Maka akan berakibat pada hasil algoritma Transformasi Hough standar yang

menghasilkan standar deviasi yang melebihi threshold untuk mendeteksi lingkaran. Selain

itu kesalahan deteksi juga bisa diakibatkan objek mengalami kelengkungan yang tidak

diinginkan karena terdapat lipatan pada objek. Hal ini juga bisa menyebabkan standar

deviasi yang dihasilkan melebihi threshold lingkaran. Kesalahan juga bisa terdapat dalam

posisi kamera saat meng-capture objek lingkaran. Apabila posisi kamera tidak tegak lurus

dengan objek maka perbedaan sudut dengan objek lingkaran akan berpengaruh pada citra

lingkaran yang di-capture menjadi citra elips.

Page 55: Buku Lengkap

36

Untuk citra yang dibangkitkan lewat komputer, akurasi mencapai 100%. Hal ini

dikarenakan tidak adanya derau berupa bayangan dan bentuk elips dan lingkaran yang

dideteksi sudah absolut, yaitu dalam penglihatan sudah terlihat berbeda. Ini menyebabkan

hasil Transformasi Hough Standar akan terlihat berbeda untuk lingkaran dan elips,

sehingga plot data standar deviasi pun dapat terlihat jelas. Lingkaran yang diuji berbentuk

bulat teratur, yaitu dengan jari-jari yang sama. Sedangkan elips yang diuji memiliki sumbu

mayor yang secara kasat mata berbeda dengan sumbu minornya. Dalam sub-bab

berikutnya akan dilihat bagaimana pengaruh dari jari-jari (eksentrisitas) elips terhadap

pendeteksian elips.

Dalam penelitian ini untuk penelitian dengan citra yang diambil dari webcam,

digunakan lingkaran dengan diameter 4cm, 5cm, dan 6cm, sedangkan elips dengan jari-jari

minor (b) tetap yaitu 1,5cm tetapi jari-jari mayor yang berbeda yaitu 3cm, 4,5cm, dan 6cm.

Pengambilan dilakukan 30cm dari objek. Sedangkan untuk penelitian ideal (CorelDRAW)

jari-jari lingkaran yang dipakai adalah 60 piksel, 90 piksel, dan 120 piksel. Untuk elips

yang dipakai jari-jari minor tetap yaitu 60 piksel tetapi jari-jari mayornya yang berbeda

yaitu 120 piksel, 180 piksel, dan 240 piksel.

Pada penelitian elips dan penelitian lingkaran jangka waktu komputasi berbeda

cukup signifikan. Hal ini seperti yang telah dijelaskan di bab 2, pada algoritma

Transformasi Hough untuk deteksi lingkaran, masih menggunakan array 3 Dimensi,

dimana array ini berisikan jari-jari, dan 2 titik pusat, sedangkan pada algoritma

Transformasi Hough untuk mendeteksi elips, sudah di optimasi sehingga hanya

menggunakan array 1 Dimensi yang berisikan calon sumbu minor dari elips saja.

Dalam algoritma Transformasi Hough untuk mendeteksi lingkaran tersebut, waktu

komputasi terlama mencapai 7,563 detik sedangkan waktu tercepat 0,269 detik. Perbedaan

ini juga didapat berdasarkan jari-jari lingkaran yang berbeda, seperti yang terlampir di

lampiran A.1 dan A.3, semakin besar jari-jari lingkaran maka akan semakin lama waktu

komputasinya. Karena jari-jari lingkaran yang ingin dideteksi tidak diketahui, maka

dibutuhkan iterasi rentang R minimum sampai R batas maksimum untuk mendapatkan jari-

jari yang terbaik. Maka apabila lingkaran semakin besar, maka iterasi dilanjutkan sampai

batas maksimum jari-jari lingkaran ditemukan. Begitu juga dalam algoritma Transformasi

Hough untuk mendeteksi elips, perbedaan sumbu mayor dan sumbu minor yang semakin

besar maka akan mempengaruhi waktu komputasi juga. Semakin besar ukuran citra tepi

hasil preprocessing maka akan semakin bertambah waktu untuk komputasinya.

Page 56: Buku Lengkap

37

Dapat disimpulkan, waktu komputasi dipengaruhi oleh spesifikasi komputer yang

digunakan, ukuran objek, serta jenis bangun yang akan dideteksi (lingkaran atau elips)

4.5 Analisis Hasil Uji Tingkat Eksentrisitas Elips pada Citra Komputer dan

Webcam

Rincian tabel hasil uji eksentrisitas elips dapat dilihat pada lampiran B. Secara

keseluruhan dari 60 citra digital yang diujikan, dapat diketahui hasil deteksi pada tabel 4.2

Tabel 4.2 Perbandingan Hasil Uji Tingkat Eksentrisitas

Berdasarkan tabel tersebut, dapat disimpulkan:

1. Kesalahan terdapat dalam pendeteksian elips dengan eksentrisitas 0,2-0,4.

Sehingga akurasi dalam mendeteksi jenis bangun dengan eksentrisitas 0,2 adalah

0%, eksentrisitas 0,3 adalah 25%, dan eksentrisitas 0,4 adalah 91,67%. Elips

dengan eksentrisitas 0,5 dan 0,8 memiliki kesalahan 0 dari masing-masing 12 kali

percobaan, sehingga akurasi dalam mendeteksi elips sebesar 100%.

2. Dalam mendeteksi posisi setelah proses rekonstruksi keseluruhan, jumlah error

=0, sehingga akurasinya 100%.

3. Waktu Komputasi rata-rata Algoritma Transformasi Hough untuk mendeteksi

Elips untuk seluruh eksentrisitas 1,259 detik, dengan waktu komputasi terlama

mencapai 6,029 detik sedangkan waktu tercepat 0,092 detik.

Pada bagian ini bertujuan untuk mengetahui apakah pengaruh dari eksentrisitas

dalam pendeteksian. Pada pendeteksian eksentrisitas 0,2 terdapat error yang cukup besar.

Error disini adalah hasil pendeteksian berupa lingkaran, bukan sebuah elips. Hal ini

dikarenakan elips dengan eksentrisitas yang mendekati 0, akan mendekati bentuk seperti

lingkaran, sesuai dengan rumus 2.16 pada bab 2. Lingkaran itu sendiri berarti sebuah elips

yang memiliki jari-jari mayor dan jari-jari minor yang sama. Elips dengan eksentrisitas

kecil akan memiliki hasil deteksi Transformasi Hough standar yang mirip seperti

lingkaran, sehingga standar deviasi yang dihasilkan akan mendekati lingkaran pula. Oleh

karena itu pada perangkat lunak akan mendeteksi bangun tersebut sebagai lingkaran.

0.2 0.3 0.4 0.5 0.8 0.2 0.3 0.4 0.5 0.8

Jumlah Citra Uji 6 6 6 6 6 6 6 6 6 6

Jumlah Error Jenis Bangun 6 5 1 0 0 6 3 0 0 0

Akurasi Jenis Bangun 0% 16,67% 83,33% 100% 100% 0% 50% 100% 100% 100%

Jumlah Error Posisi (Fitting) 0 0 0 0 0 0 0 0 0 0

Akurasi Posisi 100% 100% 100% 100% 100% 100% 100% 100% 100% 100%

Waktu Komputasi rata-rata (s) 3,914 2,749 0,5966 0,19 0,159 3,72074 1,494 0,192 0,19372 0,15903

Waktu Komputasi Maksimum (s) 6,029 4,971 2,414 0,315 0,266 5,41935 3,195 3,195 0,2794 0,23711

Waktu Komputasi minimum (s) 2,6142 0,401 0,152 0,108 0,092 2,25877 0,215 0,106 0,1138 0,09327

ParameterKomputer Webcam

Page 57: Buku Lengkap

38

Pada bagian eksentrisitas 0,2-0,4 dengan menggunakan citra yang di-capture oleh

webcam ataupun dibangkitkan lewat komputer, kesalahan terletak pada bentuk elips yang

apabila semakin kecil eksentrisitasnya maka akan semakin terlihat mirip lingkaran.

Eksentrisitas juga dapat mempengaruhi waktu komputasi. Semakin besar eksentrisitas

maka semakin sedikit dibutuhkan waktu untuk mencari parameter elips dengan EHT.

Semakin kecil eksentrisitas, maka algoritma yang digunakan mendekati algoritma CHT,

yang memeriksa semua kemungkinan jari-jari sebuah lingkaran.

Akan tetapi perangkat lunak yang diaplikasikan tetap memiliki akurasi yang sangat

baik dalam proses fitting (rekonstruksi) dan mencari letak posisi benda berada, yaitu

mencapai 100%.

Dapat disimpulkan, eksentrisitas elips mempengaruhi standar deviasi pada

transformasi hough standar, sehingga mempengaruhi proses pemilihan deteksi, dan juga

mempengaruhi waktu komputasi algoritma.

4.6 Hasil Uji Keandalan Sistem dengan Derau yang Dibangkitkan MATLAB

4.6.1 Poisson

Hasil uji dengan membangkitkan derau Poisson dapat dilihat pada tabel 4.3. Hasil uji

diambil dari perwakilan masing-masing jenis dan rekonstruksi citra yang terdeteksi benar.

Tabel tersebut terletak dalam lampiran C.1. Secara keseluruhan dari 36 citra uji, akurasi

deteksi jenis lingkaran atau elips mencapai 100% dan akurasi deteksi posisi mencapai 97%

dengan waktu komputasi rata-rata MHT untuk mendeteksi lingkaran 3,64 detik dan untuk

mendeteksi elips 0,303 detik.

Secara Jelas dapat dilihat pada tabel dibawah ini:

Tabel 4.3 Perbandingan Hasil uji dengan derau Poisson

Dari hasil uji tersebut, dapat dilihat bahwa citra yang dibangkitkan dikomputer

maupun citra yang dibangkitkan lewat webcam masih mampu mendeteksi jenis bangun

(lingkaran atau elips), akan tetapi untuk citra yang dibangkitkan oleh webcam sensitifitas

akan derau Poisson ini lebih tinggi, misal apabila citra yang di-capture kondisi cahayanya

buruk maka akan semakin sulit untuk melakukan preprocessing. Oleh karena itu, pada citra

Jenis Fitting Jenis Fitting Jenis Fitting

Jumlah 18 18 18 18 36 36

Error 0 1 0 0 0 1

Akurasi 100% 94% 100% 100% 100% 97%

TotalCitra Webcam Citra Komputer

Page 58: Buku Lengkap

39

hasil capture webcam mengalami kesalahan dalam merekonstruksi elips karena masih

banyaknya derau setelah tahap preprocessing. Berikut adalah perbandingan tampilan citra

komputer dengan derau poisson dan citra webcam dengan derau poisson

Gambar 4.4 Citra komputer dan ditambah derau Poisson

Gambar 4.5 Citra komputer dan ditambah derau Poisson

4.6.2 Speckle

Berikut hasil pengujian sistem dengan citra yang ditambah derau Speckle dengan

beberapa nilai variance. Jumlah citra yang diujikan masing-masing sebanyak 18 buah citra

yang sama dengan citra uji derau Poisson.

Tabel 4.4 Hasil Uji Derau Speckle dengan Berbagai Variance

Berdasarkan tabel tersebut dapat diperoleh grafik akurasi sebagai berikut:

Gambar 4.6 Grafik akurasi hasil uji derau Speckle dengan berbagai variance

Nilai Variance 0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

Jenis (Webcam) 18 11 10 7 7 7 7 7 7

Jenis (komputer) 18 18 18 17 9 9 9 9 9

Fitting (Webcam) 18 12 11 0 0 0 0 0 0

Fitting (komputer) 18 18 18 18 0 0 0 0 0

0%

20%

40%

60%

80%

100%

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

pe

rse

nta

si a

ku

rasi

(%

)

Variance

Jenis (Webcam)

Jenis(komputer)

Fitting(webcam)

Fitting (komputer)

Page 59: Buku Lengkap

40

Dari grafik tersebut dapat diketahui bahwa semakin besar variance derau, maka akan

semakin tidak akurat sistem. Dalam mendeteksi jenis bangun, untuk citra yang

dibangkitkan komputer dapat dikatakan cukup akurat. Kesalahan di variance 0,2 terdapat

pada citra lingkaran warna merah yang sudah terdeteksi sebagai elips. Pada citra webcam,

dalam mendeteksi jenis bangun memiliki akurasi yang sangat buruk dikarenakan tidak

dapat terdeteksinya garis tepi objek pada preprocessing karena derau yang semakin

menumpuk pada objek. Pada variance diatas 0,2, proses rekonstruksi/fitting tidak dapat

dilakukan karena akibat derau yang menumpuk maka tepi yang terdeteksi bukanlah tepi

dari objek utama.

Dapat disimpulkan dalam pendeteksian jenis bangun, semakin besar nilai variance

pada derau Speckle maka semakin tidak akurat sistem ini. Tampilan citra dengan derau

Speckle dapat dilihat pada gambar di bawah ini.

Gambar 4.7 Citra komputer dan ditambah derau Speckle (variance 0,3)

Gambar 4.8 Citra webcam dan ditambah derau Speckle (variance 0,3)

4.6.3 Salt and Pepper

Berikut hasil pengujian sistem dengan citra yang ditambah derau Salt and pepper

dengan beberapa nilai kerapatan (density). Jumlah citra yang diujikan masing-masing

sebanyak 18 buah citra yang sama dengan pengujian derau Poisson.

Tabel 4.5 Hasil Uji Derau Speckle dengan Berbagai Variance

Noise Density 0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

Jenis (Webcam) 18 18 18 12 9 9 9 9 9

Jenis (komputer) 18 18 18 18 13 9 9 9 9

Posisi (Webcam) 18 18 18 14 6 0 0 0 0

Posisi (komputer) 18 18 18 18 18 0 0 0 0

Page 60: Buku Lengkap

41

Berdasarkan tabel tersebut dapat diperoleh grafik akurasi sebagai berikut:

Gambar 4.9 Grafik akurasi hasil uji derau Salt and Pepper dengan berbagai

kerapatan

Dari grafik tersebut dapat terlihat untuk semua jenis citra, baik dari komputer

maupun webcam memiliki akurasi 100% hingga nilai kerapatan (density) sebesar 0,1

dalam mendeteksi jenis dan menentukan posisi dari bangun elips dan lingkaran. Untuk

semua jenis citra (dari komputer atau webcam) kesalahan dalam menentukan jenis terdapat

pada beberapa bangun lingkaran yang hasil pemrosesan awalnya tidak sempurna dan masih

meninggalkan derau yang mengakibatkan nilai standar deviasi SHT melebihi ambang batas

pendeteksian lingkaran sehingga mengakibatkan terdeteksi sebagai elips. Untuk citra

dengan kerapatan derau ≥ 0,4 proses fitting tidak dapat dilakukan lagi karena derau pada

citra sudah menumpuk dan tepi objek hasil pemrosesan awal sudah tidak terdeteksi lagi.

Tampilan citra dengan derau Salt and Pepper dapat dilihat pada gambar di bawah ini.

Gambar 4.10 Citra webcam dan ditambah derau Salt & Pepper (density 0,2)

Gambar 4.11 Citra komputer dan ditambah derau Salt & Pepper (density 0,2)

0%

20%

40%

60%

80%

100%

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7pe

rse

nta

si a

ku

rasi

(%

)

Noise Density

Jenis (Webcam)

Jenis (komputer)

Fitting (Webcam)

Fitting (komputer)

Page 61: Buku Lengkap

42

4.6.4 Gaussian

Berikut hasil pengujian sistem dengan citra yang ditambah derau Gaussian dengan

beberapa nilai kerapatan (density). Jumlah citra yang diujikan masing-masing sebanyak 18

buah citra yang sama dengan pengujian dengan derau Poisson.

Tabel 4.6 Hasil Uji Derau Gaussian dengan Mean=0 dan Berbagai Nilai Variance

Berdasarkan tabel tersebut dapat diperoleh grafik akurasi sebagai berikut:

Gambar 4.12 Grafik akurasi hasil uji derau Gaussian dengan mean=0

Tabel 4.7 Hasil Uji Derau Gaussian, Variance=0,01 dan Berbagai Nilai Mean

Berdasarkan tabel tersebut dapat diperoleh grafik akurasi sebagai berikut:

Gambar 4.13 Grafik akurasi hasil uji derau Gaussian dengan variance=0,01

Noise Density 0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

Jenis (Webcam) 18 18 18 18 18 18 18 18 18

Jenis (komputer) 18 18 18 18 18 18 17 18 18

Posisi (Webcam) 18 18 18 18 18 18 18 18 18

Posisi (komputer) 18 18 18 18 18 18 18 18 18

0%

20%

40%

60%

80%

100%

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7Pe

rse

nta

si A

ku

rasi

(%

)

Variance

Jenis (Webcam)

Jenis (komputer)

Posisi (Webcam)

Posisi (komputer)

Noise Density 0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

Jenis (Webcam) 17 12 10 3 3 2 3 0 0

Jenis (komputer) 18 18 18 18 18 18 18 11 11

Posisi (Webcam) 17 12 12 6 3 3 3 0 0

Posisi (komputer) 18 18 18 18 18 18 18 12 12

0,00%

20,00%

40,00%

60,00%

80,00%

100,00%

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

pe

rse

nta

si a

ku

rasi

(%

)

Mean

Jenis (Webcam)

Jenis (komputer)

Posisi (Webcam)

Posisi (komputer)

Page 62: Buku Lengkap

43

Berdasarkan hasil uji tersebut, Untuk derau Gaussian dengan mean konstan (nol)

citra yang dibangkitkan dari komputer saja yang terdeteksi 100% sampai variance 0,2.

Sementara untuk nilai variance konstan (0,01), untuk citra yang dibangkitkan oleh

komputer jenis dan rekonstruksi objek masih dapat dilakukan hingga variance 0,5.

Sedangkan untuk citra webcam saat mean sebesar 0,05 akurasi mulai menurun cukup

besar. Kesalahan terdapat pada citra berwarna hijau karena saat diberi derau warna objek

dan latar semakin menyatu dan sulit dibedakan sistem. Variance mempengaruhi tingkat

kerapatan derau, sementara mean mempengaruhi tingkat keputihan derau tersebut.

Tampilan derau Gaussian dapat dilihat pada gambar dibawah ini.

Gambar 4.14 Derau Gaussian dengan mean = 0, (var=0 kiri, var=0,2 tengah,

var=0,5 kanan)

Gambar 4.15 Derau Gaussian dengan variance = 0.01, (mean=0 kiri, mean=0,2

tengah, mean=0,5 kanan)

4.7 Analisis Hasil Deteksi Objek Lingkaran dan Elips Sebenarnya pada Citra yang

di-capture Webcam

Rincian tabel hasil uji objek sesungguhnya dapat dilihat pada lampiran D. Ada 120

citra yang akan diuji, masing-masing 60 citra elips dan 60 citra lingkaran. Dari 60 tersebut

dibagi lagi menjadi 3 kategori lagi (kecil, sedang, dan besar) untuk setiap kategori terdapat

5 buah objek berbeda yang masing-masing di-capture 4 kali. Secara keseluruhan dari 120

citra digital yang diujikan, dapat diketahui hasil deteksi pada tabel 4.8.

Page 63: Buku Lengkap

44

Tabel 4.8 Perbandingan Hasil Uji Objek Sesungguhnya

Berdasarkan tabel tersebut, dapat disimpulkan:

1. Jumlah error dalam mendeteksi jenis bangun sebanyak 24, sehingga akurasi

dalam pendeteksian jenis bangun 80%

2. Dalam mendeteksi posisi dan proses rekonstruksi bangun, jumlah error =16,

sehingga akurasinya 86,66%.

3. Waktu Komputasi Algoritma Transformasi Hough untuk mendeteksi objek

lingkaran rata-rata 3,933 detik, dengan waktu komputasi terlama mencapai 8,727

detik sedangkan waktu tercepat 0,437 detik.

4. Waktu Komputasi Algoritma Transformasi Hough untuk mendeteksi objek Elips

rata-rata 0,43 detik, dengan waktu komputasi terlama mencapai 0,997 detik

sedangkan waktu tercepat 0,636 detik.

Dalam pendeteksian jenis bangun terdapat berbagai jenis kesalahan, diantaranya

faktor derau bayangan. Bayangan yang terdapat pada citra lingkaran apabila terlihat

dengan jelas dan berbeda dengan warna latar saat diubah ke model warna HSV akan ikut

terdeteksi sebagai objek juga, sehingga saat diubah menjadi citra biner dengan level auto

threshold akan menjadikan objek tersebut berupa elips. Berikut contoh objek citra yang

salah akibat bayangan dalam pendeteksian.

Gambar 4.16 Citra lingkaran yang terdeteksi sebagai elips karena bayangan

(kiri=citra masukan, tengah=model warna HSV, kanan=hasil threshold)

Kecil Sedang Besar Kecil Sedang Besar

Jumlah Citra 20 20 20 20 20 20

Kesalahan Deteksi Jenis 5 4 8 0 3 4

Akurasi Jenis Bangun 75% 80% 60% 100% 85% 80%

Kesalahan Fitting Bangun 5 2 1 0 4 4

Akurasi Fitting Bangun 75% 90% 95% 100% 75% 80%

Waktu Komputasi Rata-Rata(s) 2,557 4,457 4,783 0,267 0,237 0,786

Waktu Komputasi Maksimum (s) 3,025 6,152 8,727 0,593 0,679 0,997

Waktu Komputasi Minimum (s) 2,088 0,437 0,926 0,107 0,118 0,636

Lingkaran Elips

Page 64: Buku Lengkap

45

Selain bayangan, penyebab kesalahan deteksi yang lain adalah objek yang terlalu

gelap dan berwarba terlalu mirip ke latar. Dalam pengubahan menjadi model warna HSV,

objek dengan warna gelap dan mendekati kecerahan seperti warna latar akan menyebabkan

sebagian besar bagian objek terdeteksi sama seperti latar. Sehingga objek akan menjadi

tidak sempurna karena saat diubah menjadi citra biner sistem akan sulit menentukan

threshold yang cocok. Berikut contoh objek citra yang salah karena berwarna terlalu gelap.

Gambar 4.17 Citra lingkaran yang tidak terdeteksi karena terlalu gelap (kiri=citra

masukan, tengah=model warna HSV, kanan=hasil threshold)

4.8 Pengujian dengan Objek Selain Elips dan Lingkaran

Dalam tugas akhir ini, untuk mengetahui tingkat efektifitas sistem dalam

pendeteksian dengan metode standar deviasi untuk mengklasifikasikan objek, maka sistem

juga diuji dengan menggunakan bangun selain elips dan lingkaran. Dalam pengujian ini

digunakan poligon bangun segitiga, segiempat, segilima, segi sepuluh, dan segi dua belas.

Berikut adalah tabel hasil penelitian dengan objek poligon:

Tabel 4.9 Hasil Uji Objek Selain Lingkaran dan Elips

Menurut teori, poligon merupakan sebuah bangun geometri yang tersusun dari garis

lurus dan membentuk bidang tertutup[9]. Sedangkan elips dan lingkaran merupakan sebuah

kurva yang tertutup membentuk bidang. Dalam analisis ini sistem hanya akan digunakan

sampai tahap pendeteksian saja, hal ini dikarenakan rekonstruksi menggunakan Algoritma

Transformasi Hough Modifikasi hanya bisa mendeteksi objek tertentu saja (lingkaran dan

Elips). Hasil pemetaan citra poligon segitiga, segiempat, dan segilima terdapat dalam

lampiran E.

Name(*.bmp) Maxima STDEV

Segitiga 195 1,84527

Segiempat 169 3,66939

Segilima 139 1,41098

Segisepuluh 70 4,18936

Segiduabelas 68 4,09427

Page 65: Buku Lengkap

46

Dari hasil penelitian tersebut dapat dilihat standar deviasi yang dihasilkan berbeda-

beda dan melebihi batas threshold lingkaran sehingga sistem akan mendeteksinya sebagai

elips, oleh karena itu metode standar deviasi tidak dapat digunakan untuk mendeteksi

objek selain lingkaran dan elips. Akan tetapi dapat dilihat juga untuk parameter Local

Maxima, semakin banyak sisi dari poligon, maka Local Maxima akan semakin mengecil.

Hal ini dikarenakan garis yang terdapat pada objek semakin kecil. Sehingga bisa

mendekati bentuk objek lingkaran. Untuk itu parameter Local Maxima dapat digunakan

untuk mendeteksi objek yang memiliki garis lurus seperti poligon.

Pada penelitian sebelumnya oleh Dzikrina Khoirunnisak, titik tersebut akan

digunakan untuk penelitian selanjutnya untuk proses rekonstruksi poligon. Sedangkan

dalam pendeteksian lingkaran nilai puncak tersebar dalam sinusoidal yang terbentuk dalam

domain hough. Hal ini disebabkan karena lingkaran terbentuk dari garis yang tidak lurus

melainkan kurva yang teratur. Untuk Deteksi Elips, titik puncak terdeteksi di pinggir

sinusoidal, karena elips yang dideteksi membentuk kurva yang tidak teratur seperti

lingkaran melainkan mendekati sebuah garis.

Gambar 4.18 Hasil transformasi segi sepuluh kedalam domain Hough

Gambar 4.19 Hasil transformasi segi duabelas kedalam domain Hough

Page 66: Buku Lengkap

47

BAB V

PENUTUP

5.1 Kesimpulan

Dari hasil analisis terhadap pengujian yang dilakukan pada sistem pendeteksi

lingkaran dan elips pada bangun 2 dimensi dengan menggunakan Transformasi Hough

berbasis pengolahan citra digital, maka dapat diambil kesimpulan sebagai berikut:

a. Metode standar deviasi dapat digunakan dalam membedakan hasil ekstraksi ciri

Transformasi Hough standar dalam pendeteksian elips dan lingkaran. Akan tetapi

untuk mendeteksi bangun selain elips dan lingkaran metode ini tidak lagi bisa

digunakan karena hanya bangun lingkaran yang memiliki homogenitas data jarak

piksel atas dan piksel bawah yang paling stabil. Sehingga apabila mendeteksi

bangun selain elips dan lingkaran akan menghasilkan bangun elips.

b. Perbedaan dalam pendeteksian objek kurva tertutup dengan objek poligon (segi

3,4,5) dapat dilihat dari nilai puncak (local maxima) dari hasil algoritma

Transformasi Hough standar. Nilai puncak bangun poligon rata-rata diatas 100,

dikarenakan poligon terdiri dari garis-garis lurus.

c. Dalam mendeteksi jenis bangun lingkaran atau elips 2D, tingkat akurasi mencapai

100% untuk citra tidak berderau yang dibangkitkan dari komputer dan 81,84%

untuk citra yang di-capture oleh webcam. Sehingga akurasi total adalah 95,46%

dengan jumlah citra uji 108 buah.

d. Dalam mendeteksi posisi dan rekonstruksi bangun lingkaran dan elips, tingkat

akurasi mencapai 100% untuk citra tidak berderau yang dibangkitkan dari

komputer maupun citra yang di-capture oleh webcam dengan jumlah citra uji 108

buah.

e. Untuk pendeteksian objek sebenarnya yang di-capture melalui webcam, akurasi

dalam mendeteksi jenis bangun mencapai 80%. Akurasi dalam merekonstruksi

bangun mencapai 86,66% untuk keseluruhan citra uji 120 citra digital.

f. Semakin besar objek yang diteliti maka menyebabkan waktu komputasi Modified

Hough Transform (MHT) untuk merekonstruksi objek akan semakin bertambah.

Pada penelitian ini MHT untuk mendeteksi elips lebih cepat daripada untuk

mendeteksi lingkaran

Page 67: Buku Lengkap

48

g. Nilai batas ambang (threshold) standar deviasi yang digunakan dalam penentuan

bangun elips dan lingkaran dapat mempengaruhi proses pendeteksian. Dalam

penelitian ini nilai batas ambang standar deviasi yang ditentukan adalah 0,8.

h. Untuk pengujian eksentrisitas elips, semakin besar eksentrisitas elips maka objek

elips akan semakin pipih, sehingga hasil pendeteksian elips mencapai tingkat

akurasi 100%. Semakin kecil eksentrisitas elips maka objek elips akan semakin

mirip dengan lingkaran, sehingga akurasi dalam mendeteksi jenis bangun dengan

eksentrisitas 0,2 adalah 0%, eksentrisitas 0,3 adalah 25%, dan eksentrisitas 0,4

adalah 91,67%. Elips dengan eksentrisitas 0,5 dan 0,8 memiliki kesalahan 0 dari

masing-masing 12 kali percobaan, sehingga akurasi dalam mendeteksi elips

sebesar 100%.

i. Untuk derau Poisson, akurasi deteksi jenis bangun lingkaran dan elips sebesar

100% dan akurasi dalam pendeteksian posisi dan rekonstruksi (fitting) mencapai

97%. Kesalahan fitting terdapat pada citra elips yang di-capture webcam karena

citra tersebut sudah punya derau bayangan dan ditambah derau lagi sehingga

objek yang telah melewati tahap preprocessing tidak sempurna lagi.

j. Untuk derau Speckle, Salt and Pepper, dan Gaussian, semakin besar kerapatan,

mean atau variance-nya maka akan membuat sistem semakin tidak akurat.

Umumnya untuk citra yang dibangkitkan lewat komputer, mampu bertahan

sampai variance/density sebesar 0.2, sedangkan citra yang di-capture lewat

webcam rata-rata mampu bertahan sampai variance/density sebesar 0.05.

k. Kesalahan dalam memasukkan derau sering terjadi pada objek lingkaran. Karena

semakin rapat derau, hasil pemrosesan awal terkadang menghasilkan objek

lingkaran yang tidak sempurna hingga mengakibatkan sistem mendeteksinya

sebagai elips.

5.2 Saran

Pengembangan yang dapat dilakukan pada tugas akhir ini antara lain sebagai berikut:

a. Perancangan sistem yang mampu mendeteksi keseluruhan jenis bangun, baik

pendeteksian kurva tertutup maupun poligon.

b. Perancangan sistem preprocessing yang lebih baik sehingga dapat mendeteksi

bangun dengan latar yang beragam atau adaptif terhadap berbagai derau.

Page 68: Buku Lengkap

49

c. Perancangan sistem algoritma Transformasi Hough dalam mendeteksi lingkaran

yang lebih efisien agar waktu komputasi yang diperlukan tidak terlalu besar.

d. Dilakukan penelitian lebih lanjut dengan mengaplikasikan algoritma Transformasi

Hough General agar mampu mendeteksi objek sembarang ataupun objek 3-D.

e. Dilakukan penelitian lebih lanjut dengan menggunakan software/platform yang

berbeda sehingga dapat diaplikasikan kedalam kehidupan nyata.

Page 69: Buku Lengkap

xx

DAFTAR PUSTAKA

[1] Atturmudzi, Aji. 2008. Eye Detection Menggunakan Template Matching, Algoritma

Genetika, dan Hough Transform. Tugas Akhir Program Sarjana, Institut

Teknologi Telkom

[2] Basca, C.A. et al. 2005. Randomized Hough Transform for Ellipse Detection with

Result Clustering. University of Sibiu. Romania.

[3] Dembele, Fatoumata. Object Detection Using Circular Hough Transform. Michigan

State University.

[4] Duda, R. O. and P. E. Hart. 1971. Use of the Hough Transformation to Detect Lines

and Curves in Pictures. Artificial Intelligence Center.

[5] Herdiyeni, Yeni. 2008. Hough Transform. Institut Pertanian Bogor, Ilmu Komputer.

[6] Illingworth, J and Kittler, J. 1988. A Survey of the Hough Transform. Department of

Electronics and Electrical Engineering, University of Surrey, Guildford. United

Kingdom.

[7] Ji, Qiang and Xie, Yonghong. 2002. A New Efficient Ellipse Detection Method.

IEEE.

[8] J.K. Pedersen, Simon. 2007. Circular Hough Transform. Aalborg University, Vision,

Graphics, and Interactive System.

[9] Khoirunnisak, Dzikrina. 2011. Analisis Perbandingan Algoritma Transformasi

Hough Dan Algoritma Transformasi Radon Untuk Deteksi Objek Planar Segi-

N Berbasis Pengolahan Citra Digital. Tugas Akhir Program Sarjana, Institut

Teknologi Telkom.

[10] Lee, Kyewook. 2006. Application of the Hough Transform. University of

Massachusetts. Lowel

[11] McAndrew, Alasdair. An Introduction to Digital Image Processing with Matlab.

School of Computer Science and Mathematics. Victoria University of

Technology

[12] Prasasti, Anggunmeka L. 2012. Deteksi Dan Analisis Convex Dan Concave Polygon

Pada Bangun Geometri 2-Dimensi Dengan Menggunakan Transformasi Radon

Berbasis Pengolahan Citra Digital. Tugas Akhir Program Sarjana, Institut

Teknologi Telkom.

[13] Putra, Dharma. 2010. Pengolahan Citra Digital. Yogyakarta: Andi Publisher.

Page 70: Buku Lengkap

xxi

[14] Sa’diyah, Halimatus. 2008. Aplikasi Transformasi Hough Untuk Deteksi Garis

Lurus. Tugas Akhir Program Sarjana, Universitas Diponegoro.

[15] Sembor, Dhiemas R.Y., et al. 2010. Pengenalan dan Pencarian Posisi Robot Dalam

Pencarian Sumber Kebocoran Gas. Fakultas Ilmu Komputer, Universitas

Indonesia.

[16] Simonovsky, Martin. 2011. Ellipse Detection Using 1D Hough Transform.

Mathworks.

[17] Wijaya, M.C. dan Prijono A. 2007. Pengolahan Citra Digital Menggunakan Matlab.

Bandung: Informatika.

[18] http://en.wikipedia.org/wiki/Hough_transform Tanggal akses 11 April 2012

[19] http://id.wikipedia.org/wiki/Lingkaran Tanggal 12 April 2012

[20] http://web-matematika.blogspot.com/2010/03/persamaan-elips.html Tanggal akses

12 April 2012

[21] http://en.wikipedia.org/wiki/Eccentricity_%28mathematics%29 Tanggal akses 12

April 2012

[22] http://www.mathworks.com/help/images/ref/hough.html Tanggal akses 12 April

2012

[23] http://homepages.inf.ed.ac.uk/rbf/HIPR2/hough.htm Tanggal akses 20 Oktober 2012

[24] http://blog.ub.ac.id/rakamahendras/2012/03/14/mean-median-modus-dan-standar-

deviasi/ Tanggal akses 23 Oktober 2012

[25] http://basic-eng.blogspot.com/2005/12/object-detection-using-hough-transform.html

Tanggal akses 23 Oktober 2012

[26] http://www.mathworks.com/help/images/morphology-fundamentals-dilation-and-

erosion.html#f18-24720?s_tid=doc_12b Tanggal akses 28 Desember 2012

Page 71: Buku Lengkap

xxii

DAFTAR LAMPIRAN

A.1 Data Citra Masukan Sistem (CorelDraw/Komputer) ........................................... A-1

A.2 Data Citra Masukan Sistem (Webcam) ................................................................ A-2

A.3 Citra yang dibangkitkan Komputer (Lingkaran) .................................................. A-5

A.4 Citra yang dibangkitkan komputer (Elips) ........................................................... A-6

A.5 Citra yang di-capture oleh webcam (Lingkaran) ................................................. A-7

A.6 Citra yang Di-capture oleh Webcam (Elips) ....................................................... A-8

B.1 Data Citra Eksentrisitas Masukan Sistem (CorelDraw/Komputer) ..................... B-1

B.2 Data Citra Eksentrisitas Masukan Sistem (Webcam) .......................................... B-2

B.3 Hasil Uji Deteksi Elips Eksentrisitas 0.2 (Komputer) ......................................... B-3

B.4 Hasil Uji Deteksi Elips Eksentrisitas 0.3 (Komputer) ......................................... B-3

B.5 Hasil Uji Deteksi Elips Eksentrisitas 0,4 (Komputer) ......................................... B-3

B.6 Hasil Uji Deteksi Elips Eksentrisitas 0,5 (Komputer) ......................................... B-3

B.7 Hasil Uji Deteksi Elips Eksentrisitas 0.8 (Komputer) ......................................... B-4

B.8 Hasil Uji Deteksi Elips Eksentrisitas 0.2 (Webcam) ........................................... B-4

B.9 Hasil Uji Deteksi Elips Eksentrisitas 0.3 (Webcam) ........................................... B-4

B.10 Hasil Uji Deteksi Elips Eksentrisitas 0.4 (Webcam) ........................................... B-4

B.11 Hasil Uji Deteksi Elips Eksentrisitas 0.5 (Webcam) ........................................... B-5

B.12 Hasil Uji Deteksi Elips Eksentrisitas 0.8 (Webcam) ........................................... B-5

C.1 Deteksi Jenis dan Rekonstruksi Elips dan Lingkaran pada Citra

Komputer dan Webcam dengan Derau Poisson ................................................... C-1

C.2 Deteksi Jenis Elips dan Lingkaran pada Citra webcam dengan

Derau Speckle ....................................................................................................... C-2

C.3 Rekonstruksi Elips dan Lingkaran pada Citra webcam dengan

Derau Speckle ....................................................................................................... C-2

C.4 Deteksi Jenis Elips dan Lingkaran pada Citra Komputer dengan

Derau Speckle ....................................................................................................... C-3

C.5 Rekonstruksi Elips dan Lingkaran pada Citra Komputer dengan

Derau Speckle ....................................................................................................... C-3

C.6 Deteksi Jenis Elips dan Lingkaran pada Citra Webcam dengan

Derau Salt and Pepper ......................................................................................... C-4

Page 72: Buku Lengkap

xxiii

C.7 Rekonstruksi Elips dan Lingkaran pada Citra Komputer dengan

Derau Salt and Pepper ......................................................................................... C-4

C.8 Deteksi Jenis Elips dan Lingkaran pada Citra Komputer dengan

Derau Salt and Pepper ......................................................................................... C-5

C.9 Rekonstruksi Elips dan Lingkaran pada Citra Komputer dengan

Derau Salt and Pepper ......................................................................................... C-5

C.10 Deteksi Jenis Elips dan Lingkaran pada Citra Webcam dengan

Derau Gaussian (mean=0) ................................................................................... C-6

C.11 Rekonstruksi Elips dan Lingkaran pada Citra Webcam dengan

Derau Gaussian (mean=0) ................................................................................... C-6

C.12 Deteksi Jenis Elips dan Lingkaran pada Citra Komputer dengan

Derau Gaussian (mean=0) ................................................................................... C-7

C.13 Rekonstruksi Elips dan Lingkaran pada Citra Komputer dengan

Derau Gaussian (mean=0) ................................................................................... C-7

C.14 Deteksi Jenis Elips dan Lingkaran pada Citra Webcam dengan

Derau Gaussian (variance=0,01) ......................................................................... C-8

C.15 Rekonstruksi Elips dan Lingkaran pada Citra Webcam dengan

Derau Gaussian (variance=0,01) ......................................................................... C-8

C.16 Deteksi Jenis Elips dan Lingkaran pada Citra Komputer dengan

Derau Gaussian (variance=0,01) ......................................................................... C-9

C.17 Rekonstruksi Elips dan Lingkaran pada Citra Komputer dengan

Derau Gaussian (variance=0,01) ......................................................................... C-9

D.1 Data Citra Masukan Sistem Objek Lingkaran Ukuran Kecil ............................... D-1

D.2 Data Citra Masukan Sistem Objek Lingkaran Ukuran Sedang ............................ D-1

D.3 Data Citra Masukan Sistem Objek Lingkaran Ukuran Besar .............................. D-2

D.4 Data Citra Masukan Sistem Objek Elips Ukuran Kecil ....................................... D-3

D.5 Data Citra Masukan Sistem Objek Elips Ukuran Sedang .................................... D-3

D.6 Data Citra Masukan Sistem Objek Elips Ukuran Besar ....................................... D-4

D.7 Hasil Uji Citra Objek Lingkaran Ukuran Kecil ................................................... D-5

D.8 Hasil Uji Citra Objek Lingkaran Ukuran Sedang ................................................ D-5

D.9 Hasil Uji Citra Objek Lingkaran Ukuran Besar ................................................... D-6

D.10 Hasil Uji Citra Objek Elips Ukuran Kecil ............................................................ D-6

D.11 Hasil Uji Citra Objek Elips Ukuran Sedang ........................................................ D-7

Page 73: Buku Lengkap

xxiv

E.1 Hasil Uji Citra Objek Elips Ukuran Besar ........................................................... D-7

E.2 Perbandingan Deteksi Kurva dengan Poligon ..................................................... E-1

F.1 Tampilan Program Utama .................................................................................... F-1

F.2 Listing Program .................................................................................................... F-2

Page 74: Buku Lengkap

A-1

LAMPIRAN A

Data Uji Dan Hasil Deteksi

A.1 Data Citra Masukan Sistem (CorelDraw/Komputer)

bluecr60px_1

bluecr60px_2

bluecr60px_3

Bluecr90px_1

Bluecr90px_2

Bluecr90px_3

Bluecr120px_1

Bluecr120px_2

Bluecr120px_3

Greencr60px_1

Greencr60px_2

Greencr60px_3

Greencr90px_1

Greencr90px_2

Greencr90px_3

Greencr120p_1

Greencr120p_2

Greencr120p_3

Redcr60px_1

Redcr60px_2

Redcr60px_3

Redcr90px_1

Redcr90px_2

Redcr90px_3

redcr120px_1

Redcr120px_2

Redcr120px_3

Page 75: Buku Lengkap

A-2

Blue_El_a120b60_1

Blue_El_a120b60_1

Blue_El_a120b60_3

Blue_El_a180b60_1

Blue_El_a180b60_2

Blue_El_a180b60_3

Blue_El_a240b60_1

Blue_El_a240b60_2

Blue_El_a240b60_3

Green_El_a120b60_1

Green_El_a120b60_2

Green_El_a120b60_3

Green_El_a180b60_1

Green_El_a180b60_2

Green_El_a180b60_2

Green_El_a240b60_1

Green_El_a240b60_2

Green_El_a240b60_3

Red_El_a120b60_1

Red_El_a120b60_2

Red_El_a120b60_3

Red_El_a180b60_1

Red_El_a180b60_2

Red_El_a180b60_3

Red_El_a240b60_1

Red_El_a240b60_2

Red_El_a240b60_1

A.2 Data Citra Masukan Sistem (Webcam)

bluecr4cm_1

bluecr4cm_2

bluecr4cm_3

Bluecr5cm_1

Bluecr5cm_2

Page 76: Buku Lengkap

A-3

Blue_El_a6b3_1

Blue_El_a6b3_2

Blue_El_a6b3_3

Blue_El_a9b3_1

Blue_El_a9b3_2

Blue_El_a9b3_3

Blue_El_a12b3_1

Blue_El_a12b3_2

Blue_El_a12b3_3

Green_El_a6b3_1

Bluecr5cm_3

Bluecr6cm_1

Bluecr6cm_2

Bluecr6cm_3

Greencr4cm_1

Greencr4cm_2

Greencr4cm_3

Greencr5cm_1

Greencr5cm_2

Greencr5cm_3

Greencr6cm_1

Greencr6cm_2

Greencr6cm_3

Redcr4cm_1

Redcr4cm_2

Redcr4cm_3

Redcr5cm_1

Redcr5cm_2

Redcr5cm_3

Redcr6cm_1

Redcr6cm_2

Redcr6cm_3

Page 77: Buku Lengkap

A-4

Green_El_a6b3_2

Green_El_a6b3_3

Green_El_a9b3_1

Green_El_a9b3_2

Green_El_a9b3_3

Green_El_a12b3_1

Green_El_a12b3_2

Green_El_a12b3_3

Green_El_a12b3_1

Green_El_a12b3_2

Green_El_a12b3_3

Green_El_a12b3_1

Green_El_a12b3_2

Green_El_a12b3_3

Red_El_a9b3_1

Red_El_a9b3_2

Red_El_a9b3_3

Page 78: Buku Lengkap

A-5

A.3 Citra yang dibangkitkan Komputer (Lingkaran)

Nama (*.bmp) Maxima STDEV DetectHough

Time (s)R Xo Yo Fitting

bluecr60px_1 24 0.393875 Circle 2,88172 60 84 222 v

bluecr60px_2 24 0.37109 Circle 3,09584 60 334 226 v

bluecr60px_3 24 0.333584 Circle 2,86264 60 565 226 v

bluecr90px_1 26 0.498437 Circle 4,91667 90 114 221 v

bluecr90px_2 26 0.518863 Circle 4,91346 90 352 221 v

bluecr90px_3 26 0.509848 Circle 4,81568 90 542 221 v

bluecr120px_1 29 0.369244 Circle 5,91623 125 142 225 v

bluecr120px_2 31 0.420916 Circle 6,40437 120 314 226 v

bluecr120px_3 31 0.460813 Circle 6,16864 120 512 226 v

greencr60px_1 25 0.319347 Circle 2,73354 60 100 226 v

greencr60px_2 28 0.386872 Circle 2,93146 60 334 222 v

greencr60px_3 24 0.241558 Circle 2,74707 60 565 226 v

greencr90px_1 26 0.493775 Circle 4,85622 90 114 221 v

greencr90px_2 28 0.498917 Circle 5,0988 90 360 221 v

greencr90px_3 26 0.492019 Circle 4,98247 90 540 221 v

greencr120px_1 37 0.44818 Circle 6,11197 120 133 226 v

greencr120px_2 36 0.443273 Circle 6,18032 120 336 226 v

greencr120px_3 36 0.432661 Circle 6,00264 120 507 226 v

redcr60px_1 24 0.358759 Circle 2,60935 60 84 222 v

redcr60px_2 24 0.258155 Circle 2,8611 60 332 222 v

redcr60px_3 24 0.241558 Circle 2,73773 60 561 222 v

redcr90px_1 26 0.49672 Circle 4,84964 90 114 221 v

redcr90px_2 29 0.509848 Circle 4,92341 90 346 221 v

redcr90px_3 29 0.501172 Circle 4,69682 90 536 221 v

redcr120px_1 31 0.381892 Circle 5,90475 125 142 225.5 v

redcr120px_2 38 0.423963 Circle 6,72569 125 336 225 v

redcr120px_3 34 0.364805 Circle 6,03126 120 506 225 v

Page 79: Buku Lengkap

A-6

A.4 Citra yang dibangkitkan komputer (Elips)

Nama (*.bmp) Maxima STDEV DetectHough

Time (s)x0 y0 Major Minor Alpha Fitting

Blue_El_a120b60_1 42 4,62561 Ellipse 0,293141 327 77 122,01 61 0.0613 v

Blue_El_a120b60_2 42 4,59149 Ellipse 0,282632 327 241 122,02 63 0.0204 v

Blue_El_a120b60_3 52 4,59821 Ellipse 0,269824 327 409 122,01 63 0.0613 v

Blue_El_a180b60_1 75 9,11675 Ellipse 0,486872 327 80,5 182 63 -0.082 v

Blue_El_a180b60_2 78 9,0722 Ellipse 0,484603 327,5 241 181,5 60 -0.0055 v

Blue_El_a180b60_3 72 9,06618 Ellipse 0,495971 327 405 182 63 0 v

Blue_El_a240b60_1 88 12,7138 Ellipse 0,774286 327,5 68 237,5 49 0.0042 v

Blue_El_a240b60_2 91 13,0592 Ellipse 0,793818 327 221,5 242 59 0.0020 v

Blue_El_a240b60_3 95 13,0188 Ellipse 0,790804 327 401 241 55 0 v

Green_El_a120b60_1 39 4,60964 Ellipse 0,276971 327 74 122,03 63 -0.024 v

Green_El_a120b60_2 38 4,61374 Ellipse 0,267773 327 246 122,01 59 -0.016 v

Green_El_a120b60_3 38 4,56823 Ellipse 0,274817 327 406,5 122,02 63 -0.02 v

Green_El_a180b60_1 54 9,13796 Ellipse 0,486753 327 82 182 60 0.0054 v

Green_El_a180b60_2 62 9,03263 Ellipse 0,480435 327 247,5 182 63 -0.0027 v

Green_El_a180b60_3 62 9,05478 Ellipse 0,489086 327 406 182,01 63 0.0109 v

Green_El_a240b60_1 90 13,0865 Ellipse 0,798998 323,5 97,5 236,54 50 0.019 v

Green_El_a240b60_2 93 13,3505 Ellipse 0,774303 326 222,5 241,01 55 -0.010 v

Green_El_a240b60_3 98 13,0146 Ellipse 0,799777 326,5 405 241,5 57 -0.08 v

Red_El_a120b60_1 41 4,62458 Ellipse 0,269198 327 76,5 122,05 63 0.0286 v

Red_El_a120b60_2 41 4,63608 Ellipse 0,277272 327 240 122 60 0 v

Red_El_a120b60_3 52 4,59015 Ellipse 0,270811 327 410,5 122 57 -0.0040 v

Red_El_a180b60_1 78 9,11606 Ellipse 0,486679 327,5 76,5 182 59 -0.0027 v

Red_El_a180b60_2 75 9,0604 Ellipse 0,489915 329 235,5 179,03 51 0.019 v

Red_El_a180b60_3 61 9,08189 Ellipse 0,483894 327 406.5 182 58 -0.0027 v

Red_El_a240b60_1 92 12,5993 Ellipse 0,788611 323,5 65,5 234,52 47 -0.014 v

Red_El_a240b60_2 95 13,0535 Ellipse 0,789415 326,5 211 236,5 48 0 v

Red_El_a240b60_3 91 12,8783 Ellipse 0,766128 327 410.5 242,02 63 0.0144 v

Page 80: Buku Lengkap

A-7

A.5 Citra yang di-capture oleh webcam (Lingkaran)

Nama (*.bmp) Maxima STDEV DetectHough

Time (s)R X0 Y0 Fitting

bluecr4cm_1 36 0,67101 Circle 5,76711 110 149 196 V

bluecr4cm_2 34 0,46305 Circle 5,17532 100 321 189 V

bluecr4cm_3 36 0,5604 Circle 4,82186 95 430 224 V

bluecr5cm_1 40 0,82391 Ellipse 0,440093 129,62/126 186 191,5 V

bluecr5cm_2 33 0,69849 Circle 6,55902 125 293 248 V

bluecr5cm_3 37 0,60061 Circle 6,34951 120 398 229 V

bluecr6cm_1 37 0,81136 Ellipse 0,51657 144,33/141 181,5 196,5 V

bluecr6cm_2 51 0,67686 Circle 7,12787 145 292 220 V

bluecr6cm_3 36 0,85557 Ellipse 0,480189 140,48/137 413,5 230,5 V

greencr4cm_1 38 0,65842 Circle 5,48206 100 165 181 V

greencr4cm_2 34 0,46855 Circle 4,95569 95 305 211 V

greencr4cm_3 34 0,52814 Circle 4,79566 90 454 238 V

greencr5cm_1 38 0,76287 Circle 6,16207 125 178 209 V

greencr5cm_2 44 0,50577 Circle 6,44107 130 296 219 V

greencr5cm_3 41 0,7606 Circle 6,3867 130 428 225 V

greencr6cm_1 36 0,55558 Circle 6,6007 150 204 204 V

greencr6cm_2 36 0,52016 Circle 7,56232 150 295 251 V

greencr6cm_3 41 0,78321 Circle 7,16592 150 385 268 V

redcr4cm_1 36 0,82575 Ellipse 0,26927 97,37/93 137,5 194 V

redcr4cm_2 37 0,65443 Circle 4,91597 95 292 249 V

redcr4cm_3 29 0,50913 Circle 5,33332 95 431 202 V

redcr5cm_1 48 1,02207 Ellipse 0,430528 129,47/125 166,5 227,5 V

redcr5cm_2 45 0,53937 Circle 6,37088 120 299 223 V

redcr5cm_3 38 0,69806 Circle 6,13225 125 425 214 V

redcr6cm_1 49 0,73961 Circle 6,83328 150 185 192 V

redcr6cm_2 45 0,5009 Circle 7,56268 150 255 232 V

redcr6cm_3 43 0,77193 Circle 6,86339 140 408 231 V

Page 81: Buku Lengkap

A-8

A.6 Citra yang Di-capture oleh Webcam (Elips)

Nama (*.bmp) Maxima STDEV DetectHough

Time (s)X0 Y0 major minor alpha Fitting

Blue_El_a6b3_1 45 10,2063 Ellipse 0,408954 291 126 151,74 71 -0,099 V

Blue_El_a6b3_2 47 10,1821 Ellipse 0,381426 293 201 150,08 74 -0,1202 V

Blue_El_a6b3_3 57 10,5576 Ellipse 0,371209 270,5 334,5 150,3 71 -0,1033 V

Blue_El_a9b3_1 72 19,693 Ellipse 0,67828 293 120 224,14 74 -0,0356 V

Blue_El_a9b3_2 77 19,8521 Ellipse 0,669184 310,5 199 223,5 74 -0,0089 V

Blue_El_a9b3_3 62 19,8188 Ellipse 0,645903 309 318,5 222,01 66 -0,0112 V

Blue_El_a12b3_1 106 28,1488 Ellipse 0,986363 300,5 111 289,64 73 -0,031 V

Blue_El_a12b3_2 87 27,9297 Ellipse 0,993789 296,5 200,5 284,52 60 -0,0123 V

Blue_El_a12b3_3 142 27,4525 Ellipse 0,902958 294,5 320 277,54 63 0,018 V

Green_El_a6b3_1 46 9,66008 Ellipse 0,360079 300 127 144,12 74 -0,1252 V

Green_El_a6b3_2 43 10,0618 Ellipse 0,359156 282 201 147,23 70 -0,129 V

Green_El_a6b3_3 48 10,2559 Ellipse 0,362627 258,5 324,5 145,41 68 -0,162 V

Green_El_a9b3_1 87 19,5207 Ellipse 0,670796 305 136 222,02 70 -0,0135 V

Green_El_a9b3_2 101 19,5672 Ellipse 0,670726 320,5 214 221,64 73 -0,0361 V

Green_El_a9b3_3 88 19,1504 Ellipse 0,645477 281 344 215,03 64 -0,018 V

Green_El_a12b3_1 108 28,4225 Ellipse 1,03744 303,5 148,5 291,52 71 -0,912 V

Green_El_a12b3_2 88 28,3227 Ellipse 0,983738 308 235,5 288,03 72 -0,0156 V

Green_El_a12b3_3 101 29,1703 Ellipse 1,14505 316,5 359 295,5 62 0 V

Red_El_a6b3_1 43 8,41993 Ellipse 0,302117 260 118,5 127,07 59 -0,13 V

Red_El_a6b3_2 43 8,47459 Ellipse 0,275336 267,5 238 124,46 63 -0,1776 V

Red_El_a6b3_3 53 8,29114 Ellipse 0,26457 277,5 290,5 121,62 60 -0,136 V

Red_El_a9b3_1 60 20,4521 Ellipse 0,688713 293 128 232,49 77 -0,1467 V

Red_El_a9b3_2 71 20,4809 Ellipse 0,688713 293 128 232,49 77 -0,1467 V

Red_El_a9b3_3 72 21,1312 Ellipse 0,711247 302,5 321,5 236,47 76 -0,129 V

Red_El_a12b3_1 90 29,0112 Ellipse 1,03477 304 114 297,04 73 -0,0168 V

Red_El_a12b3_2 93 28,3614 Ellipse 1,01384 301 191,5 288,03 63 -0,0156 V

Red_El_a12b3_3 96 26,6324 Ellipse 0,899447 298 343 269,03 63 0,0148 V

Page 82: Buku Lengkap

B-1

LAMPIRAN B

Data Uji Eksentrisitas

B.1 Data Citra Eksentrisitas Masukan Sistem (CorelDraw/Komputer)

1(e=0,2)

2(e=0,2)

3(e=0,2)

4(e=0,2)

5(e=0,2)

5(e=0,2)

1(e=0,3)

2(e=0,3)

3(e=0,3)

4(e=0,3)

5(e=0,3)

6(e=0,3)

1(e=0,4)

2(e=0,4)

3(e=0,4)

4(e=0,4)

5(e=0,4)

6(e=0,4)

1(e=0,5)

2(e=0,5)

3(e=0,5)

4(e=0,5)

5(e=0,5)

6(e=0,5)

1(e=0,8)

2(e=0,8)

3(e=0,8)

4(e=0,8)

5(e=0,8)

6(e=0,8)

Page 83: Buku Lengkap

B-2

B.2 Data Citra Eksentrisitas Masukan Sistem (Webcam)

1(e=0,2)

2(e=0,2)

3(e=0,2)

4(e=0,2)

5(e=0,2)

6(e=0,2)

1(e=0,3)

2(e=0,3)

3(e=0,3)

4(e=0,3)

5(e=0,3)

6(e=0,3)

1(e=0,4)

2(e=0,4)

3(e=0,4)

4(e=0,4)

5(e=0,4)

6(e=0,4)

1(e=0,5)

2(e=0,5)

3(e=0,5)

4(e=0,5)

5(e=0,5)

6(e=0,5)

1(e=0,8)

2(e=0,8)

3(e=0,8)

4(e=0,8)

5(e=0,8)

6(e=0,8)

Page 84: Buku Lengkap

B-3

B.3 Hasil Uji Deteksi Elips Eksentrisitas 0.2 (Komputer)

B.4 Hasil Uji Deteksi Elips Eksentrisitas 0.3 (Komputer)

B.5 Hasil Uji Deteksi Elips Eksentrisitas 0,4 (Komputer)

B.6 Hasil Uji Deteksi Elips Eksentrisitas 0,5 (Komputer)

Nama Maxima STDEV DetectHough

Time (s)Fitting

1.bmp 22 0,51905 Circle 2,6142 v

2.bmp 22 0,42489 Circle 2,91523 v

3.bmp 24 0,45115 Circle 3,33835 v

4.bmp 24 0.447919 Circle 4,28381 v

5.bmp 28 0,46305 Circle 4,30328 v

6.bmp 26 0,55838 Circle 6,02871 v

Nama Maxima STDEV DetectHough

Time (s)Fitting

1.bmp 30 0,58353 Circle 2,53533 v

2.bmp 23 0,60284 Circle 2,78549 v

3.bmp 33 0,5814 Circle 3,4007 v

4.bmp 25 0,64235 Circle 2,4007 v

5.bmp 33 0,73178 Circle 4,97143 v

6.bmp 33 0,86585 Ellipse 0,401225 v

Nama Maxima STDEV DetectHough

Time (s)Fitting

1.bmp 24 0,71673 Circle 2,41392 v

2.bmp 24 0,82373 Ellipse 0,15233 v

3.bmp 33 0,93707 Ellipse 0,17175 v

4.bmp 31 1,02987 Ellipse 0,212764 v

5.bmp 33 1,17927 Ellipse 0,270165 v

6.bmp 35 1,42376 Ellipse 0,3588 v

Nama Maxima STDEV DetectHough

Time (s)Fitting

1.bmp 20 1,13527 Ellipse 0,107937 v

2.bmp 23 1,277 Ellipse 0,128783 v

3.bmp 23 1,34713 Ellipse 0,154081 v

4.bmp 25 1,59026 Ellipse 0,184467 v

5.bmp 26 1,79679 Ellipse 0,248539 v

6.bmp 28 2,20145 Ellipse 0,314857 v

Page 85: Buku Lengkap

B-4

B.7 Hasil Uji Deteksi Elips Eksentrisitas 0.8 (Komputer)

B.8 Hasil Uji Deteksi Elips Eksentrisitas 0.2 (Webcam)

B.9 Hasil Uji Deteksi Elips Eksentrisitas 0.3 (Webcam)

B.10 Hasil Uji Deteksi Elips Eksentrisitas 0.4 (Webcam)

Nama Maxima STDEV DetectHough

Time (s)Fitting

1.bmp 27 3,17312 Ellipse 0,0915031 v

2.bmp 28 3,48287 Ellipse 0,107163 v

3.bmp 29 3,96278 Ellipse 0,123373 v

4.bmp 35 4,50895 Ellipse 0,167602 v

5.bmp 31 5,2522 Ellipse 0,201616 v

6.bmp 33 6,31676 Ellipse 0,266329 v

Nama Maxima STDEV DetectHough

Time (s)Fitting

1.bmp 24 0,52449 Circle 2,25877 v

2.bmp 25 0,45058 Circle 2,75116 v

3.bmp 34 0,43507 Circle 3,26244 v

4.bmp 32 0,51318 Circle 3,90366 v

5.bmp 27 0,49726 Circle 4,72903 v

6.bmp 32 0,50115 Circle 5,41935 v

Nama Maxima STDEV DetectHough

Time (s)Fitting

1.bmp 24 0,64721 Circle 2,32052 v

2.bmp 33 0,5489 Circle 2,68844 v

3.bmp 28 0,75816 Circle 3,19548 v

4.bmp 27 0,93556 Ellipse 0,215089 v

5.bmp 29 0,89008 Ellipse 0,253678 v

6.bmp 35 0,93513 Ellipse 0,289229 v

Nama Maxima STDEV DetectHough

Time (s)Fitting

1.bmp 26 0,80933 Ellipse 0,10632 v

2.bmp 26 0,86437 Ellipse 0,141876 v

3.bmp 33 0,94308 Ellipse 0,16958 v

4.bmp 36 1,12416 Ellipse 0,212106 v

5.bmp 28 1,22534 Ellipse 0,243531 v

6.bmp 36 1,34053 Ellipse 0,277009 v

Page 86: Buku Lengkap

B-5

B.11 Hasil Uji Deteksi Elips Eksentrisitas 0.5 (Webcam)

B.12 Hasil Uji Deteksi Elips Eksentrisitas 0.8 (Webcam)

Nama Maxima STDEV Detect Hough Time (s)

Fitting

1.bmp 35 2,97807 Ellipse 0,093273 v

2.bmp 34 3,32669 Ellipse 0,113877 v

3.bmp 38 3,84651 Ellipse 0,140291 v

4.bmp 37 4,69523 Ellipse 0,17692 v

5.bmp 37 4,92724 Ellipse 0,192726 v

6.bmp 44 5,40672 Ellipse 0,237111 v

Nama Maxima STDEV DetectHough

Time (s)Fitting

1.bmp 28 1,14126 Ellipse 0,113796 v

2.bmp 29 1,18404 Ellipse 0,141964 v

3.bmp 33 1,30725 Ellipse 0,179042 v

4.bmp 38 1,61854 Ellipse 0,202075 v

5.bmp 33 1,68852 Ellipse 0,246065 v

6.bmp 34 1,8615 Ellipse 0,279404 v

Page 87: Buku Lengkap

C-1

LAMPIRAN C

Data Uji dengan Derau MATLAB

C.1 Deteksi Jenis dan Rekonstruksi Elips dan Lingkaran pada Citra Komputer dan

Webcam dengan Derau Poisson

Keterangan :

V = Sesuai/Benar

X = Tidak Sesuai/Tidak benar

Tabel kiri merupakan citra hasil capture lewat webcam, tabel kanan citra hasil buatan

komputer

No Nama (*.bmp) Jenis Fitting Waktu (s) No Nama (*.bmp) Jenis Fitting Waktu

1 bluecr4cm_2 v v 5,17873 1 bluecr60px_2 v v 2,65611

2 bluecr5cm_2 v v 6,45202 2 bluecr90px_2 v v 4,62348

3 bluecr6cm_2 v v 6,93096 3 bluecr120px_2 v v 5,89796

4 greencr4cm_2 v v 4,55676 4 greencr60px_2 v v 2,66683

5 greencr5cm_2 v v 6,11272 5 greencr90px_2 v v 4,69994

6 greencr6cm_2 v v 6,93015 6 greencr120px_2 v v 5,95945

7 redcr4cm_2 v v 4,81164 7 redcr60px_2 v v 2,68108

8 redcr5cm_2 v v 6,25321 8 redcr120px_2 v v 4,74378

9 redcr6cm_2 v v 6,83066 9 redcr180px_2 v v 5,94794

10 Blue_El_a6b3_2 v v 0,39579 10 Blue_El_a120b60_2 v v 0,24942

11 Blue_El_a9b3_2 v v 0,684234 11 Blue_El_a180b60_2 v v 0,45725

12 Blue_El_a12b3_2 v v 0,954356 12 Blue_El_a240b60_2 v v 0,74492

13 Green_El_a6b3_2 v v 0,347054 13 Green_El_a120b60_2 v v 0,25991

14 Green_El_a9b3_2 v v 0,62103 14 Green_El_a180b60_2 v v 0,45977

15 Green_El_a12b3_2 v X 0,869178 15 Green_El_a240b60_2 v v 0,73486

16 Red_El_a6b3_2 v v 0,283753 16 Red_El_a120b60_2 v v 0,24793

17 Red_El_a9b3_2 v v 0,697889 17 Red_El_a180b60_2 v v 0,45289

18 Red_El_a12b3_2 v v 0,982713 18 Red_El_a240b60_2 v v 0.714167

Page 88: Buku Lengkap

C-2

C.2 Deteksi Jenis Elips dan Lingkaran pada Citra webcam dengan Derau Speckle

C.3 Rekonstruksi Elips dan Lingkaran pada Citra webcam dengan Derau Speckle

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr4cm_2 V V X X X X X X X

2 bluecr5cm_2 V X X X X X X X X

3 bluecr6cm_2 V X X X X X X X X

4 greencr4cm_2 V X X X X X X X X

5 greencr5cm_2 V X X X X X X X X

6 greencr6cm_2 V X X X X X X X X

7 redcr4cm_2 V V V X X X X X X

8 redcr5cm_2 V V V X X X X X X

9 redcr6cm_2 V V V X X X X X X

10 Blue_El_a6b3_2 V V V V V V V V V

11 Blue_El_a9b3_2 V V V V V V V V V

12 Blue_El_a12b3_2 V V V V V V V V V

13 Green_El_a6b3_2 V V V V V V V V V

14 Green_El_a9b3_2 V X X X X X X X X

15 Green_El_a12b3_2 V X X X X X X X X

16 Red_El_a6b3_2 V V V V V V V V V

17 Red_El_a9b3_2 V V V V V V V V V

18 Red_El_a12b3_2 V V V V V V V V V

varianceNama (*.bmp)No

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr4cm_2 V V X X X X X X X

2 bluecr5cm_2 V V V X X X X X X

3 bluecr6cm_2 V V V X X X X X X

4 greencr4cm_2 V X X X X X X X X

5 greencr5cm_2 V X X X X X X X X

6 greencr6cm_2 V X X X X X X X X

7 redcr4cm_2 V V V X X X X X X

8 redcr5cm_2 V V V X X X X X X

9 redcr6cm_2 V V V X X X X X X

10 Blue_El_a6b3_2 V V V X X X X X X

11 Blue_El_a9b3_2 V V V X X X X X X

12 Blue_El_a12b3_2 V V V X X X X X X

13 Green_El_a6b3_2 V X X X X X X X X

14 Green_El_a9b3_2 V X X X X X X X X

15 Green_El_a12b3_2 V X X X X X X X X

16 Red_El_a6b3_2 V V V X X X X X X

17 Red_El_a9b3_2 V V V X X X X X X

18 Red_El_a12b3_2 V V V X X X X X X

No Namavariance

Page 89: Buku Lengkap

C-3

C.4 Deteksi Jenis Elips dan Lingkaran pada Citra Komputer dengan Derau Speckle

C.5 Rekonstruksi Elips dan Lingkaran pada Citra Komputer dengan Derau Speckle

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr60px_2 V V V V X X X X X

2 bluecr90px_2 V V V V X X X X X

3 bluecr120px_2 V V V V X X X X X

4 greencr60px_2 V V V V X X X X X

5 greencr90px_2 V V V V X X X X X

6 greencr120px_2 V V V V X X X X X

7 redcr60px_2 V V V V X X X X X

8 redcr120px_2 V V V V X X X X X

9 redcr180px_2 V V V X X X X X X

10 Blue_El_a120b60_2 V V V V V V V V V

11 Blue_El_a180b60_2 V V V V V V V V V

12 Blue_El_a240b60_2 V V V V V V V V V

13 Green_El_a120b60_2 V V V V V V V V V

14 Green_El_a180b60_2 V V V V V V V V V

15 Green_El_a240b60_2 V V V V V V V V V

16 Red_El_a120b60_2 V V V V V V V V V

17 Red_El_a180b60_2 V V V V V V V V V

18 Red_El_a240b60_2 V V V V V V V V V

No Nama (*.bmp)variance

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr60px_2 V V V V X X X X X

2 bluecr90px_2 V V V V X X X X X

3 bluecr120px_2 V V V V X X X X X

4 greencr60px_2 V V V V X X X X X

5 greencr90px_2 V V V V X X X X X

6 greencr120px_2 V V V V X X X X X

7 redcr60px_2 V V V V X X X X X

8 redcr120px_2 V V V V X X X X X

9 redcr180px_2 V V V V X X X X X

10 Blue_El_a120b60_2 V V V V X X X X X

11 Blue_El_a180b60_2 V V V V X X X X X

12 Blue_El_a240b60_2 V V V V X X X X X

13 Green_El_a120b60_2 V V V V X X X X X

14 Green_El_a180b60_2 V V V V X X X X X

15 Green_El_a240b60_2 V V V V X X X X X

16 Red_El_a120b60_2 V V V V X X X X X

17 Red_El_a180b60_2 V V V V X X X X X

18 Red_El_a240b60_2 V V V V X X X X X

varianceNo Nama

Page 90: Buku Lengkap

C-4

C.6 Deteksi Jenis Elips dan Lingkaran pada Citra Webcam dengan Derau Salt and

Pepper

C.7 Rekonstruksi Elips dan Lingkaran pada Citra Komputer dengan Derau Salt

and Pepper

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr4cm_2 V V V X X X X X X

2 bluecr5cm_2 V V V X X X X X X

3 bluecr6cm_2 V V V X X X X X X

4 greencr4cm_2 V V V X X X X X X

5 greencr5cm_2 V V V X X X X X X

6 greencr6cm_2 V V V X X X X X X

7 redcr4cm_2 V V V V X X X X X

8 redcr5cm_2 V V V V X X X X X

9 redcr6cm_2 V V V V X X X X X

10 Blue_El_a6b3_2 V V V V V V V V V

11 Blue_El_a9b3_2 V V V V V V V V V

12 Blue_El_a12b3_2 V V V V V V V V V

13 Green_El_a6b3_2 V V V V V V V V V

14 Green_El_a9b3_2 V V V V V V V V V

15 Green_El_a12b3_2 V V V V V V V V V

16 Red_El_a6b3_2 V V V V V V V V V

17 Red_El_a9b3_2 V V V V V V V V V

18 Red_El_a12b3_2 V V V V V V V V V

No Nama (*.bmp)Noise Density

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr4cm_2 V V V V V X X X X

2 bluecr5cm_2 V V V V X X X X X

3 bluecr6cm_2 V V V V X X X X X

4 greencr4cm_2 V V V X V X X X X

5 greencr5cm_2 V V V X V X X X X

6 greencr6cm_2 V V V X V X X X X

7 redcr4cm_2 V V V V X X X X X

8 redcr5cm_2 V V V V X X X X X

9 redcr6cm_2 V V V V V X X X X

10 Blue_El_a6b3_2 V V V V X X X X X

11 Blue_El_a9b3_2 V V V V X X X X X

12 Blue_El_a12b3_2 V V V V X X X X X

13 Green_El_a6b3_2 V V V X V X X X X

14 Green_El_a9b3_2 V V V V X X X X X

15 Green_El_a12b3_2 V V V V X X X X X

16 Red_El_a6b3_2 V V V V X X X X X

17 Red_El_a9b3_2 V V V V X X X X X

18 Red_El_a12b3_2 V V V V X X X X X

No Nama (*.bmp)Noise Density

Page 91: Buku Lengkap

C-5

C.8 Deteksi Jenis Elips dan Lingkaran pada Citra Komputer dengan Derau Salt and

Pepper

C.9 Rekonstruksi Elips dan Lingkaran pada Citra Komputer dengan Derau Salt

and Pepper

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr60px_2 V V V V V X X X X

2 bluecr90px_2 V V V V V X X X X

3 bluecr120px_2 V V V V X X X X X

4 greencr60px_2 V V V V X X X X X

5 greencr90px_2 V V V V X X X X X

6 greencr120px_2 V V V V X X X X X

7 redcr60px_2 V V V V V X X X X

8 redcr90px_2 V V V V V X X X X

9 redcr120px_2 V V V V X X X X X

10 Blue_El_a120b60_2 V V V V V V V V V

11 Blue_El_a180b60_2 V V V V V V V V V

12 Blue_El_a240b60_2 V V V V V V V V V

13 Green_El_a120b60_2 V V V V V V V V V

14 Green_El_a180b60_2 V V V V V V V V V

15 Green_El_a240b60_2 V V V V V V V V V

16 Red_El_a120b60_2 V V V V V V V V V

17 Red_El_a180b60_2 V V V V V V V V V

18 Red_El_a240b60_2 V V V V V V V V V

No Nama (*.bmp)Noise Density

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr60px_2 V V V V V X X X X

2 bluecr90px_2 V V V V V X X X X

3 bluecr120px_2 V V V V V X X X X

4 greencr60px_2 V V V V V X X X X

5 greencr90px_2 V V V V V X X X X

6 greencr120px_2 V V V V V X X X X

7 redcr60px_2 V V V V V X X X X

8 redcr90px_2 V V V V V X X X X

9 redcr120px_2 V V V V V X X X X

10 Blue_El_a120b60_2 V V V V V X X X X

11 Blue_El_a180b60_2 V V V V V X X X X

12 Blue_El_a240b60_2 V V V V V X X X X

13 Green_El_a120b60_2 V V V V V X X X X

14 Green_El_a180b60_2 V V V V V X X X X

15 Green_El_a240b60_2 V V V V V X X X X

16 Red_El_a120b60_2 V V V V V X X X X

17 Red_El_a180b60_2 V V V V V X X X X

18 Red_El_a240b60_2 V V V V V X X X X

No Namavariance

Page 92: Buku Lengkap

C-6

C.10 Deteksi Jenis Elips dan Lingkaran pada Citra Webcam dengan Derau Gaussian

(mean=0)

C.11 Rekonstruksi Elips dan Lingkaran pada Citra Webcam dengan Derau Gaussian

(mean=0)

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr4cm_2 V X X X X X X X X

2 bluecr5cm_2 V V X X X X X X X

3 bluecr6cm_2 V V X X X X X X X

4 greencr4cm_2 V X X X X X X X X

5 greencr5cm_2 V X X X X X X X X

6 greencr6cm_2 V X X X X X X X X

7 redcr4cm_2 V V X X X X X X X

8 redcr5cm_2 V V X X X X X X X

9 redcr6cm_2 V V X X X X X X X

10 Blue_El_a6b3_2 V V V V V V V V V

11 Blue_El_a9b3_2 V V V V V V V V V

12 Blue_El_a12b3_2 V V V V V V V V V

13 Green_El_a6b3_2 V V V V V V V V V

14 Green_El_a9b3_2 V V V V V V V V V

15 Green_El_a12b3_2 V V V V V V V V V

16 Red_El_a6b3_2 V V V V V V V V V

17 Red_El_a9b3_2 V V V V V V V V V

18 Red_El_a12b3_2 V V V V V V V V V

No Nama (*.bmp)Variance

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr4cm_2 V X X X X X X X X

2 bluecr5cm_2 V V X X X X X X X

3 bluecr6cm_2 V V X X X X X X X

4 greencr4cm_2 V X X X X X X X X

5 greencr5cm_2 V X X X X X X X X

6 greencr6cm_2 V V X X X X X X X

7 redcr4cm_2 V V X X X X X X X

8 redcr5cm_2 V V X X X X X X X

9 redcr6cm_2 V V X X X X X X X

10 Blue_El_a6b3_2 V V X X X X X X X

11 Blue_El_a9b3_2 V V X X X X X X X

12 Blue_El_a12b3_2 V V X X X X X X X

13 Green_El_a6b3_2 V X X X X X X X X

14 Green_El_a9b3_2 V V X X X X X X X

15 Green_El_a12b3_2 V V X X X X X X X

16 Red_El_a6b3_2 V V X X X X X X X

17 Red_El_a9b3_2 V V X X X X X X X

18 Red_El_a12b3_2 V V X X X X X X X

No Nama (*.bmp)Variance

Page 93: Buku Lengkap

C-7

C.12 Deteksi Jenis Elips dan Lingkaran pada Citra Komputer dengan Derau

Gaussian (mean=0)

C.13 Rekonstruksi Elips dan Lingkaran pada Citra Komputer dengan Derau

Gaussian (mean=0)

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr60px_2 V V V V X X X X X

2 bluecr90px_2 V V V V X X X X X

3 bluecr120px_2 V V V V X X X X X

4 greencr60px_2 V V V V X X X X X

5 greencr90px_2 V V V V V X X X X

6 greencr120px_2 V V V V V X X X X

7 redcr60px_2 V V V V V X X X X

8 redcr90px_2 V V V V X X X X X

9 redcr120px_2 V V V V X X X X X

10 Blue_El_a120b60_2 V V V V V V V V V

11 Blue_El_a180b60_2 V V V V V V V V V

12 Blue_El_a240b60_2 V V V V V V V V V

13 Green_El_a120b60_2 V V V V V V V V V

14 Green_El_a180b60_2 V V V V V V V V V

15 Green_El_a240b60_2 V V V V V V V V V

16 Red_El_a120b60_2 V V V V V V V V V

17 Red_El_a180b60_2 V V V V V V V V V

18 Red_El_a240b60_2 V V V V V V V V V

No Nama (*.bmp)Noise Density

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr60px_2 V V V V V X X X X

2 bluecr90px_2 V V V V V X X X X

3 bluecr120px_2 V V V V V X X X X

4 greencr60px_2 V V V V X X X X X

5 greencr90px_2 V V V V V X X X X

6 greencr120px_2 V V V V V X X X X

7 redcr60px_2 V V V V V X X X X

8 redcr90px_2 V V V V V X X X X

9 redcr120px_2 V V V V V X X X X

10 Blue_El_a120b60_2 V V V V V X X X X

11 Blue_El_a180b60_2 V V V V V X X X X

12 Blue_El_a240b60_2 V V V V V X X X X

13 Green_El_a120b60_2 V V V V V X X X X

14 Green_El_a180b60_2 V V V V V X X X X

15 Green_El_a240b60_2 V V V V V X X X X

16 Red_El_a120b60_2 V V V V V X X X X

17 Red_El_a180b60_2 V V V V X X X X X

18 Red_El_a240b60_2 V V V V V X X X X

varianceNo Nama

Page 94: Buku Lengkap

C-8

C.14 Deteksi Jenis Elips dan Lingkaran pada Citra Webcam dengan Derau Gaussian

(variance=0,01)

C.15 Rekonstruksi Elips dan Lingkaran pada Citra Webcam dengan Derau Gaussian

(variance=0,01)

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr4cm_2 V V V X X X X X X

2 bluecr5cm_2 V V X X X X X X X

3 bluecr6cm_2 V V X X X X X X X

4 greencr4cm_2 V X X X X X X X X

5 greencr5cm_2 V X X X X X X X X

6 greencr6cm_2 X X X X X X X X X

7 redcr4cm_2 V V V X X X X X X

8 redcr5cm_2 V V V X X X X X X

9 redcr6cm_2 V V V X X X X X X

10 Blue_El_a6b3_2 V V V X X X X X X

11 Blue_El_a9b3_2 V V V X X X X X X

12 Blue_El_a12b3_2 V V V X X X X X X

13 Green_El_a6b3_2 V X X X X X X X X

14 Green_El_a9b3_2 V X X X X X X X X

15 Green_El_a12b3_2 V X X X X X X X X

16 Red_El_a6b3_2 V V V V V V V X X

17 Red_El_a9b3_2 V V V V V X V X X

18 Red_El_a12b3_2 V V V V V V V X X

No Nama (*.bmp)Mean

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr4cm_2 V V V X X X X X X

2 bluecr5cm_2 V V V X X X X X X

3 bluecr6cm_2 V V V X X X X X X

4 greencr4cm_2 V X X X X X X X X

5 greencr5cm_2 V X X X X X X X X

6 greencr6cm_2 X X X X X X X X X

7 redcr4cm_2 V V V V V V V X X

8 redcr5cm_2 V V V V V V V X X

9 redcr6cm_2 V V V V V V V X X

10 Blue_El_a6b3_2 V V V X X X X X X

11 Blue_El_a9b3_2 V V V X X X X X X

12 Blue_El_a12b3_2 V V V X X X X X X

13 Green_El_a6b3_2 V X X X X X X X X

14 Green_El_a9b3_2 V X X X X X X X X

15 Green_El_a12b3_2 V X X X X X X X X

16 Red_El_a6b3_2 V V V V X X X X X

17 Red_El_a9b3_2 V V V V X X X X X

18 Red_El_a12b3_2 V V V V X X X X X

No Nama (*.bmp)Mean

Page 95: Buku Lengkap

C-9

C.16 Deteksi Jenis Elips dan Lingkaran pada Citra Komputer dengan Derau

Gaussian (variance=0,01)

C.17 Rekonstruksi Elips dan Lingkaran pada Citra Komputer dengan Derau

Gaussian (variance=0,01)

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr60px_2 V V V V V V V V V

2 bluecr90px_2 V V V V V V V V V

3 bluecr120px_2 V V V V V V V V V

4 greencr60px_2 V V V V V V V X X

5 greencr90px_2 V V V V V V V X X

6 greencr120px_2 V V V V V V V X X

7 redcr60px_2 V V V V V V V V V

8 redcr90px_2 V V V V V V V V V

9 redcr120px_2 V V V V V V V X X

10 Blue_El_a120b60_2 V V V V V V V V V

11 Blue_El_a180b60_2 V V V V V V V V V

12 Blue_El_a240b60_2 V V V V V V V V V

13 Green_El_a120b60_2 V V V V V V V X X

14 Green_El_a180b60_2 V V V V V V V X X

15 Green_El_a240b60_2 V V V V V V V X X

16 Red_El_a120b60_2 V V V V V V V V V

17 Red_El_a180b60_2 V V V V V V V V V

18 Red_El_a240b60_2 V V V V V V V V V

No Nama (*.bmp)Mean

0 0,05 0,1 0,2 0,3 0,4 0,5 0,6 0,7

1 bluecr60px_2 V V V V V V V V V

2 bluecr90px_2 V V V V V V V V V

3 bluecr120px_2 V V V V V V V V V

4 greencr60px_2 V V V V V V V X X

5 greencr90px_2 V V V V V V V X X

6 greencr120px_2 V V V V V V V X X

7 redcr60px_2 V V V V V V V V V

8 redcr90px_2 V V V V V V V V V

9 redcr120px_2 V V V V V V V V V

10 Blue_El_a120b60_2 V V V V V V V V V

11 Blue_El_a180b60_2 V V V V V V V V V

12 Blue_El_a240b60_2 V V V V V V V V V

13 Green_El_a120b60_2 V V V V V V V X X

14 Green_El_a180b60_2 V V V V V V V X X

15 Green_El_a240b60_2 V V V V V V V X X

16 Red_El_a120b60_2 V V V V V V V V V

17 Red_El_a180b60_2 V V V V V V V V V

18 Red_El_a240b60_2 V V V V V V V V V

MeanNo Nama

Page 96: Buku Lengkap

D-1

LAMPIRAN D

Data Uji dengan Citra Objek Sebenarnya

D.1 Data Citra Masukan Sistem Objek Lingkaran Ukuran Kecil

cr_bluepin_1

cr_bluepin_2

cr_bluepin_3

cr_bluepin_4

cr_brownpin_1

cr_brownpin_2

cr_brownpin_3

cr_brownpin_4

cr_coin_1

cr_coin_2

cr_coin_3

cr_coin_4

cr_greencap_1

cr_greencap_2

cr_greencap_3

cr_greencap_4

cr_vicks_1

cr_vicks_2

cr_vicks_3

cr_vicks_4

D.2 Data Citra Masukan Sistem Objek Lingkaran Ukuran Sedang

cr_donut_1

cr_donut_2

cr_donut_3

cr_donut_4

cr_lulur_1

cr_lulur_2

cr_lulur_3

cr_lulur_4

cr_orangecap_

1

cr_orangecap_

2

Page 97: Buku Lengkap

D-2

cr_orangecap_

3

cr_orangecap_

4

cr_pinkcap_1

cr_pinkcap_2

cr_pinkcap_3

cr_pinkcap_4

cr_salicyl_1

cr_salicyl_2

cr_salicyl_3

cr_salicyl_4

D.3 Data Citra Masukan Sistem Objek Lingkaran Ukuran Besar

cr_basketball_1

cr_basketball_2

cr_basketball_3

cr_basketball_4

cr_basketball_1

cr_basketball_2

cr_basketball_3

cr_basketball_4

cr_redcap_1

cr_redcap_2

cr_redcap_3

cr_redcap_4

cr_redplate_1

cr_redplate_2

cr_redplate_3

cr_redplate_4

cr_tennisball_1

cr_tennisball_2

cr_tennisball_3

cr_tennisball_4

Page 98: Buku Lengkap

D-3

D.4 Data Citra Masukan Sistem Objek Elips Ukuran Kecil

el_bluecap_1

el_bluecap_2

el_bluecap_3

el_bluecap_4

el_egg_1

el_egg_2

el_egg_3

el_egg_4

el_goldcap_1

el_goldcap_2

el_goldcap_3

el_goldcap_4

el_redcap_1

el_redcap_2

el_redcap_3

el_redcap_4

el_yellowcap_1

el_yellowcap_2

el_yellowcap_3

el_yellowcap_4

D.5 Data Citra Masukan Sistem Objek Elips Ukuran Sedang

el_goldplate_1

el_goldplate_2

el_goldplate_3

el_goldplate_4

el_nutella_1

el_nutella_2

el_nutella_3

el_nutella_4

el_pinkbox_1

el_pinkbox_2

el_pinkbox_3

el_pinkbox_4

el_purplecap_1

el_purplecap_2

el_purplecap_3

Page 99: Buku Lengkap

D-4

el_purplecap_4

el_soap_1

el_soap_2

el_soap_3

el_soap_4

D.6 Data Citra Masukan Sistem Objek Elips Ukuran Besar

el_blueplate_1 el_blueplate_2

el_blueplate_3

el_blueplate_4

el_bluewhiteplate_1

el_bluewhiteplate_2 el_bluewhiteplate_3

el_bluewhiteplate_4

el_greenplate_1

el_greenplate_2

el_greenplate_3 el_greenplate_4

el_greenwhiteplate_1

el_greenwhiteplate_2

el_greenwhiteplate_3

el_greenwhiteplate_4 el_redplate_1

el_redplate_2

el_redplate_3

el_redplate_4

Page 100: Buku Lengkap

D-5

D.7 Hasil Uji Citra Objek Lingkaran Ukuran Kecil

D.8 Hasil Uji Citra Objek Lingkaran Ukuran Sedang

No Nama (*.bmp) STDEV Maxima Detect Fitting Waktu (s)

1 cr_bluepin_1 0,38584 24 Circle v 2,68033

2 cr_bluepin_2 0,59252 26 Circle v 2,79514

3 cr_bluepin_3 0,78739 29 Circle v 2,83141

4 cr_bluepin_4 0,46677 23 Circle v 2,37074

5 cr_brownpin_1 0 0 x x 0

6 cr_brownpin_2 0 0 x x 0

7 cr_brownpin_3 0 0 x x 0

8 cr_brownpin_4 0 0 x x 0

9 cr_coin_1 0,62477 26 Circle v 2,14622

10 cr_coin_2 0,63745 24 Circle v 2,36387

11 cr_coin_3 0,53767 25 Circle v 2,18702

12 cr_coin_4 0,53204 21 Circle v 2,08806

13 cr_greencap_1 0,53264 26 Circle v 2,16001

14 cr_greencap_2 0 0 x x 0

15 cr_greencap_3 0,51297 24 Circle v 2,78683

16 cr_greencap_4 0,50649 20 Circle v 3,02484

17 cr_vicks_1 0,43853 24 Circle v 2,86039

18 cr_vicks_2 0,47122 20 Circle v 2,49111

19 cr_vicks_3 0,50615 20 Circle v 2,99253

20 cr_vicks_4 0,40235 27 Circle v 2,57625

No Nama (*.bmp) STDEV Maxima Detect Fitting Waktu (s)

1 cr_donut_1 0,6456 27 Circle v 4,89683

2 cr_donut_2 0.69998 29 Circle v 5,176

3 cr_donut_3 0.4023 28 Circle v 4,91043

4 cr_donut_4 0.668393 42 Circle v 5,19941

5 cr_lulur_1 0,51559 29 Circle v 4,58726

6 cr_lulur_2 0,62354 32 Circle v 4,32597

7 cr_lulur_3 0,57055 27 Circle v 4,69655

8 cr_lulur_4 0,46074 34 Circle v 5,10017

9 cr_orangecap_1 1,02993 33 Ellipse v 0,437202

10 cr_orangecap_2 0,87597 29 Ellipse v 0,87597

11 cr_orangecap_3 0,54535 36 Circle v 5,04414

12 cr_orangecap_4 0,47479 39 Circle v 4,88425

13 cr_pinkcap_1 0,28838 28 Circle v 6,04999

14 cr_pinkcap_2 0,47752 29 Circle v 5,49258

15 cr_pinkcap_3 0.367025 31 Circle v 6,15191

16 cr_pinkcap_4 0,50073 41 Circle v 5,70872

17 cr_salicyl_1 0 0 x x 0

18 cr_salicyl_2 0,50813 27 Circle v 3,56898

19 cr_salicyl_3 0 0 x x 0

20 cr_salicyl_4 0,50145 26 Circle v 3,12121

Page 101: Buku Lengkap

D-6

D.9 Hasil Uji Citra Objek Lingkaran Ukuran Besar

D.10 Hasil Uji Citra Objek Elips Ukuran Kecil

No Nama (*.bmp) STDEV Maxima Detect Fitting Waktu (s)

1 cr_basketball_1 40,6166 30 Ellipse x 0,0308646

2 cr_basketball_2 28,8164 56 Ellipse v 3,56781

3 cr_basketball_3 18,7549 130 Ellipse v 3,70182

4 cr_basketball_4 20,5186 107 Ellipse v 2,98386

5 cr_greenplate_1 0,58837 36 Circle v 7,42387

6 cr_greenplate_2 0,45015 41 Circle v 7,74267

7 cr_greenplate_3 0,56238 42 Circle v 7,31336

8 cr_greenplate_4 0,5009 38 Circle v 7,33041

9 cr_redcap_1 0,50102 38 Circle v 7,48442

10 cr_redcap_2 0,49932 49 Circle v 6,8647

11 cr_redcap_3 0.478323 40 Circle v 6,89277

12 cr_redcap_4 0,38468 37 Circle v 7,30774

13 cr_redplate_1 0,47609 43 Circle v 8,7268

14 cr_redplate_2 0,79244 54 Circle v 8,47362

15 cr_redplate_3 1,08917 65 Ellipse v 1,16178

16 cr_redplate_4 0,42874 53 Circle v 8,4133

17 cr_tennisball_1 0.786958 46 Circle v 6,90397

18 cr_tennisball_2 2,44221 38 Ellipse v 0.919254

19 cr_tennisball_3 1,27627 36 Ellipse v 1,07663

20 cr_tennisball_4 1,60113 55 Ellipse v 0,926271

No Nama (*.bmp) STDEV Maxima Detect Fitting Waktu (s)

1 el_bluecap_1 4,56615 47 Ellipse v 0,179971

2 el_bluecap_2 4,72559 37 Ellipse v 0,180576

3 el_bluecap_3 4,57215 35 Ellipse v 0,107433

4 el_bluecap_4 4,26626 45 Ellipse v 0,175804

5 el_egg_1 1,63477 27 Ellipse v 0,10941

6 el_egg_2 1,61852 24 Ellipse v 0,111021

7 el_egg_3 2,68646 32 Ellipse v 0,144543

8 el_egg_4 1,82537 30 Ellipse v 0,127078

9 el_goldcap_1 18,3735 49 Ellipse v 0,592912

10 el_goldcap_2 18,5508 38 Ellipse v 0,513417

11 el_goldcap_3 18,5508 38 Ellipse v 0,503089

12 el_goldcap_4 3,86451 33 Ellipse v 0,206813

13 el_redcap_1 19,049 31 Ellipse v 0,328807

14 el_redcap_2 2,13542 33 Ellipse v 0,112804

15 el_redcap_3 13,5445 27 Ellipse v 0,373588

16 el_redcap_4 13,9743 30 Ellipse v 0,446808

17 el_yellowcap_1 5,86385 47 Ellipse v 0,273219

18 el_yellowcap_2 5,75002 48 Ellipse v 0,254625

19 el_yellowcap_3 6,7749 44 Ellipse v 0,307415

20 el_yellowcap_4 6,2775 47 Ellipse v 0,292184

Page 102: Buku Lengkap

D-7

D.11 Hasil Uji Citra Objek Elips Ukuran Sedang

D.12 Hasil Uji Citra Objek Elips Ukuran Besar

No Nama (*.bmp) STDEV Maxima Detect Fitting Waktu (s)

1 el_goldplate_1 4,16827 36 Ellipse v 0,500088

2 el_goldplate_2 0 0 x x 0

3 el_goldplate_3 0 0 x x 0

4 el_goldplate_4 4,5652 39 Ellipse v 0,679148

5 el_nutella_1 4,25925 40 Ellipse v 0,168658

6 el_nutella_2 2,6682 33 Ellipse v 0,117768

7 el_nutella_3 30,4445 40 Ellipse v 0,165879

8 el_nutella_4 2,80139 33 Ellipse v 0,196283

9 el_pinkbox_1 4,05023 30 Ellipse v 0,258147

10 el_pinkbox_2 3,89236 32 Ellipse v 0,256055

11 el_pinkbox_3 2,85527 42 Ellipse x 0,225348

12 el_pinkbox_4 5,11164 32 Ellipse v 0,308979

13 el_purplecap_1 3,48443 36 Ellipse v 0,187471

14 el_purplecap_2 3,54556 45 Ellipse v 0,198201

15 el_purplecap_3 3,87414 38 Ellipse v 0,205194

16 el_purplecap_4 3,89288 35 Ellipse v 0,18917

17 el_soap_1 4,14709 33 Ellipse v 0,201497

18 el_soap_2 5,42261 38 Ellipse x 0,152929

19 el_soap_3 4,22902 50 Ellipse v 0,259201

20 el_soap_4 0 0 x x 0

No Nama (*.bmp) STDEV Maxima Detect Fitting Waktu (s)

1 el_blueplate_1 7,20438 51 Ellipse v 0,730078

2 el_blueplate_2 7,05557 57 Ellipse v 0,780971

3 el_blueplate_3 5,93792 48 Ellipse v 0,923998

4 el_blueplate_4 6,88497 49 Ellipse v 0,827403

5 el_bluewhiteplate_1 0 0 x x 0

6 el_bluewhiteplate_2 0 0 x x 0

7 el_bluewhiteplate_3 0 0 x x 0

8 el_bluewhiteplate_4 0 0 x x 0

9 el_greenplate_1 7,22172 44 Ellipse v 0,654209

10 el_greenplate_2 6,85235 42 Ellipse v 0,643089

11 el_greenplate_3 6,9155 47 Ellipse v 0,636294

12 el_greenplate_4 7,03326 52 Ellipse v 0,636344

13 el_greenwhiteplate_1 9,71953 58 Ellipse v 0,937642

14 el_greenwhiteplate_2 8,42511 67 Ellipse v 0,997311

15 el_greenwhiteplate_3 8,42118 65 Ellipse v 0,993651

16 el_greenwhiteplate_4 8,38764 64 Ellipse v 0,982314

17 el_redplate_1 7,17229 61 Ellipse v 0,722236

18 el_redplate_2 7,0748 45 Ellipse v 0,694373

19 el_redplate_3 7,19415 66 Ellipse v 0,704295

20 el_redplate_4 7,38901 43 Ellipse v 0,71783

Page 103: Buku Lengkap

E-1

LAMPIRAN E

E.1 Perbandingan Deteksi Kurva dengan Poligon

Page 104: Buku Lengkap

F-1

LAMPIRAN F

F.1 Tampilan Program Utama

Keterangan :

1. Step 1 : panel pemilihan akuisisi citra sebagai masukan sistem

2. Step 2 : panel untuk tahap preprocessing

3. Step 3 : panel pendeteksian jenis bangun

4. Step 4 : panel untuk merekonstruksi bangun hasil pendeteksian

Page 105: Buku Lengkap

F-2

F.2 Listing Program

%%Initiation (Activate Webcam)%% global movie; axes(handles.axes3); movie=videoinput('winvideo',1,'YUY2_640x480');%imaqhwinfo set(movie,'ReturnedColorSpace','rgb'); set(movie,'LoggingMode','memory'); set(movie,'TriggerRepeat',Inf); set(movie,'FramesPerTrigger',1); triggerconfig(movie, 'manual'); z=image(zeros(480,640,3)); preview(movie,z);

%% Load Image %% [f,p]=uigetfile('*.bmp', 'Choose Your Saved Image', 'D:\#TUGAS AKHIR\TA Andri Pranata Kusuma\Bismillahirrahmaanirrahim TA\Citra'); if (ischar(f) & ischar (p))==1 im_input=imread([p,f]); im_noise=im_input; axes(handles.axes3); set(handles.edit1,'string',f); imshow(im_input); save input.mat im_input im_noise end

%%Capture from Webcam %% global movie; vid = movie; start(vid); pause(1); trigger(vid); stoppreview(vid); im_input = getdata(vid); imwrite(im_input, 'captured.bmp'); save input.mat im_input stop(vid); axes(handles.axes3); set(handles.edit1,'string','captured.bmp'); imshow(im_input);

%%Select Noise%% load input.mat im_input valpop=get(handles.popupmenu1,'value');

switch valpop case 1 im_noise = im_input; set(handles.slider2,'visible','off'); axes(handles.axes3); imshow(im_noise); save input.mat im_input im_noise case 2 im_noise = imnoise(im_input,'poisson'); set(handles.slider2,'visible','off'); axes(handles.axes3); imshow(im_noise); save input.mat im_input im_noise case 3 im_noise = imnoise(im_input,'salt & pepper',get(handles.slider2,'value')); set(handles.slider2,'visible','on'); set(handles.text38,'string','noise density :'); axes(handles.axes3); imshow(im_noise); save input.mat im_input im_noise case 4 im_noise = imnoise(im_input,'speckle',get(handles.slider2,'value')); set(handles.slider2,'visible','on'); set(handles.text38,'string','variance :'); axes(handles.axes3); imshow(im_noise); save input.mat im_input im_noise case 5 im_noise = imnoise(im_input,'gaussian',0,get(handles.slider2,'value')); set(handles.slider2,'visible','on');

Page 106: Buku Lengkap

F-3

set(handles.text38,'string','variance :'); axes(handles.axes3); imshow(im_noise); save input.mat im_input im_noise case 6 im_noise = imnoise(im_input,'gaussian',get(handles.slider2,'value'),0.01); set(handles.slider2,'visible','on'); set(handles.text38,'string','mean :'); axes(handles.axes3); imshow(im_noise); save input.mat im_input im_noise end

%%PREPROCESSING %% load input.mat im_noise y0=im_noise set(handles.figure1,'currentaxes',handles.axes4); imshow(y0); pause(0.1); set(handles.edit2, 'String', 'Image Input' ); %% GRAYSCALE and BW %% pause(1); yhsv = rgb2hsv(y0); imshow(yhsv); pause(0.1); set(handles.edit2, 'String', 'HSV Color Space...'); pause(1); level=graythresh(yhsv); ybw=im2bw(yhsv, level); imshow(ybw); pause(0.1); set(handles.edit2, 'String', 'Thresholding...' ); %% FILLING %% pause(1); y1=imfill(ybw,'holes'); pause(0.1); imshow(y1); pause(0.1); set(handles.edit2, 'String', 'Filling...' ); %% ERODE %% pause(1); se=strel('disk',10); y2=imerode(y1,se);

imshow(y2); pause(0.1); set(handles.edit2, 'String', 'Erode...'); %% OPENING %% pause(1); citra_open=bwareaopen(y2,1000); imshow(citra_open); pause(0.1); set(handles.edit2, 'String', 'Opening...'); %% DILATION %% pause(1); se=strel('disk',10); y3=imdilate(citra_open,se); imshow(y3); pause(0.1); set(handles.edit2, 'String', 'Dilation...'); %% EDGE DETECTION %% pause(1); y4=edge(y3,'canny'); imshow(y4); pause(0.1); set(handles.edit2, 'String', 'Edge Detection...' ); %% THINNING %% pause(1); y5=bwmorph(y4,'thin',Inf); imshow(y5); pause(0.1); set(handles.edit2, 'String', 'Edge Thinning...'); figure;imshow(y5); save tepi.mat y5 im_noise

%% STANDARD HOUGH TRANSFORM

ALGORITHM %% % UNTUK MENGKLASIFIKASIKAN OBJEK LINGKARAN DAN ELIPS load tepi.mat y5 im_noise global X [H,theta,rho] = hough(y5); axes(handles.axes5); X=imadjust(mat2gray(H)),[],'XData',theta,'YData',rho,... 'InitialMagnification','fit'; imshow(X); xlabel('\theta (degrees)'), ylabel('\rho'); axis on, axis normal, hold on; colormap(hot) maxima=max(max(H)); set(handles.editmaxima,'string',maxima);

Page 107: Buku Lengkap

F-4

%% PENGKLASIFIKASIAN HASIL DETEKSI SHT %% capt = getframe(handles.axes5); citra_capture = capt.cdata; % Pre-processing untuk mendapatkan standar deviasi citra_capture = rgb2gray(citra_capture); level=0.2; citra_capture_bw = im2bw(citra_capture,level); [jml_bar jml_kol] = size(citra_capture_bw); lebar = []; for i = 1:jml_kol atas = find(citra_capture_bw(:,i) > 0, 1, 'first'); bawah = find(citra_capture_bw(:,i) > 0, 1, 'last'); if (~isempty(atas) && ~isempty(bawah)) lebar(i) = bawah - atas; end end nonzero=find(lebar); lebarnonzero=lebar(nonzero); lebar_rata = mean(lebarnonzero) lebar_std = std(lebarnonzero) set(handles.editstdev,'string',lebar_std); if lebar_std<=0.8 set(handles.editdeteksi,'string','Circle'); else set(handles.editdeteksi,'string','Ellipse'); end save hasil_hough.mat H y5 im_noise lebar_std %% Fitting (Rekonstruksi)

Lingkaran dan Elips %% load hasil_hough.mat y5 H im_noise lebar_std if lebar_std<=0.8 %%UNKNOWN RADIUS CHT %% tic deret_R = 40:5:170;

deret_maxval = []; % Cari R yang memiliki penumpukan nilai a dan b yang maksimum for j = deret_R [y,x]=find(y5); [sy,sx]=size(y5); % variabel totalpix untuk mengetahui jumlah "1" dalam citra totalpix = length(x); % Alokasi Memori untuk Hough matrix. dan atur nilai R HM = zeros(sy*sx,1); R = j; R2 = R.^2; % Circular Hough Transform. % Persiapkan matrix untuk penghitungan b = 1:sy; a = zeros(sy,totalpix); y = repmat(y',[sy,1]); x = repmat(x',[sy,1]); b1 = repmat(b',[1,totalpix]); b2 = b1; % PERSAMAAN LINGKARAN r^2 = (x-a)^2+(y-b)^2 dg a,b adalah titik pusat % mengahasilkan 2 kemungkinan nilai "a" a1 = (round(x - sqrt(R2 - (y - b1).^2))); a2 = (round(x + sqrt(R2 - (y - b2).^2))); % Menghapus semua nilai yang tidak valid pada matrix a dan b b1 = b1(imag(a1)==0 & a1>0 & a1<sx); a1 = a1(imag(a1)==0 & a1>0 & a1<sx); b2 = b2(imag(a2)==0 & a2>0 & a2<sx); a2 = a2(imag(a2)==0 & a2>0 & a2<sx); ind1 = sub2ind([sy,sx],b1,a1); ind2 = sub2ind([sy,sx],b2,a2); ind = [ind1; ind2]; % Rekonstruksi Hough matrix val = ones(length(ind),1); data=accumarray(ind,val); HM(1:length(data)) = data; HM2 = reshape(HM,[sy,sx]); HM2_bw = (HM2>(2/5*R)); [HM2_label jml_lingkaran] = bwlabel(HM2_bw); maxval = []; for i = 1:jml_lingkaran pusat_bw = (HM2_label == i);

Page 108: Buku Lengkap

F-5

pusat_lingkar = pusat_bw .* HM2; % MENEMUKAN LINGKARAN DG RADIUS R maxval(i) maxind] = max(max(pusat_lingkar)); [B,A] = find(pusat_lingkar==maxval(i)); end deret_maxval = [deret_maxval max(maxval)]; end [best_maxval best_idx] = max(deret_maxval); [y,x]=find(y5); [sy,sx]=size(y5); % variabel totalpix untuk mengetahui jumlah "1" dalam citra totalpix = length(x); % alokasi awal untuk hough matrix, R terbaik didapat dari pencarian R lewat % tahap diatas HM = zeros(sy*sx,1); R = deret_R(best_idx); R2 = R^2; %% Hough Transform % a. menyiapkan matrix perhitungan b = 1:sy; a = zeros(sy,totalpix); y = repmat(y',[sy,1]); x = repmat(x',[sy,1]); b1 = repmat(b',[1 totalpix]); b2 = b1; % persamaan lingkaran untuk mencari nilai a a1 = (round(x - sqrt(R2 - (y - b1).^2))); a2 = (round(x + sqrt(R2 - (y - b2).^2))); % menghilangkan nilai yang tidak valid pada matrix a dan b b1 = b1(imag(a1)==0 & a1>0 & a1<sx); a1 = a1(imag(a1)==0 & a1>0 & a1<sx); b2 = b2(imag(a2)==0 & a2>0 & a2<sx); a2 = a2(imag(a2)==0 & a2>0 & a2<sx);

ind1 = sub2ind([sy,sx],b1,a1); ind2 = sub2ind([sy,sx],b2,a2); ind = [ind1; ind2]; % Rekonstruksi matriks hough val = ones(length(ind),1); data=accumarray(ind,val); HM(1:length(data)) = data; HM2 = reshape(HM,[sy,sx]); waktu=toc % menemukan lokasi lingkaran dengan radius R [maxval, maxind] = max(max(HM2)); [B,A] = find(HM2==maxval); axes(handles.axes6); imshow(im_noise); hold on; plot(mean(A),mean(B),'xr') t = 0:pi/20:2*pi; mA=mean(A); mB=mean(B); xdata = (mA+R.*cos(t))'; ydata = (mB+R.*sin(t))'; plot(xdata,ydata,'color','green'); set(handles.edit6,'string',waktu); set(handles.edit10,'string',R); set(handles.edit22,'string',mA); set(handles.edit23,'string',mB); else %% Elliptical Hough Transform %% tic minMajorAxis = 10 maxMajorAxis = 1000; maxRotation = pi randomize = true uniformWeights = true eps = 0.0001; bestMatch = 0; [Y,X]=find(y5); N = length(Y); dX = repmat(X,[1 N])-repmat(X',[N 1]); dY = repmat(Y,[1 N])-repmat(Y',[N 1]); dists = sqrt( dX.^2 + dY.^2 ); distsU = triu(dists);

Page 109: Buku Lengkap

F-6

alphas = atan( dY./dX ); %dapatkan semua pasangan yang cocok [I,J] = find(distsU>=minMajorAxis & distsU<=maxMajorAxis & abs(alphas)<=maxRotation); npairs = length(I); if randomize perm = randperm(npairs); pairSubset = perm(1:min(npairs,N*2)); else pairSubset = 1:npairs; end for p=pairSubset x1=X(I(p)); y1=Y(I(p)); x2=X(J(p)); y2=Y(J(p)); %center & major ax x0=(x1+x2)/2; y0=(y1+y2)/2; a = dists(I(p),J(p))/2; thirdPtDistsSq = sum( ([X Y] - repmat([x0 y0],[N 1])).^2, 2); K = find(thirdPtDistsSq <= a^2); %minor ax untuk semua titik yg didapat fSq = (X(K)-x2).^2 + (Y(K)-y2).^2; cosTau = (a^2 + thirdPtDistsSq(K) - fSq) ./ (2*a*sqrt(thirdPtDistsSq(K))); cosTau = min(1,max(-1,cosTau)); sinTauSq = 1 - cosTau.^2; b = sqrt( (a^2 * thirdPtDistsSq(K) .* sinTauSq) ./ (a^2 - thirdPtDistsSq(K) .* cosTau.^2 + eps) ); %proper bins for b idxs = ceil(b+eps); if uniformWeights weights = 1; else weights = img(sub2ind(size(img),Y(K),X(K))); end accumulator = accumarray(idxs, weights, [maxMajorAxis 1]);

accumulator = conv(accumulator,[1 1 1]/3,'same'); [score, idx] = max(accumulator); if (bestMatch(end) < score) bestMatch = [x0 y0 a idx alphas(I(p),J(p)) score]; end end waktu=toc %% Bentuk elips dari parameter yang ditemukan %% axes(handles.axes6); imshow(im_noise); hold on; h=ellipse(bestMatch(3),bestMatch(4),bestMatch(5),bestMatch(1),bestMatch(2),'r'); plot(h); plot(bestMatch(1),bestMatch(2),'xr'); set(handles.edit6,'string',waktu); set(handles.edit14,'string',bestMatch(1)); set(handles.edit15,'string',bestMatch(2)); set(handles.edit16,'string',bestMatch(3)); set(handles.edit17,'string',bestMatch(4)); set(handles.edit18,'string',bestMatch(5)); end %fungsi untuk merekonstruksi elips function h=ellipse(ra,rb,ang,x0,y0,C,Nb) if nargin<1, ra=[]; end; if nargin<2, rb=[]; end; if nargin<3,

Page 110: Buku Lengkap

F-7

ang=[]; end; %if nargin==1, % error('Not enough arguments'); %end; if nargin<5, x0=[]; y0=[]; end; if nargin<6, C=[]; end if nargin<7, Nb=[]; end % set up the default values if isempty(ra),ra=1;end; if isempty(rb),rb=1;end; if isempty(ang),ang=0;end; if isempty(x0),x0=0;end; if isempty(y0),y0=0;end; if isempty(Nb),Nb=300;end; if isempty(C),C=get(gca,'colororder');end; % work on the variable sizes x0=x0(:); y0=y0(:); ra=ra(:); rb=rb(:); ang=ang(:); Nb=Nb(:); if isstr(C),C=C(:);end; if length(ra)~=length(rb), error('length(ra)~=length(rb)'); end; if length(x0)~=length(y0), error('length(x0)~=length(y0)'); end; % how many inscribed elllipses are plotted if length(ra)~=length(x0) maxk=length(ra)*length(x0); else

maxk=length(ra); end; % drawing loop for k=1:maxk if length(x0)==1 xpos=x0; ypos=y0; radm=ra(k); radn=rb(k); if length(ang)==1 an=ang; else an=ang(k); end; elseif length(ra)==1 xpos=x0(k); ypos=y0(k); radm=ra; radn=rb; an=ang; elseif length(x0)==length(ra) xpos=x0(k); ypos=y0(k); radm=ra(k); radn=rb(k); an=ang(k) else rada=ra(fix((k-1)/size(x0,1))+1); radb=rb(fix((k-1)/size(x0,1))+1); an=ang(fix((k-1)/size(x0,1))+1); xpos=x0(rem(k-1,size(x0,1))+1); ypos=y0(rem(k-1,size(y0,1))+1); end; co=cos(an); si=sin(an); the=linspace(0,2*pi,Nb(rem(k-1,size(Nb,1))+1,:)+1); h(k)=line(radm*cos(the)*co-si*radn*sin(the)+xpos,radm*cos(the)*si+co*radn*sin(the)+ypos); set(h(k),'color',C(rem(k-1,size(C,1))+1,:)); end;

%% ======= RESET ALL ========= %%

Page 111: Buku Lengkap

F-8

set(findobj('Tag','edit1'),'String',''); set(findobj('Tag','edit2'),'String',''); set(findobj('Tag','editstdev'),'String',''); set(findobj('Tag','editdeteksi'),'String',''); set(findobj('Tag','edit6'),'String',''); set(findobj('Tag','edit10'),'String',''); set(findobj('Tag','edit14'),'String',''); set(findobj('Tag','edit15'),'String',''); set(findobj('Tag','edit16'),'String',''); set(findobj('Tag','edit17'),'String',''); set(findobj('Tag','edit18'),'String',''); set(findobj('Tag','edit22'),'String',''); set(findobj('Tag','edit23'),'String',''); hold off; axes(handles.axes3);cla reset; set (handles.axes3,'Xtick',[],'Ytick',[]) axes(handles.axes4);cla reset; set (handles.axes4,'Xtick',[],'Ytick',[]) axes(handles.axes5);cla reset; set (handles.axes5,'Xtick',[],'Ytick',[]) axes(handles.axes6);cla reset; set (handles.axes6,'Xtick',[],'Ytick',[])