=
) 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'
,[])