Anda di halaman 1dari 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

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


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 : andripranatakusuma@hotmail.com

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



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


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







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

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

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.

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.

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

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



xii

BAB V PENUTUP ......................................................................................................... 47
5.1 Kesimpulan ............................................................................................................ 47
5.2 Saran ....................................................................................................................... 48
DAFTAR PUSTAKA ...................................................................................................... xx
DAFTAR LAMPIRAN ................................................................................................. xxii
LAMPIRAN


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

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


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


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


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
1 0 < 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.


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.


xix

DAFTAR SINGKATAN

B
i
: Blue Input
BMP : Windows Bitmap Image File
B
o
: Blue Output
CHT : Circular Hough Transform
EHT : Elliptical Hough Transform
G
i
: Green Input
G
o
: Green Output
GST : Gray Scale Transformation
HSV : Hue, Saturation, Value
MHT : Modified Hough Transform
RGB : Red Green Blue
R
i
: Red Input
R
o
: Red Output
SHT : Standard Hough Transform
Strel : Structuring Element












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

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.

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

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 analisisanalisis skenario yang telah
dilakukan dan saran untuk pengembangan lebih lanjut.






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-13
No Kegiatan
Sep-12 Okt-12 Nop-12

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 (
,
M N f N f N f
M f f
M f f f
y x f

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.


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.



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:
) ( ), ( ), (
0 0 0 i i i
B fB B G fG G R fR R = = = (2.1)

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

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 (2
nd
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.

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).
B A S A D = ) , (
(2.2)

B A S A E = ) , (
(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)

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)


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:
( ) ( ) dxdy y x y x A H ) sin cos ( , , =


(2.4)
di mana adalah fungsi delta-Dirac. Dengan A (x, y), setiap titik (x, y) dalam gambar
asli, A, berubah menjadi sin cos y x + = , 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

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 , 0
min
= + = = M m x m x x x
m
K
(2.5)
1 , , 1 , 0
min
= + = = N n y n y y y
n
K
(2.6)
1 , , 1 , 0
min
= + = = T t t
t
K
(2.7)
1 , , 1 , 0
min
= + = = R r r
r
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
mn
A H ]) ' [ , ( ) , ( (2.9)
Dimana tanda kurung [] menunjukkan pembulatan ke integer terdekat, dan

sin ) ( cos ) ( '
min min
y y n x x m + + + = (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
2 2
0
2
0
) ( ) ( R y y x x = + (2.12)
1 = []
0

14

Dengan R

adalah jari-jari lingkaran dan ) , (
0 0
y x adalah koordinat pusat
lingkaran.Jika pusat lingkaran terdapat di (0,0) maka persamaan di atas dapat dituliskan
sebagai
2 2 2
R y x = + (2.13)

Gambar 2.10 Lingkaran

Persamaan Lingkaran dapat pula dirumuskan dalam suatu persamaan parametrik,
yaitu
cos
0
R x x + = (2.14)
sin
0
R y y + = (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 ( ) a PF PF 2
2 1
= + .

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
b a
e =

= =
2
2
2 2
1
(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 :
1
2
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.

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

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





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 * n I J + = , 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 10
12
.
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 10
12
. Jika matrik citra adalah single precision, maka

19

faktor skalanya menggunakan 10
6
. 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]
.

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

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
b x m y + = *

(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( * y x + =

] , 0 [ untuk

(3.2)

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 b x m y + = * . 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

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.



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
e0,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

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
i
x x
n
S
1
2
) (
1
1
(3.3)

Dimana:
i
x = 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.

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 (x
0
.y
0
) 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

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

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, ) , (
0 0
y x untuk
titik pusat elips, untuk orientasi elips, ) , ( b a 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 ) , (
1 1
y x dan ) , (
2 2
y x 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
) (
2 1
0
x x
x
+
=
(3.4)
2
) (
2 1
0
y y
y
+
=
(3.5)
2
] ) ( ) [(
2
2 1
2
2 1
y y x x
a
+ + +
=
(3.6)

+
+
=

) (
) (
tan
2 1
2 1 1
y y
x x

(3.7)
Dimana ) , (
0 0
y x adalah titik pusat dari elips yang di cari, a adalah separuh panjang
dari sumbu mayor dan merupakan orientasi elips.

29


Gambar 3.17 Geometri sebuah Elips

Gambar 3.15 merupakan geometri sebuah elips.
1
f dan
2
f merupakan fokus dari
elips. Fokus elips adalah 2 titik spesial di sebuah sumbu mayor elips dan memiliki jarak
yang sama jauhnya dari titik pusat. ) , ( y x merupakan titik ketiga untukmenghitung
parameter kelima. Jarak antara titik ) , ( y x dan ) , (
0 0
y x akan lebih sedikit daripada jarak
antara ) , (
1 1
y x dan ) , (
0 0
y x atau antara ) , (
2 2
y x dan ) , (
0 0
y x . Jadi setengah dari sumbu
minor bisa diestimasi dengan persamaan sebagai berikut :
) cos (
) sin (
2 2 2
2 2 2
2

d a
d a
b

=
(3.8)


Dimana cos adalah

+
=
ad
f d a
2
cos
2 2 2

(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 ) , (
1 1
y x maka lakukan tahap 4 sampai 14.

30

4. Untuk setiap piksel lainnya ) , (
2 2
y x , jika jarak ) , (
1 1
y x dan ) , (
2 2
y x lebih besar dari
jarak yang dibutuhkan setidaknya untuk sepasang piksel yang dipertimbangkan,
maka lakukan tahap 5 sampai tahap 14.
5. Untuk setiap pasang ) , (
1 1
y x dan ) , (
2 2
y x gunakan persamaan (3.4)-(3.7) untuk
menemukan titik pusat dan orientasi elips dan sumbu mayornya.
6. Untuk setiap piksel ketiga ) , ( y x , jika jarak antara ) , ( y x dan ) , (
0 0
y x 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.

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 T6500@2.10GHz
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

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%.
% 100 x
input jumlah
benar jumlah
akurasi =
(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.

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
P
e
r
s
e
n
t
a
s
i

A
k
u
r
a
s
i
Kategori
Lingkaran
Elips

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
P
e
r
s
e
n
t
a
s
i

A
k
u
r
a
s
i
Kategori
Lingkaran
Elips

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.

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.

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
Parameter
Komputer Webcam

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%
Total Citra Webcam Citra Komputer

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
p
e
r
s
e
n
t
a
s
i

a
k
u
r
a
s
i

(
%
)
Variance
Jenis (Webcam)
Jenis(komputer)
Fitting(webcam)
Fitting (komputer)

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

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,7
p
e
r
s
e
n
t
a
s
i

a
k
u
r
a
s
i

(
%
)
Noise Density
Jenis (Webcam)
Jenis (komputer)
Fitting (Webcam)
Fitting (komputer)

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,7
P
e
r
s
e
n
t
a
s
i

A
k
u
r
a
s
i

(
%
)
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
p
e
r
s
e
n
t
a
s
i

a
k
u
r
a
s
i

(
%
)
Mean
Jenis (Webcam)
Jenis (komputer)
Posisi (Webcam)
Posisi (komputer)

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.





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

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

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

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

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.

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.

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.

xxi

[14] Sadiyah, 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



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


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

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



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



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

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


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




















A-5

A.3 Citra yang dibangkitkan Komputer (Lingkaran)













Nama (*.bmp) Maxima STDEV Detect
Hough
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

A-6

A.4 Citra yang dibangkitkan komputer (Elips)













Nama (*.bmp) Maxima STDEV Detect
Hough
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

A-7

A.5 Citra yang di-capture oleh webcam (Lingkaran)













Nama (*.bmp) Maxima STDEV Detect
Hough
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

A-8

A.6 Citra yang Di-capture oleh Webcam (Elips)


Nama (*.bmp) Maxima STDEV Detect
Hough
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

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)





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)








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 Detect
Hough
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 Detect
Hough
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 Detect
Hough
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 Detect
Hough
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

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 Detect
Hough
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 Detect
Hough
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 Detect
Hough
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 Detect
Hough
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

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 Detect
Hough
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

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

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
variance
Nama (*.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 Nama
variance

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
variance
No Nama

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

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 Nama
variance

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

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
variance
No Nama

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

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
Mean
No Nama

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

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





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

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













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

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

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

E-1

LAMPIRAN E

E.1 Perbandingan Deteksi Kurva dengan Poligon








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












F-2

F.2 Listing Program

%%Initiation (Activate Webcam)%%
global movie;
axes(handles.axes3);
movie=videoinput('winvideo',1,'YU
Y2_640x480');%imaqhwinfo
set(movie,'ReturnedColorSpace','r
gb');
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','captu
red.bmp');
imshow(im_input);

%%Select Noise%%
load input.mat im_input

valpop=get(handles.popupmenu1,'va
lue');
switch valpop
case 1
im_noise = im_input;

set(handles.slider2,'visible','of
f');
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','of
f');
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,'valu
e'));

set(handles.slider2,'visible','on
');

set(handles.text38,'string','nois
e density :');
axes(handles.axes3);
imshow(im_noise);
save input.mat im_input
im_noise
case 4
im_noise =
imnoise(im_input,'speckle',get(ha
ndles.slider2,'value'));

set(handles.slider2,'visible','on
');

set(handles.text38,'string','vari
ance :');
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
');

F-3


set(handles.text38,'string','vari
ance :');
axes(handles.axes3);
imshow(im_noise);
save input.mat im_input
im_noise
case 6
im_noise =
imnoise(im_input,'gaussian',get(h
andles.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',m
axima);


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',le
bar_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);

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);

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),best
Match(2),'r');
plot(h);

plot(bestMatch(1),bestMatch(2),'x
r');


set(handles.edit6,'string',waktu)
;

set(handles.edit14,'string',bestM
atch(1));

set(handles.edit15,'string',bestM
atch(2));

set(handles.edit16,'string',bestM
atch(3));

set(handles.edit17,'string',bestM
atch(4));

set(handles.edit18,'string',bestM
atch(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,

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(th
e)*si+co*radn*sin(the)+ypos);
set(h(k),'color',C(rem(k-
1,size(C,1))+1,:));

end;


%% ======= RESET ALL ========= %%

F-8

set(findobj('Tag','edit1'),'Strin
g','');
set(findobj('Tag','edit2'),'Strin
g','');
set(findobj('Tag','editstdev'),'S
tring','');
set(findobj('Tag','editdeteksi'),
'String','');
set(findobj('Tag','edit6'),'Strin
g','');
set(findobj('Tag','edit10'),'Stri
ng','');
set(findobj('Tag','edit14'),'Stri
ng','');
set(findobj('Tag','edit15'),'Stri
ng','');
set(findobj('Tag','edit16'),'Stri
ng','');
set(findobj('Tag','edit17'),'Stri
ng','');
set(findobj('Tag','edit18'),'Stri
ng','');
set(findobj('Tag','edit22'),'Stri
ng','');
set(findobj('Tag','edit23'),'Stri
ng','');
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'
,[])

Anda mungkin juga menyukai