Upload
vokhue
View
224
Download
0
Embed Size (px)
Citation preview
i
TUGAS AKHIR
PENGENALAN ANGKA DENGAN
POSE JARI TANGAN
Diajukan untuk memenuhi syarat
Memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
disusun oleh :
DIRGA EKA PUTRA LEBUKAN
NIM : 135114015
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FINAL PROJECT
NUMBER RECOGNITION WITH
HAND FINGER POSE
In a partial fulfillment of the requirements
for the degree of Sarjana Teknik
Electrical Engineering Study Program
created by :
DIRGA EKA PUTRA LEBUKAN
Student’s Number : 135114015
ELECTRICAL ENGINEERING STUDY PROGRAM
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
HALAMAN PERSETUJUAN
TUGAS AKHIR
PENGENALAN ANGKA DENGAN
POSE JARI TANGAN
(NUMBER RECOGNITION WITH
HAND FINGER POSE)
disusun oleh :
DIRGA EKA PUTRA LEBUKAN
NIM : 135114015
telah disetujui oleh :
Pembimbing I
Dr. Ir. Linggo Sumarno, M.T. Tanggal :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
HALAMAN PENGESAHAN
TUGAS AKHIR
PENGENALAN ANGKA DENGAN
POSE JARI TANGAN
(NUMBER RECOGNITION WITH
HAND FINGER POSE)
disusun oleh :
DIRGA EKA PUTRA LEBUKAN
NIM : 135114015
Telah dipertahankan di depan tim penguji
pada tanggal 26 Januari 2017
dan dinyatakan memenuhi syarat
Susunan Tim Penguji :
Nama Lengkap Tanda Tangan
Ketua : Dr. Ir. Iswanjono, M.T.
Sekretaris : Dr. Ir. Linggo Sumarno, M.T.
Anggota : Dr. Damar Widjaja, S.T., M.T.
Yogyakarta,
Fakultas Sains dan Teknologi
Universitas Sanata Dharma
Dekan,
Sudi Mungkasi, S.Si, M.Math.Sc., Ph.D.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya atau
bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka
sebagaimana karya ilmiah.
Yogyakarta, 2 Januari 2017
Dirga Eka Putra Lebukan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
HALAMAN PERSEMBAHAN MOTTO HIDUP
MOTTO :
WHEN YOU HAVE A CHANCE
YOU HAVE TO TRY
Skripsi ini kupersembahkan untuk ….
Yesus Kristus dan Bunda Maria yang selalu menyertai dan
menuntunku dalam setiap hari-hariku
Papa dan Mama tercinta yang selalu mendoakan dan mendukungku
Teman-teman seperjuangan Teknik Elektro 2013 yang selalu
mewarnai hari-hariku
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA
ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : DIRGA EKA PUTRA LEBUKAN
Nomor Mahasiswa : 135114015
Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan Universitas
Sanata Dharma karya ilmiah yang berjudul :
PENGENALAN ANGKA DENGAN
POSE JARI TANGAN
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada
Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk
media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas,
dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tanpa
perlu meminta ijin dari saya maupun memberikan royalti kepada saya selama tetap
mencantumkan nama saya sebagai penulis.
Dengan ini pernyataan yang saya buat dengan sebenarnya.
Yogyakarta, 2 Januari 2017
Penulis
Dirga Eka Putra Lebukan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Pengolahan citra adalah suatu bidang yang berhubungan proses transformasi citra
yang bertujuan untuk mendapatkan kualitas citra yang lebih baik. Teknologi pengolahan
citra ini, sangat berkembang pesat dan banyak juga dikenal oleh para insinyur di dunia. Salah
satu penerapan dari teknologi pengolahan citra tersebut adalah pengenalan angka dengan
pose jari tangan.
Sistem pengenalan angka dengan pose jari tangan yang dibuat ini adalah pengenalan
pola angka bahasa isyarat ASL (American Sign Language) dari 0 s/d 9, dengan jarak
pengujian yang digunakan ialah 1 m, 1,5 m, 2 m, 2,5 m, dan 3 m. Secara garis besar beberapa
proses kerja dari sistem ini ialah pengambilan citra pose jari tangan berupa citra Red, Green,
and Blue (RGB), konversi citra RGB ke citra Hue Saturation Value (HSV), segmentasi HSV,
cropping dan resizing, perhitungan korelasi (template matching), serta penentuan keluaran.
Proses segmentasi HSV pada penelitian ini, bertujuan untuk mengambil objek yang ingin
dikenali pada citra, yaitu bagian kulit (muka dan tangan). Sedangkan pada proses template
matching, perhitungan nilai korelasi dilakukan berdasarkan perbandingan antara database
citra yang telah dimasukkan dan citra pose jari tangan yang telah diambil dengan
menggunakan webcam (data uji).
Pengujian secara real time pada penelitian ini menggunakan jarak terjauh 3 meter,
dengan menghasilkan tingkat pengenalan sebesar 88 %. Hasil ini diperoleh dari hasil
ekstraksi ciri 32 x 32 piksel.
Kata Kunci : Pengolahan Citra, American Sign Language, Red, Green, and Blue, Hue
Saturation Value, Korelasi, Template Matching, Database, Ekstraksi Ciri.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Image processing is a field that related to the image transformation for get a better
image quality. This image processing technology, is grown rapidly and also known by many
engineers in the world. One application of the image processing technology is number
recognition with hand finger pose.
Number recognition with hand finger pose system is number pattern recognition of
ASL (American Sign Language) sign from 0 until 9, the used testing distance is 1 m, 1.5 m,
2 m, 2.5 m and 3 m. In outline, some of the workings of this system are capture the hand
finger pose that form of the image is Red, Green, and Blue (RGB), the conversion of the
RGB image into Hue Saturation Value (HSV), HSV segmentation, cropping and resizing,
calculate the correlation (template matching), and determination of the output. HSV
segmentation process in this study is aiming to take the object that will be recognized in the
image, which is part of the skin (face and hand). While in the template matching process,
calculation of correlation value is based on a comparison between the image database that
has been inputted and the hand finger pose image that has been captured using a webcam
(test data).
Testing in real time on this study uses 3 meters of the longest distance, with result of
recognition rate is 88 %. This result was obtained from the feature extraction of 32 x 32
pixels.
Keywords: Image Processing, American Sign Language, Red, Green, and Blue, Hue
Saturation Value, Correlation, Template Matching, Database, Feature Extraction.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus karena berkat rahmat
dan penyertaan-Nya penulis dapat menyelesaikan laporan tugas akhir ini dengan baik dan
lancar. Laporan tugas akhir ini disusun untuk memenuhi syarat memperoleh gelar sarjana,
khususnya dibidang Teknik Elektro.
Pada proses penulisan laporan tugas akhir ini, penulis menyadari bahwa ada banyak
pihak yang telah memberikan perhatian dan bantuannya sehingga dapat terlesaikan dengan
baik. Oleh karena itu, penulis ingin mengucapkan terima kasih kepada :
1. Tuhan Yesus Kristus dan Bunda Maria atas penyertaan-Nya.
2. Sudi Mungkasi, S.Si, M.Math.Sc., Ph.D., selaku Dekan Fakultas Sains dan Teknologi
Universitas Sanata Dharma.
3. Petrus Setyo Prabowo, S.T., M.T., selaku Ketua Program Studi Teknik Elektro, Fakultas
Sains dan Teknologi, Universitas Sanata Dharma.
4. Dr. Ir. Linggo Sumarno, M.T., selaku dosen pembimbing dengan penuh pengertian dan
kesabaran dalam memberi bimbingan, kritik, saran, serta motivasi kepada penulis untuk
menyelesaikan laporan tugas akhir ini.
5. Dr. Ir. Iswanjono, M.T. dan Dr. Damar Widjaja, S.T., M.T., selaku dosen penguji yang
telah memberikan masukan, bimbingan, saran untuk merevisi laporan tugas akhir ini.
6. Bapak dan ibu dosen yang telah mengajarkan banyak hal selama penulis menempuh
pendidikan di Program Studi Teknik Elektro, Fakultas Sains dan Teknologi, Universitas
Sanata Dharma.
7. Para staff sekretariat Teknik Elektro, atas bantuannya dalam membantu dan melayani
mahasiswa.
8. Kedua orang tuaku serta keluarga besarku, atas doa dan dukungannya kepada penulis.
9. Para sahabat Teknik Elektro 2013 atas doa dan dukungannya agar penulis tetap semangat
dalam menyelesaikan laporan tugas akhir ini.
10. Semua pihak yang tidak dapat disebutkan satu persatu atas dukungan dan bantuan yang
telah diberikan dalam penyelesaian laporan tugas akhir ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
Pada akhirnya, penulis sangat menyadari bahwa laporan tugas akhir ini masih
terdapat banyak kekurangan. Oleh karena itu, penulis sangat mengharapkan masukan, kritik
dan saran yang sifatnya membangun agar laporan tugas akhir ini nantinya bisa menjadi lebih
baik dan dapat bermanfaat sebagaimana mestinya.
Penulis
Dirga Eka Putra Lebukan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
DAFTAR ISI
HALAMAN JUDUL ……………………………………………………………….. i
HALAMAN PERSETUJUAN ……………………………………………………... iii
HALAMAN PENGESAHAN ……………………………………………………… iv
PERNYATAAN KEASLIAN KARYA ………………………………………….... v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP …………………………. vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS …………………………………………………… vii
INTISARI …………………………………………………………………………. viii
ABSTRACT ………………………………………………………………………. ix
KATA PENGANTAR …………………………………………………………….. x
DAFTAR ISI ……………………………………………………………………… xii
DAFTAR GAMBAR ……………………………………………………………… xv
DAFTAR TABEL ………………………………………………………………… xviii
BAB I : PENDAHULUAN ………………………………………………………. 1
1.1. Latar Belakang ………………………………………………………….. 1
1.2. Tujuan dan Manfaat Penelitian …………………………………………. 2
1.3. Batasan Masalah ………………………………………………………... 2
1.4. Metodologi Penelitian ………………………………………………….. 3
BAB II : DASAR TEORI …………………………………………………………. 5
2.1. Jari Tangan ………………………………………………………………. 5
2.2. Pengolahan Citra ………………………………………………………... 6
2.2.2. Citra Red, Green, and Blue (RGB) ……………………………….. 7
2.3. Hue Saturation Value (HSV) …………………………………………… 8
2.4. Wavelet ………………………………………………………………….. 11
2.4.1. Wavelet Secara Umum ……………………………………………. 11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
2.4.2. Wavelet Haar ………………………………………………………. 13
2.4.3. Konvolusi ………………………………………………………….. 14
2.5. Template Matching dan Korelasi ……………………………………….. 16
2.6. Database Citra ………………………………………………………….. 17
2.7. Webcam ………………………………………………………………… 17
BAB III : RANCANGAN PENELITIAN ……………………………………… 19
3.1. Perancangan Sistem ……………………………………………………. 19
3.2. Proses Kerja Sistem ………………………………………………….… 20
3.2.1. Input Data …………………………………………………………. 20
3.2.2. Konversi Citra RGB ke HSV ……………………………………... 20
3.2.3. Segmentasi HSV ………………………………………………….. 21
3.2.4. Cropping dan Resizing ……………………………………………. 22
3.2.5. Ekstraksi Ciri Wavelet …………………………………………….. 23
3.2.6. Perhitungan Korelasi (Template Matching) ………………………. 27
3.2.7. Penentuan Keluaran ………………………………………………. 28
3.3. Database ………………………………………………………………. 29
3.4. Pengujian Pose Jari Tangan …………………………………………… 33
3.4.1. Pengujian secara Real Time ……………………………………... 33
3.4.2. Pengujian secara Non Real Time ………………………………... 33
3.5. Analisis Data Pengujian ………………………………………………. 33
3.6. Ruangan Pengujian dan Pencahayaan ………………………………… 34
3.6. Perancangan Tampilan GUI …………………………………………… 35
BAB IV : HASIL DAN PEMBAHASAN………………………………………... 40
4.1. Langkah – langkah Menjalankan Program ……………………………... 40
4.1.1. Langkah – langkah untuk Menjalankan
Program secara Real Time ……………………………………….. 40
4.1.2. Langkah – langkah untuk Menjalankan
Program secara Non Real Time ………………………………….. 44
4.2. Penjelasan Sintaks Program ……………………………………………. 46
4.2.1. Penjelasan Sintaks Program secara Real Time …………………... 46
4.2.1. Penjelasan Sintaks Program secara Non Real Time ……………… 53
4.3. Analisis Hasil Data Pengujian ………………………………………….. 54
4.3.1. Analisis Hasil Data Pengujian secara Real Time ………………… 57
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
4.3.2. Analisis Hasil Data Pengujian Secara Non Real Time …………… 59
BAB V : KESIMPULAN DAN SARAN ………………………………………... 63
5.1. Kesimpulan ……………………………………………………………. 63
5.2. Saran …………………………………………………………………… 63
DAFTAR PUSTAKA ……………………………………………………………. 64
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
DAFTAR GAMBAR
Halaman
Gambar 2.1. Jari Tangan …………………………………………………………. 5
Gambar 2.2. Bentuk Isyarat Angka 0-9 ………………………………………….. 6
Gambar 2.3. Proses Pembentukan Citra …………………………………………. 7
Gambar 2.4. Reprentasi Warna pada RGB ……………………………………… 8
Gambar 2.5. Ruang Warna HSV ………………………………………………... 9
Gambar 2.6. Skala Warna HSV ………………………………………………… 9
Gambar 2.7. Contoh Sintaks Program untuk Mengkonversi Citra RGB ke HSV, beserta
Memplot dan Menampilkan Citranya dengan
menggunakan Sintaks subplot dan imshow. ……………………………………. 10
Gambar 2.8. (a) Citra RGB (b) Citra HSV ……………………………………… 10
Gambar 2.9. Algoritma Pyramid ……………………………………………….. 11
Gambar 2.10. Wavelet Haar ……………………………………………………. 14
Gambar 2.11. Representasi Matriks dari Penjumlahan Konvolusi,
y = [ 6 25 45 39 16 12] …………………………………………………………. 15
Gambar 2.12. Webcam Logitech C270 yang digunakan dalam Penelitian …….. 17
Gambar 3.1. Diagram Blok Sistem …………………………………………….. 19
Gambar 3.2. Diagram Alir dari Proses Konversi Citra RGB ke HSV ………… 21
Gambar 3.3. Diagram Alir dari Proses Segmentasi HSV ……………………… 22
Gambar 3.4. Diagram Alir dari Proses Cropping ……………………………… 23
Gambar 3.5. Diagram Alir dari Proses Resizing ………………………………. 23
Gambar 3.6. Diagram Alir dari Proses Ekstraksi Ciri ………………………… 25
Gambar 3.7. Diagram Alir dari Proses Konvolusi …………………………….. 26
Gambar 3.8. Diagram Alir dari Proses Downsampling ……………………….. 26
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
Gambar 3.9. Diagram Alir dari Proses
Perhitungan Korelasi (Template Matching) …………………………………… 27
Gambar 3.10. Diagram Alir dari Proses Penentuan Keluaran ………………… 27
Gambar 3.11. Diagram Blok Proses Pembentukan Database ……………….... 30
Gambar 3.12. Ruangan Tugas Akhir Teknik Elektro USD yang digunakan dalam
Pengambilan Data ………………………………………................................... 34
Gambar 3.13. Tata Pencahayaan Ruangan Tugas Akhir
Teknik Elektro USD …………………………………………………………… 34
Gambar 3.14. Tampilan GUI Sistem Pengenalan Angka
dengan Pose Jari Tangan ……………………………………………………… 35
Gambar 3.15. Diagram Alir Proses yang Terdapat pada GUI ………………... 36
Gambar 4.1. Icon Matlab R2010a ……………………………………………. 40
Gambar 4.2. Tampilan Utama Matlab R2010a ………………………………. 41
Gambar 4.3. Directory D:\TE\TA Lokasi disimpannya File GUI ………….... 41
Gambar 4.4. Pemanggilan File GUI …………………………………………. 42
Gambar 4.5. GUI Software Pengenalan Angka dengan Pose Jari Tangan …… 42
Gambar 4.6. Pemilihan Variasi Desimasi ……………………………………. 43
Gambar 4.7. Contoh Ketika GUI dijalankan untuk Pengujian Angka 9
dengan Variasi Desimasi = 3 ………………………………………………… 43
Gambar 4.8. Pemanggilan File Program secara Non Real Time ……………. 44
Gambar 4.9. Memasukkan Nilai Desimasi, Misalnya Desimasi = 2 ………… 44
Gambar 4.10. Citra Hasil Cropping …………………………………………. 44
Gambar 4.11. Citra Hasil Resizing ………………………………………….. 45
Gambar 4.12. Citra Hasil Ekstraksi Ciri Wavelet dengan Desimasi = 2 …… 45
Gambar 4.13. Hasil Keluaran Teks pada Command Window Matlab ………. 46
Gambar 4.14. Icon Software Logitech Webcam ……………………………. 53
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
Gambar 4.15. Software Logitech Webcam pada
saat Pengambilan Foto Data Uji ……………………………………………. 53
Gambar 4.16. Grafik Hasil Pengujian Real Time …………………………... 58
Gambar 4.17. Grafik Hasil Pengujian Non Real Time ……………………... 60
Gambar 4.18. Percobaan di Ruang Tugas Akhir Teknik Elekro USD (1) … 61
Gambar 4.19. Percobaan di Ruang Tugas Akhir Teknik Elekro USD (2) … 62
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
DAFTAR TABEL
Halaman
Tabel 4.1. Proses Cropping sesuai Bounding Box ………………………………. 50
Tabel 4.2. Hasil Desimasi 1 s/d 3 pola Angka ASL 0-9 pada 5 Variasi Jarak …… 54
Tabel 4.3. Hasil Pengujian Real Time ……………………………………………. 58
Tabel 4.4. Hasil Pengujian Non Real Time ……………………………………….. 59
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Seiring dengan kemajuan teknologi hingga saat ini, begitu banyak teknologi
terobosan baru diciptakan guna untuk membantu manusia dalam hal-hal tertentu, misalnya
dalam hal pembelajaran. Salah satu teknologi yang saat ini berkembang pesat dan banyak
juga dikenal oleh para insinyur di dunia ialah teknologi image processing atau biasa disebut
dalam bahasa Indonesia ialah pengolahan citra.
Pengolahan citra atau image processing merupakan bidang yang berhubungan proses
transformasi citra yang bertujuan untuk mendapatkan kualitas citra yang lebih baik [1]. Salah
satu contoh aplikasi image processing adalah pengenalan angka dengan pose jari tangan,
dengan pola angka yang dikenali ialah pola isyarat angka American Sign Language (ASL).
Pada proses pengenalan, tidak semua objek akan dikenali dan digunakan. Metode yang
berfungsi untuk mereduksi piksel dibutuhkan, lalu kemudian akan digunakan sebagai ciri.
Proses ini dinamakan sebagai ekstraksi ciri.
Sistem pengenalan bahasa isyarat ASL melalui jari tangan ini sebelumnya sudah
pernah dilakukan, dengan pola yang dikenali ialah huruf A-Z pada ASL [2]. Metode yang
digunakan ialah Personal Component Analysis (PCA) dan Haar Like Feature. Selain itu,
software yang digunakan untuk membuat sistem ini ialah C Sharp dan library EmguCV.
Jarak pengujian pada sistem ini ialah 10 - 90 cm.
Pada penelitian ini, peneliti membuat sistem pengenalan angka 0-9 dengan pose jari
tangan sesuai dengan pola isyarat ASL menggunakan software Matlab, serta menggunakan
metode yang berbeda dari penelitian sebelumnya. Metode yang dimaksud ialah metode
ekstraksi ciri Wavelet dan metode pengenalan Template Matching. Selain itu, jarak
pengujian yang digunakan pada sistem ini ialah 1 - 3 m. Jarak pengujian ini mengacu pada
aturan komunikasi nonverbal dalam kategori personal (75-120 cm) dan sosial (120-210 cm
atau 210-360 cm) [3].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
Secara garis besar proses kerja dari sistem ini ialah mengambil citra pose jari tangan berupa
citra Red, Green, and Blue (RGB), konversi citra RGB ke citra Hue Saturation Value (HSV),
segmentasi HSV, cropping dan resizing, perhitungan korelasi (template matching), serta
penentuan keluaran. Proses segmentasi HSV pada penelitian ini, bertujuan untuk mengambil
objek yang ingin dikenali pada citra yang telah diambil. Sedangkan pada proses template
matching, perhitungan nilai korelasi dilakukan berdasarkan perbandingan antara database
citra yang telah dimasukkan dan citra pose jari tangan yang telah diambil dengan
menggunakan webcam (data uji). Hasil dari proses pengenalan angka dengan pose jari tangan
ini akan ditampilkan dengan berupa teks.
1.2. Tujuan dan Manfaat Penelitian
Tujuan dari penelitian ini adalah menghasilkan sistem pengenalan karakter angka 0-
9 berdasarkan pola isyarat ASL.
Manfaat dari penelitian ini adalah :
a. Untuk penelitian awal pengenalan kode angka berdasarkan pola isyarat ASL.
b. Untuk media pembelajaran bahasa isyarat pola ASL.
1.3. Batasan Masalah
Dalam proses pembuatan software pengenalan angka dengan pose jari tangan,
peneliti menetapkan beberapa batasan masalah dalam penelitian ini, antara lain :
a. Angka yang dapat dikenali ialah angka 0 s/d 9.
b. Menggunakan pola isyarat angka jenis American Sign Language.
c. Jarak pengujian antara webcam dan jari tangan yang digunakan ialah 1 m, 1,5 m, 2
m, 2,5 m, dan 3 m.
d. Warna background yang digunakan ialah hitam.
e. Orientasi jari tangan ialah tegak.
f. Segmentasi yang digunakan berdasarkan Hue Saturation Value (HSV).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
g. Ekstraksi ciri yang digunakan ialah Wavelet.
h. Metode pengenalan yang digunakan ialah Template Matching.
i. Resolusi kamera webcam yang digunakan ialah 3 MP (2048 x 1536 piksel).
j. Input citra jari tangan berupa citra Red, Green, and Blue (RGB).
k. Penguji menggunakan lengan panjang.
l. Tangan kiri penguji diletakkan di belakang.
m. Desimasi yang digunakan ialah desimasi 1 (32 x 32 piksel), desimasi 2 (16 x 16
piksel), dan desimasi 3 (8 x 8 piksel).
n. Ouput berupa teks.
o. Pencahayaan dalam pengambilan citra pose jari tangan dikondisikan sedemikian rupa
sehingga tidak menimbulkan efek silau pada citra.
p. Hasil pengenalan real time dan non real time.
q. Menggunakan software Matlab dalam pembuatan program.
1.4. Metodologi Penelitian
Langkah-langkah dalam pengerjaan penelitian ini:
a. Pengumpulan bahan-bahan referensi berupa buku dan jurnal-jurnal serta informasi
dari website yang terpercaya.
b. Perancangan software.
Tahap ini bertujuan untuk mencari bentuk atau model yang optimal dari software
yang akan dibuat dengan mempertimbangkan faktor-faktor permasalahan dan
kebutuhan yang ditentukan.
c. Pembuatan software.
Sofware akan mulai bekerja ketika pada mulanya penguji mengambil citra pose jari
tangan. Citra pose jari tangan berupa citra RGB, selanjutnya akan melalui beberapa
proses yang lebih lanjut, yaitu konversi citra RGB ke citra HSV, segmentasi HSV,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
cropping dan resizing, perhitungan korelasi (template matching), serta penentuan
keluaran. Hasil pengenalan dari citra pose jari tangan dilakukan dengan menekan
push button pada GUI (secara real time) dan run pada M-File Window matlab (secara
non real time). Semua proses dalam software ini akan diolah oleh komputer untuk
mendapatkan hasil pengenalan.
d. Analisa dan penyimpulan.
Analisa dilakukan dengan menyelidiki besar tingkat pengenalan dan menggambar
grafik dari tingkat pengenalan tersebut.
Penyimpulan hasil percobaan dilakukan dengan melihat hasil tingkat pengenalan dan
hasil data uji secara keseluruhan, serta hal-hal lainnya yang dapat ditarik sebagai
kesimpulan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II
DASAR TEORI
2.1. Jari Tangan
Jari merupakan suatu bagian tubuh yang berada pada tangan dan kaki manusia, baik
yang sebelah kiri ataupun kanan [4]. Pada manusia normal jari tangan sebanyak lima, yaitu:
Gambar 2.1. Jari Tangan
Keterangan Gambar 2.1 :
1. Jempol atau ibu jari.
2. Jari telunjuk.
3. Jari tengah merupakan jari yang paling panjang di antara jari tangan.
4. Jari manis.
5. Jari kelingking.
Jari tangan manusia sering digunakan sebagai alat komunikasi melalui gerakan pada
jari tersebut. Salah satu contoh yang sering digunakan oleh para penyandang tunawicara,
mereka berkomunikasi melalui gerak-gerakan yang mengandung arti tertentu.
1 2
3
4 5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
Salah satu bentuk isyarat yang digunakan bagi para penyandang tunawicara ialah
isyarat tentang pola angka seperti pada Gambar 2.2, yaitu untuk memperkenalkan angka 0-
9 dengan menggunakan jari tangan dalam berbagai pose, karakter-karakter tersebut akan
menunjukkan arti atau isyarat tentang pola angka.
0
1
2 3 4
5 6 7 8 9
Gambar 2.2. Bentuk Isyarat Angka 0-9
Gambar 2.2, merupakan isyarat bentuk angka pola American Sign Language [5].
Mode bahasa isyarat jenis ini yang paling banyak dikenal dan telah dipakai sebagai pedoman
bahasa isyarat pada dunia internasional.
2.2. Pengolahan Citra
Citra (image) merupakan gambar pada bidang dua dimensi, dengan citra adalah
dimensi spasial atau bidang yang berisi informasi warna yang tidak bergantung waktu [6].
Jika pendekatan matematis dilakukan, citra adalah fungsi yang sifatnya menerus
(continue) atas intensitas cahaya pada bidang dua dimensi. Sumber cahaya menerangi objek,
objek memantulkan kembali seluruh atau sebagian berkas cahaya, kemudian ditangkap oleh
alat optis atau elektro-optis.
Citra terdiri atas piksel, dengan piksel merupakan sekumpulan titik-titik pada pada
gambar. Titik-titik tersebut menggambarkan posisi koordinat dan mempunyai intensitas
yang dapat dinyatakan dalam f(x,y), dengan (x,y) adalah koordinat pada bidang dua dimensi
dan f(x,y) adalah intensitas cahaya (brightness) pada titik (x,y).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Karena cahaya merupakan bentuk energi, maka intensitas cahaya bernilai antara 0
sampai tak hingga (0 ≤ f( x,y) < ∞). Nilai f(x,y) adalah perkalian antara :
1. i(x,y) : Energi cahaya yang datang dari sumbernya (illumination), dengan nilai dari 0
sampai tak hingga, dan
2. r(x,y) : Derajat kemampuan objek memantulkan cahaya (reflection) dengan nilai
antara 0 dan 1. Nilai 0 adalah penyerapan total, sedangkan nilai 1 adalah pemantulan
total.
Gambar 2.3 menunjukkan proses pembentukan intensitas cahaya. Sumber cahaya
menyinari objek, besar pancaran cahaya yang diterima oleh objek pada koordinat (x,y)
adalah i(x,y), setelah itu objek memantulkan cahaya yang diterima dengan derajat
pemantulan r(x,y).
Hasil perkalian antara i(x,y) dan r(x,y) merupakan intensitas cahaya pada koordinat
(x,y) yang ditangkap oleh sensor visual pada sistem optis. Jadi dengan demikian f(x,y) =
i(x,y).r(x,y) dengan : 0 ≤ i(x,y) < ∞ dan 0 ≤ r(x,y) ≤ 1, sehingga 0 ≤ f(x,y) < ∞.
Gambar 2.3. Proses Pembentukan Citra [6]
Proses pra-pengolahan citra (image pre-prosessing) dilakukan untuk memperoleh
citra yang mempunyai kualitas yang lebih baik daripada citra sebelumnya. Dengan cara
memanipulasi parameter-parameter citra, akan menghasilkan bentuk yang lebih cocok
terhadap nilai-nilai piksel citra tersebut untuk proses yang lebih lanjut.
2.2.1. Citra Red, Green, and Blue (RGB)
Red (Merah), Green (Hijau) dan Blue (Biru) adalah warna dasar yang dapat ditangkap
oleh mata manusia. Setiap piksel pada citra warna mewakili warna dari kombinasi ketiga
warna dasar RGB. Setiap titik pada citra warna membutuhkan data sebesar 3 byte. Setiap
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
warna dasar memiliki intensitas tersendiri dengan nilai minimum nol (0) dan nilai maksimum
255 (8 bit). RGB berdasar pada teori bahwa mata manusia peka terhadap panjang gelombang
630 nm (merah), 530 nm (hijau), dan 450 nm (biru) [7].
Gambar 2.4. Reprentasi Warna pada RGB [7]
Pada Gambar 2.4 di atas dapat dilihat bahwa :
1. RGB terdiri atas tiga warna utama, yaitu merah, hijau, dan biru.
2. Campuran antar dua warna pada RGB menghasilkan warna baru, yaitu : kuning =
merah + hijau, cyan = hijau + biru, dan magenta = biru + merah.
3. Bila seluruh warna merah, hijau, dan biru dicampur akan menghasilkan warna putih.
2.3. Hue Saturation Value (HSV)
HSV mendefinisikan warna dalam terminologi Hue, Saturation, dan Value.
Keuntungan HSV ialah terdapat beberapa warna yang sama dengan yang mampu ditangkap
oleh indra manusia [8]. Sedangkan warna yang dibentuk oleh model lainnya seperti RGB
merupakan hasil campuran dari warna-warna primer.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Gambar 2.5. Ruang Warna HSV [8]
Model HSV pertama kali diperkenalkan oleh A.R Smith pada tahun 1978, yang
ditunjukkan pada Gambar 2.5. Melalui model gambar tersebut, dapat diketahui bahwa HSV
memiliki 3 karakteristik pokok, yaitu Hue, Saturation, dan Value. Berikut ini penjelasannya.
Hue : Menyatakan warna sebenarnya, seperti merah, violet, dan kuning. Serta
digunakan menentukan kemerahan (redness), kehijauan (greeness), dan sebagainya.
Saturation : Kadang disebut chroma, adalah kemurnian atau kekuatan warna.
Value : Kecerahan dari warna. Nilainya berkisar antara 0-100 %. Apabila nilainya 0
maka warnanya akan menjadi hitam. Semakin besar nilai value, maka semakin cerah
dan akan muncul variasi-variasi baru dari warna tersebut.
Selain penjelasan di atas, berikut ini penjelasan tambahan tentang skala 3 komponen
warna HSV berdasarkan Gambar 2.6.
Gambar 2.6. Skala Warna HSV [9]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
Hue : Mewakili 360 derajat warna, dengan nilai warnanya dapat dilihat pada gambar
(b).
Saturation : Pada panah horizontal yang berwarna hitam, mempunyai nilai antara 0
hingga 100 atau 0 sampai 1. Nilai 0 untuk warna putih dan jika semakin besar maka
merujuk kepada warna asli dari hue.
Value : Pada panah vertikal yang berwarna putih, nilai sama dengan saturation. Nilai
0 mengacu pada hitam, sedangkan jika semakin besar akan menghasilkan warna asli
dari hue.
Untuk memperoleh citra HSV yang ingin dikonversi dari citra RGB pada software
matlab, sintaks program utama yang digunakan ialah rgb2hsv. Untuk lebih jelasnya, Gambar
2.7 dan 2.8 contoh pengimplementasiannya pada suatu citra.
Gambar 2.7. Contoh Sintaks Program untuk Mengkonversi Citra RGB ke HSV, beserta
Menampilkan Citranya dengan Menggunakan Sintaks subplot dan imshow.
(a) (b)
Gambar 2.8. (a) Citra RGB (b) Citra HSV
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
2.4. Wavelet
2.4.1. Wavelet Secara Umum
Menurut Sydney [10], Wavelet merupakan gelombang mini (small wave) yang
memiliki kemampuan dalam mengelompokkan energi citra dan terkonsentrasi pada
sekelompok kecil koefisien, sedangkan kelompok koefisien lainnya hanya mengandung
sedikit energi yang mampu dihilangkan tanpa mengurangi nilai informasinya. Wavelet telah
banyak digunakan dalam berbagai bidang seperti pengolahan citra. Pada umumnya wavelet
biasa digunakan untuk menyajikan data atau fungsi ke dalam komponen-komponen
frekuensi yang berlainan. Proses ini dinamakan dengan proses dekomposisi dan kemudian
mengkaji setiap komponen dengan suatu resolusi yang sesuai dengan skalanya.
Transformasi wavelet merupakan pengubahan sinyal ke dalam berbagai basis wavelet
dengan berbagai pergeseran dan penyekalaan. Oleh karena itu, koefisien wavelet dari
beberapa skala atau resolusi dapat dihitung dari koefisien wavelet pada resolusi tinggi
berikutnya. Hal ini memungkinkan pengimplementasian transformasi wavelet menggunakan
struktur pohon yang dikenal dengan algoritma piramid (pyramid algorithm), yang dapat
dilihat pada Gambar 2.9.
CAj
Gambar 2.9. Algoritma Pyramid
h(n)
g(n)
2 1
2 1
h(n)
g(n)
h(n)
h(n)
h(n)
g(n)
h(n)
1 2
1 2
1 2
1 2
112
2
baris
baris
kolom
kolom
kolom
kolom
CAj+1
CDj+1
(h)
CDj+1
(v)
CDj+1
(d)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
Keterangan Gambar 2.9 :
baris
: konvolusi baris dengan tapis g(n) atau h(n)
kolom
: konvolusi kolom dengan tapis g(n) atau h(n)
: sampling dengan menjaga kolom yang genap
: sampling dengan menjaga baris yang genap
Dekomposisi wavelet satu level berdasarkan algoritma pyramid. Dengan h(n) adalah
tapis pelewat bawah, g(n) adalah tapis pelewat atas CA j(LL) adalah koefisien rerata, CDj(h)
(HL), CDj(v)(LH), dan CDj
(d)(HH) yang masing-masing adalah koefisien detil horizontal,
vertical, dan diagonal.
Proses dekomposisi tersebut dapat dilakukan sebanyak lebih dari satu kali, yaitu
sebanyak jumlah level yang telah ditentukan sebelumnya. Untuk melakukan dekomposisi
lebih dari satu kali, proses dekomposisi selanjutnya dekomposisi pada koefisien aproksimasi
(cA) atau LL dilakukan, karena berisi sebagian besar dari informasi citra. Kemudian
diperoleh 4 subband lagi, yaitu LL1, LH1, HL1 dan HH1. Begitu seterusnya hingga
mencapai level yang diinginkan. Sebagai contoh, terdapat citra dengan matriks input sebagai
berikut :
M = [
2 5 6 76 7 3 58 3 1 39 6 2 2
]
Tapis low pass dan tapis high pass dengan jenis haar adalah sebagai berikut:
𝐿𝑜𝑤 𝑃𝑎𝑠𝑠 = [
1
√2
1
√2 0 0
0 0 1
√2
1
√2 ] 𝐻𝑖𝑔ℎ 𝑃𝑎𝑠𝑠 = [
1
√2 −
1
√2 0 0
0 0 1
√2 −
1
√2 ]
Langkah pertama adalah mengalikan tapis low pass dengan matriks M terhadap
baris. Untuk memudahkan perkalian terhadap baris dilakukan transpose pada matriks M,
sehingga diperoleh :
X
X
2 1
2
1 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
MT = [
2 6 8 95 7 3 66 3 1 27 5 3 2
]
Kemudian, perkalian matriks MT
dengan tapis low pass dilakukan dengan
menghasilkan matriks D1T.
D1T =
[
1
√2
1
√2 0 0
0 0 1
√2
1
√2 ]
x [
2 6 8 95 7 3 66 3 1 27 5 3 2
] = [4,9497 9,1924 7,7782 10,6066 9,1924 5,6569 2,8284 2,8284
]
Untuk mengembalikan ke baris dan kolom sebenarnya, proses transpose kembali
pada matriks D1T dilakukan.
D = [
4,9497 9,19249,1924 5,65697,7782 2,828410,6066 2,8284
]
Langkah selanjutnya adalah melakukan perkalian tapis low pass dengan matriks D1
terhadap kolom. Proses tersebut menghasilkan matriks D2, sebagai berikut :
D2 =
[
1
√2
1
√2 0 0
0 0 1
√2
1
√2 ]
x [
4,9497 9,19249,1924 5,65697,7782 2,828410,6066 2,8284
] = [10 10,513 4
]
Matriks D2 ini yang disebut dengan koefisien aproksimasi (LL). Untuk mencari
nilai HL, LH dan HH, sama seperti langkah di atas, namun dengan mengalikan tapis low
pass terhadap baris dan tapis high pass terhadap kolom untuk HL, mengalikan tapis high
pass terhadap baris dan tapis low pass terhadap kolom untuk LH, dan mengalikan tapis high
pass terhadap baris dan kolom untuk HH.
2.4.2. Wavelet Haar
Haar adalah jenis wavelet tertua dan paling sederhana, yang diperkenalkan oleh Alfred
Haar pada tahun 1909 [10]. Koefisien transformasi h0 = (h0(0), h1(1)) = {1
2,1
2} (tapis low
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
pass) dan h1 = (h0(0), h1(1)) = {1
2, −
1
2} (tapis high pass) ini merupakan fungsi basis
wavelet Haar. Pada citra, tapis high pass dan tapis low pass dapat direprentasikan sebagai
matriks 2D. Dekomposisi perataan dan pengurangan yang telah dilakukan sebelumnya
sebenarnya sama dengan melakukan dekomposisi (transformasi) citra dengan wavelet Haar.
Kedua tapis tersebut bersifat ortogonal namun tidak ortonormal. Tapis Haar yang bersifat
ortogonal dan juga ortonormal adalah :
h0 = {1
√2,
1
√2} (2.1)
h1 = {1
√2, −
1
√2} (2.2)
Gambar 2.10. Wavelet Haar
2.4.3. Konvolusi
Konvolusi merupakan sebuah operasi matematika sederhana yang sangat umum
digunakan pada pengolahan citra [10]. Jika ada dua barisan u dan h maka hasil
konvolusinya (y) dapat dinyatakan dalam persamaan:
yk = ∑ unhk−n∞n= −∞ (2.3)
Secara singkat, notasi yang digunakan untuk konvolusi adalah :
{yk} = {uk} ∗ {hk} atau y = u ∗ h (2.4)
Yang berarti juga bahwa konvolusi mempunyai sifat yang komutatif, yaitu:
y = h ∗ u = u ∗ h (2.5)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Matriks dapat memudahkan dalam perhitungan konvolusi. Seperti Gambar 2.11
merupakan contoh penyelesaian sebuah konvolusi dari dua baris u = {2 5 6} dan h = {3
5 1 2}.
X 3 5 1 2
2 6 10 2 4
5 15 25 5 10
6 18 30 6 12
Gambar 2.11. Representasi Matriks dari Penjumlahan Konvolusi,
y = [ 6 25 45 39 16 12]
Masukan yang diterima, dapat digunakan sebagai low pass filter. Low pass filter
dari sinyal x(n) dengan masukan w(n) adalah suatu proses konvolusi antara x(n) dengan
w(n). Bila sinyal x(n) memiliki panjang yang terbatas dan juga ujung-ujung sinyalnya
diskontinyu, akan mengakibatkan distorsi pada ujung-ujung sinyal dari hasil konvolusi.
Terdapat suatu metode memperpanjang sinyal x(n) dengan cara sinyal pengulangan yang
disebut periodisasi. Metode ini untuk mengatasi masalah akan sinyal x(n) yang memiliki
panjang terbatas yang diusulkan oleh Misiti et al [10]. Berikut contoh dari metode tersebut,
x(n) = {x(1), x(2), ..., x(M)} yang akan dikonvolusi dengan masukan w(n)= {w(1), w(2),
..., w(N)}, dengan N adalah bilangan genap dan M>N, sehingga sinyal pengulangan dengan
cara periodisasi akan menjadi :
xper(n) = {x(M-j+1),…,x(M),x(1),…,x(M),x(1),…,x(N-1)} (2.6)
dengan : j = N/2
Konvolusi sinyal yang diperpanjang xper (n) dengan masukan w(n) akan
menghasilkan sinyal keluaran :
𝑦 (n) = xper(n) * w(n) (2.7)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
atau
y(n) = ∑ xper(n)w(j + 1 − n)n (2.8)
dengan M + N– 1 lebih besar dari panjang x(n). Agar sinyal output memiliki panjang yang
sama dengan sinyal input, maka hanya bagian-bagian tertentu dari sinyal output yang
dipilih. Contohnya y(n)= {y(1), y(2), … , y(L)}, dengan L= M + N – 1, jadi yang dipilih
bagian-bagian tertentu dari y(n) adalah :
𝑦keep (n) = {y(N+1),…,y(N+M)} (2.9)
2.5. Template Matching dan Korelasi
Template matching merupakan metode pencocokan setiap piksel pada suatu matriks
citra digital dengan citra yang menjadi acuan (database citra) [11]. Pencocokan citra yang
menghasilkan tingkat kemiripan/kesamaan yang tinggi menentukan suatu citra tersebut
dapat dikenali.
Data uji dan database citra, menghasilkan data berupa matriks, dan akan dicari nilai
kesamaan antar dua buah matriks tersebut dengan menghitung nilai korelasinya. Nilai
korelasi antar dua buah matriks diperoleh dengan menggunakan rumus korelasi seperti yang
ditunjukkan pada Persamaan 2.10 berikut ini.
r = ∑ (xak− xa̅̅ ̅).(xbk− xb̅̅̅̅ )n
k=1
√∑ (xak− xa̅̅ ̅)2nk=1 .∑ (xbk− xb̅̅̅̅ )2n
k=1 (2.10)
Nilai xa̅ dirumuskan dengan Persamaan 2.10 dan xb̅̅ ̅ dirumuskan dengan Persamaan
2.11.
xa̅ = 1
n ∑ xak
nk=1 (2.11)
xb̅̅ ̅ = 1
n ∑ xbk
nk=1 (2.12)
Keterangan Persamaan 2.10 – 2.12 :
r adalah nilai korelasi antara dua buah matriks (rentang nilai antara -1 dan +1)
xak adalah nilai piksel ke-k dalam matriks a
xbk adalah nilai piksel ke-k dalam matriks b
xa̅ adalah rata-rata nilai piksel matriks a
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
xb̅ adalah rata-rata nilai piksel matriks b
n adalah jumlah piksel dalam suatu matriks
2.6. Database Citra
Database citra adalah suatu citra acuan yang digunakan untuk dibandingkan dengan
data uji berdasarkan fungsi yang digunakan, apakah fungsi jarak atau similaritas. Database
citra ini tersusun atas matriks dengan pada setiap elemennya terdapat nilai-nilai yang akan
digunakan untuk menghitung besar jarak dan similaritasnya. Proses pembentukan database
citra ini diperoleh dari hasil rata-rata beberapa sampel citra, jika sampel citra yang banyak.
Untuk lebih jelasnya berikut ini persamaannya :
𝐷𝑎𝑡𝑎𝑏𝑎𝑠𝑒 Citra = Sampel Citra 1+Sampel Citra 2+ ...+Sampel Citra n
n [12] (2.13)
2.7. Webcam
Webcam atau Kamera web merupakan kamera video yang menyediakan aliran
gambar dengan waktu sebenarnya yang dikendalikan oleh sebuah komputer atau jaringan
komputer. Ketika diambil oleh komputer, aliran video dapat disimpan, dilihat, atau dikirim
ke jaringan lain melalui sistem seperti internet dan e-mail sebagai lampiran [13]. Tidak
seperti kamera IP (yang terhubung menggunakan Ethernet atau Wi-Fi), kamera web
umumnya dihubungkan dengan kabel USB atau dibangun ke dalam perangkat keras
komputer, seperti laptop.
Gambar 2.12. Webcam Logitech C270 yang digunakan dalam Penelitian [14]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Spesifikasi Teknis Webcam Logitech C270 [15] :
Panggilan video HD (1280 x 720 piksel) dengan sistem yang telah
direkomendasikan.
Perekaman video : Maksimum hingga 1280 x 720 piksel.
Foto : Maksimum hingga 3 megapiksel (ditingkatkan menggunakan software).
Mikrofon bawaan dengan teknologi Logitech RightSound.
Bersertifikat Hi-Speed USB 2.0 (direkomendasikan).
Klip universal cocok dengan berbagai laptop dan monitor LCD atau CRT.
Dimensi kemasan : Tinggi x Lebar x Tebal (cm) : 21 x 16 x 9.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
BAB III
RANCANGAN PENELITIAN
Bab 3 ini akan menjelaskan tentang langkah-langkah perancangan pembuatan sistem
pengenalan angka dengan pose jari tangan. Bab ini berisi blok diagram sistem dan berbagai
hal yang diperlukan dalam perancangan.
3.1. Perancangan Sistem
Perancangan sistem pengenalan angka dengan pose jari tangan ini terdiri dari
beberapa tahap, yaitu masukan berupa citra RGB, konversi citra RGB ke HSV, segmentasi
HSV, ekstraksi ciri wavelet, perhitungan korelasi (template matching), dan penentuan
keluaran. Blok diagram sistem pengenalan angka dengan pose jari tangan ini dapat dilihat
pada Gambar 3.1.
Gambar 3.1. Diagram Blok Sistem
Pengambilan Citra
(Citra RGB)
Konversi ke
citra RGB ke
HSV
Segmentasi
HSV
Perhitungan Korelasi
(Template Matching) Ekstraksi Ciri
Wavelet
Penentuan
Keluaran
Database
Cropping dan
Resizing
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Pada Gambar 3.1, proses pengambilan citra dilakukan oleh webcam. Setelah itu citra
yang telah diambil akan diproses lebih lanjut pada laptop melalui beberapa tahap yang
terdapat pada diagram blok sistem. Sistem pengenalan angka dengan pose jari tangan terdiri
dari software yang berfungsi sebagai user interface. Program pengenalan angka dengan pose
jari tangan ini dibuat dengan menggunakan matlab versi R2010a. Program berperan dalam
mengatur setiap proses yang akan dilalui untuk mendapatkan hasil pengenalan angka. Sistem
pengenalan angka dengan pose jari tangan ini dibuat dengan hasil pengenalan secara real
time dan non real time .
3.2. Proses Kerja Sistem
3.2.1. Input Data
Input data yang digunakan dalam sistem ini adalah citra pose jari tangan. Citra pose
jari tangan diambil dengan menggunakan webcam yang mempunyai resolusi 3 MP. Jarak
pengambilan citra pose jari tangan dengan webcam adalah 1 - 3 m dengan tujuan untuk
melihat dan membandingkan berapa banyak angka yang dapat dikenali pada beberapa jarak
pengujian tersebut.
3.2.2. Konversi Citra RGB ke HSV
Pada tahap ini, citra pose jari tangan yang awalnya mempunyai format citra RGB,
akan dikonversi terlebih dahulu menjadi format HSV. Hal ini dilakukan untuk proses
segmentasi HSV. Proses konversi RGB ke HSV, digunakan sintaks utama yang sudah
dijelaskan pad Bab II, yaitu rgb2hsv. Diagram alir dari proses konversi citra RGB ke HSV
terdapat pada Gambar 3.2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Gambar 3.2. Diagram Alir dari Proses Konversi Citra RGB ke HSV
3.2.3. Segmentasi HSV
Pada tahap ini, citra pose jari tangan yang telah dikonversi ke HSV akan
disegmentasi. Dengan segmentasi menggunakan HSV ini, dapat ditentukan kelompok warna
mana yang diinginkan, apakah kelompok hue, saturation, atau value. Dalam penelitian ini,
kelompok HSV saturation dan value yang digunakan. Hal ini menyesuaikan dengan warna
kulit dalam data penelitian yang akan digunakan. Awalnya akan disegmentasi bagian kulit
terlebih dahulu berdasarkan nilai ambang S (Saturation) dan V (Value) (akan dievaluasi pada
Bab IV). Setelah mendapatkan bagian kulit, pengambilan bagian tangan dilakukan. Dalam
proses ini, awalnya perhitungan luasan objek pada citra dan mengambil objek yang memiliki
luasan kedua terbesar, yaitu bagian tangan dilakukan. Untuk lebih jelasnya, berikut diagram
alir dari proses segmentasi HSV pada Gambar 3.3.
Mulai
Input :
Citra RGB (Nilai
R,G, dan B)
Konversi ke HSV
Berdasarkan Nilai R,
G, dan B
Output :
Citra HSV
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Gambar 3.3. Diagram Alir dari Proses Segmentasi HSV
3.2.4. Cropping dan Resizing
Pada tahap ini, citra pose jari tangan yang telah disegmentasi menggunakan HSV,
akan masuk ke dalam proses cropping dan resizing. Kedua proses ini bertujuan untuk
memotong bagian citra yang akan dikenali berdasarkan bounding box dan mengubah ukuran
atau size citra menjadi ukuran 64 x 64 piksel [16]. Diagram alir dari proses cropping dan
resizing terdapat pada Gambar 3.4 dan 3.5.
Mulai
Input :
Citra HSV
Segmentasi Kulit (Bagian
Muka dan Tangan)
Berdasarkan Nilai Ambang
S dan V
Pengambilan Objek yang
Memiliki Luasan Kedua
Terbesar (Bagian Tangan)
Output :
Citra Hasil
Segmentasi HSV
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Gambar 3.4. Diagram Alir dari Proses Cropping
Gambar 3.5. Diagram Alir dari Proses Resizing
Mulai
Input :
Citra Hasil
Segmentasi HSV
Potong Bagian
Tangan sesuai
Bounding Box
Output :
Citra Hasil
Cropping
Selesai
Input :
Citra Hasil
Cropping
Mulai
B
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Gambar 3.5. (Lanjutan) Diagram Alir dari Proses Resizing
3.2.5. Ekstraksi Ciri Wavelet
Pada tahap ini, citra pose jari tangan hasil cropping dan resizing, akan masuk ke
dalam proses ekstraksi ciri Wavelet. Wavelet adalah ekstraksi ciri yang digunakan dalam
tahap pengambilan ciri pada suatu citra. Dalam penelitian ini, Wavelet yang digunakan ialah
wavelet Haar dengan memiliki 4 macam filter, tetapi dalam penelitian ini hanya
dekomposisi low pass filter yang digunakan, karena hanya bentuk dasar dari citra yang
akan dicari. Wavelet Haar dilakukan dengan menerapkan konvolusi dan dekomposisi low
pass filter secara simultan untuk mendapatkan sinyal global. Secara keseluruhan tahap
ekstraksi ciri dapat dilihat pada Gambar 3.6. Input dari proses ekstraksi ciri adalah
citra hasil cropping dan resizing yang kemudian akan dikonvolusi dan dilanjutkan pada
tahap downsampling. Output dari ekstraksi ciri tergantung dari banyaknya desimasi (N)
yang akan ditentukan oleh penguji. Tahap ini akan melakukan pengulangan sampai
menghasilkan N = 0.
Resizing ke Ukuran
64 x 64 Piksel
Output :
Citra Hasil
Resizing
Selesai
B
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
Gambar 3.6. Diagram Alir dari Proses Ekstraksi Ciri
Tahap konvolusi merupakan tahap untuk melakukan filtering, menggunakan
dekomposisi low pass filter pada wavelet Haar. Tahap konvolusi ini berada pada bidang
dimensi dua, oleh karena itu konvolusi diterapkan sebanyak dua kali, yaitu pada kolom
dan baris citra input. Dari masukan berupa citra hasil cropping dan resizing yang kemudian
akan dikonvolusi per-baris dan per-kolom (lihat Gambar 3.7.).
Mulai
Input :
Citra Hasil Cropping dan
Resizing
Desimasi = N
Konvolusi
Menggunakan
Wavelet Haar
N = N-1
N=0 ?
Output :
Hasil Ekstraksi
Ciri
Selesai
Ya
Tidak
Downsampling
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
Gambar 3.7. Diagram Alir dari Proses Konvolusi
Tahap downsampling adalah tahap setelah konvolusi, dengan hasil dari konvolusi
merupakan masukan untuk downsampling. Untuk memproses masukan ada dua proses,
yaitu menghilangkan baris dan kolom ganjil dengan menjaga baris dan kolom genap
seperti diperlihatkan pada Gambar 3.8.
Gambar 3.8. Diagram Alir dari Proses Downsampling
Mulai
Input :
Citra Hasil Cropping dan
Resizing
Konvolusi (1D) dengan
Ekstensi per-Baris
Konvolusi (1D) dengan
Ekstensi per-Kolom
Output :
Hasil Konvolusi 2D
Selesai
Mulai
Input :
Hasil Konvolusi 2D
Menghilangkan Baris
Ganjil
C
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Gambar 3.8. (Lanjutan) Diagram Alir dari Proses Downsampling
3.2.6. Perhitungan Korelasi (Template Matching)
Pada tahap ini, citra pose jari tangan yang telah diekstraksi ciri dengan menggunakan
wavelet, selanjutnya akan masuk ke dalam proses perhitungan korelasi dan pada proses ini
juga mencakup proses template matching. Tahap ini adalah tahap membandingkan citra
masukan pose jari tangan yang diambil dengan database citra pola angka ASL 0 – 9 yang
telah dimasukkan sebelumnya dan dalam tahap ini juga digunakan fungsi korelasi. Proses
perhitungan korelasi (template matching) akan berdasar pada Persamaan 2.10 – 2.12 pada
Bab II dan direpresentasikan pada diagram alir Gambar 3.9.
Gambar 3.9. Diagram Alir dari Proses Perhitungan Korelasi (Template Matching)
Menghilangkan
Kolom Ganjil
Output :
Hasil Downsampling
(Hasil Ekstraksi Ciri)
Selesai
Mulai
Input :
Hasil Ekstraksi Ciri
Masukan, Ekstraksi Ciri
Database
D
C
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Gambar 3.9. (Lanjutan) Diagram Alir dari Proses Perhitungan Korelasi (Template
Matching)
3.2.7. Penentuan Keluaran
Setelah melalui beberapa proses, tahap terakhir dari sistem pengenalan angka dengan
pose jari tangan ini ialah keluaran berupa teks. Proses penentuan keluarannya ditentukan
berdasarkan perhitungan nilai korelasi yang terbaik (yang paling tinggi). Diagram alir dari
proses penentuan keluaran dapat dilihat pada Gambar 3.10.
Gambar 3.10. Diagram Alir dari Proses Penentuan Keluaran
Output :
Hasil Perhitungan Nilai
Korelasi
Perhitungan Korelasi =
Ekstraksi Ciri Data Masukan
dengan Ekstraksi Ciri Database
Selesai
D
Mulai
Input :
Hasil Perhitungan
Nilai Korelasi (r)
E
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Gambar 3.10. (Lanjutan) Diagram Alir dari Proses Penentuan Keluaran
3.3. Database
Database diperlukan pada proses perhitungan korelasi (template matching).
Pembentukan dari database terdiri dari angka 0-9 mengikuti pola isyarat American Sign
Language. Pembentukan database diambil dari citra pose jari tangan hasil ekstraksi ciri
wavelet. Ukuran piksel dari database ini tersusun atas matriks yang selanjutnya akan
terdapat 3 variasi citra. Ketiga variasi ini mengikuti banyaknya desimasi yang diinginkan,
yaitu 3 kali desimasi. Untuk desimasi 1 : 32 x 32 piksel, desimasi 2 : 16 x 16 piksel, dan
desimasi 3 : 8 x 8 piksel [16]. Database hasil ekstraksi ciri yang dibentuk ialah sebanyak 3
matriks. Matriks database ini diperoleh dari hasil perhitungan rerata matriks citra pola
isyarat angka ASL dari 5 variasi jarak pada setiap variasi citranya. Diagram blok proses
pembentukan database ditunjukkan pada Gambar 3.11.
Citra Keluaran = Nilai
Korelasi yang Terbaik
Output :
Hasil Berupa
Teks
E
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Gambar 3.11. Diagram Blok Proses Pembentukan Database
Setelah melihat diagram blok dari proses pembentukan database pada Gambar 3.11,
berikut ini pola persamaan pembentukan database hasil ekstraksi ciri berdasar Persamaan
2.13 pada Bab II :
Citra 𝐷𝑎𝑡𝑎𝑏𝑎𝑠𝑒 ASL = Sampel Citra ASL 1+Sampel Citra ASL 2+ ...+Sampel Citra ASL 5
5
Dari pola persamaan pembentukan database di atas, berikut ini pencerminan
persamaan pembentukan database hasil ekstraksi ciri dalam bentuk matriks pada setiap
variasi citra.
Contoh Pola Perhitungan Rerata untuk Angka 0 Menggunakan Citra 32 x 32
Piksel :
0_1m 0_1,5m 0_3m Hasil Rerata
[
A1(1,1)A1(2,1)A1(3,1)
.
.
. A1(1024,1)]
+
[
A1(1,1)A1(2,1)A1(3,1)
.
.
. A1(1024,1)]
+ …………+
[
A1(1,1)A1(2,1)A1(3,1)
.
.
. A1(1024,1)]
5=
[
A1′(1,1)
A1′(2,1)
A1′(3,1)...
A1′(1024,1)]
Pengambilan Citra
(Citra RGB)
Konversi RGB
ke HSV
Segmentasi
HSV
Ekstraksi Ciri
Wavelet Database
Angka Uji
Jarak Pengujian
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Contoh Pola Perhitungan Rerata untuk Angka 0 Menggunakan Citra 16 x
16 Piksel :
0_1m 0_1,5m 0_3m Hasil Rerata
[
A2(1,1)A2(2,1)A2(3,1)
.
.
. A2(256,1)]
+
[
A2(1,1)A2(2,1)A2(3,1)
.
.
. A2(256,1)]
+ …………+
[
A2(1,1)A2(2,1)A2(3,1)
.
.
. A2(256,1)]
5=
[
A2′(1,1)
A2′(2,1)
A2′(3,1)...
A2′(256,1)]
Contoh Pola Perhitungan Rerata untuk Angka 0 Menggunakan Citra 8 x 8
Piksel :
0_1m 0_1,5m 0_3m Hasil Rerata
[
A3(1,1)
A3(2,1)A3(3,1)
.
.
. A3(64,1)]
+
[
A3(1,1)
A3(2,1)A3(3,1)
.
.
. A3(64,1)]
+ …………+
[
A3(1,1)
A3(2,1)A3(3,1)
.
.
. A3(64,1)]
5=
[
A3′(1,1)
A3′(2,1)
A3′(3,1)...
A3′(64,1)]
Setelah menghitung rerata matriks hasil ekstraksi ciri pada setiap variasi citra,
selanjutnya dilakukan penyusunan matriks database. Hasil dari susunan matriks ini,
selanjutnya akan dijadikan acuan dalam proses perhitungan korelasi (template matching).
Berdasarkan persamaan korelasi pada Bab II, matriks database ini merupakan matriks b.
Untuk lebih jelasnya berikut ini susunannya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Susunan Matriks Database Hasil Rerata Citra 32 x 32 Piksel :
0 1 2 …… 9
[
A1′(1,1)
A1′(2,1)
A1′(3,1)...
A1′(1024,1)
B1′(1,2)
B1′(2,2)
B1′(3,2)...
B1′(1024,2)
C1′(1,3)
C1′(2,3)
C1′(3,3)...
C1′(1024,3)
J1′(1,10)
J1′(2,10)
……… . . J1′(3,10) . . .
J1′(1024,10)
]
Susunan Matriks Database Hasil Rerata Citra 16 x 16 Piksel :
0 1 2 …… 9
[
A2′(1,1)
A2′(2,1)
A2′(3,1)...
A2′(256,1)
B2′(1,2)
B2′(2,2)
B2′(3,2)...
B2′(256,2)
C2′(1,3)
C2′(2,3)
C2′(3,3)...
C2′(256,3)
J2′(1,10)
J2′(2,10)
……… . . J2′(3,10) . . .
J2′(256,10)
]
Susunan Matriks Database Hasil Rerata Citra 8 x 8 Piksel :
0 1 2 …… 9
[ A3′(1,1)
A3′(2,1)
A3′(3,1)...
A3′(64,1)
B3′(1,2)
B3′(2,2)
B3′(3,2)...
B3′(64,2)
C3′(1,3)
C3′(2,3)
C3′(3,3)...
C3′(64,3)
J3′(1,10)
J3′(2,10)
……… . . J3′(3,10) . . .
J3′(64,10)
]
Angka Uji
Matriks Hasil Rerata
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
3.4. Pengujian Pose Jari Tangan
3.4.1. Pengujian secara Real Time
Pada prinsipnya, pengujian secara real time akan diakses melalui GUI (Graphical
User Interface), yang dapat dilihat bentuk perancangannya pada subbab 3.7. Untuk memulai
pengujian, pertama-tama penguji menakan push button “Ambil Gambar”, lalu setelah itu
citra pose jari tangan akan melalui beberapa proses seperti konversi RGB ke HSV,
segmentasi HSV, ekstraksi ciri wavelet, perhitungan korelasi (template matching), serta
penentuan keluaran. Dalam pengujian secara real time ini, 500 data pengujian digunakan.
Angka ini diperoleh dari terdapatnya 2 orang sampel dalam pengujian, yaitu tangan orang
lain dari 5 variasi jarak uji, yaitu 1 m ,1,5 m, 2 m, 2,5 m, dan 3 m, dengan pengambilan
sampel tiap pola angka ASL sebanyak 5 kali . Selain itu data dari pengujian secara real time
ini, proses cropping, resizing, dan ekstraksi ciri wavelet akan ditampilkan secara otomatis
melalui GUI, yang desainnya dapat dilihat pada Gambar 3.14.
3.4.2. Pengujian secara Non Real Time
Pada prinsipnya, pengujian secara non real time proses-proses yang dilalui sama
dengan pengujian secara real time. Namun proses hasil cropping, resizing, dan ekstraksi ciri
wavelet akan ditampilkan secara manual melalui figure pada matlab, sedangkan untuk
keluaran teks akan ditampilkan melalui command window pada matlab. Dalam pengujian
secara non real time ini, 50 data pengujian digunakan. Angka ini diperoleh dari terdapatnya
1 orang sampel dalam pengujian, yaitu tangan orang lain dari 5 variasi jarak uji, yaitu 1 m
,1,5 m, 2 m, 2,5 m, dan 3 m.
3.5. Analisis Data Pengujian
Dalam menghitung besar tingkat pengenalannya, pola persamaan yang digunakan
ialah sebagai berikut :
Tingkat Pengenalan = Banyak Pola Angka ASL yang dikenali secara Tepat
Banyak Pola Angka ASL yang diuji x 100%
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
3.6. Ruangan Pengujian dan Pencahayaan
Dalam pengambilan data sistem pengenalan angka dengan pose jari tangan ini,
ruangan dan tata pencahayaan yang digunakan ditunjukkan pada Gambar 3.11 dan 3.12.
Penyesuaian ruangan dan pencahayaan dimaksudkan untuk memperoleh data yang akurat
khususnya pada bagian segmentasi HSV. Jika pencahayaan pada ruangan tidak akurat, maka
objek yang tidak diinginkan akan ikut terambil.
Gambar 3.12. Ruangan Tugas Akhir Teknik Elektro USD yang digunakan dalam
Pengambilan Data
Gambar 3.13. Tata Pencahayaan Ruangan Tugas Akhir Teknik Elektro USD
4 lampu dimatikan agar warna
kulit tidak berubah karena
cahaya dari lampu.
Cahaya yang masuk melaui pintu
dihalangi menggunakan papan
agar tidak menimbulkan efek silau
pada citra.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
3.7. Perancangan Tampilan GUI
Tampilan interface pada perancangan sistem pengenalan huruf menggunakan GUI
pada matlab yang bertujuan untuk membantu dalam proses pengenalan pose jari
tangan. Secara keseluruhan sistem tersebut dapat dilihat pada Gambar 3.14.
Gambar 3.14. Tampilan GUI Sistem Pengenalan Angka dengan Pose Jari Tangan
Pengenalan Angka dengan Pose Jari Tangan
Kamera
Kamera Aktif Ambil Gambar
Cropping Resizing
Ekstraksi Ciri
Wavelet Variasi Desimasi
Proses Reset
Keluar
Keluaran Teks
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Berdasarkan desain GUI pada Gambar 3.14, berikut ini pada Gambar 3.15 diagram
alir dari proses yang terdapat pada GUI.
Gambar 3.15. Diagram Alir Proses yang Terdapat pada GUI
Mulai
Input :
Tombol “Kamera Aktif”
Mengaktifkan Kamera
Kamera
Aktif ?
Output :
Gambar
Tertampil
Input :
Tombol “Ambil
Gambar”
F
Tidak
Ya
J1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Gambar 3.15. (Lanjutan) Diagram Alir Proses yang Terdapat pada GUI
Mengambil Gambar
Output :
Gambar
Terambil
Input :
Variasi Desimasi,
Tombol “Proses”
Proses Cropping, Resizing,
Ekstraksi Ciri Wavelet, dan
Keluaran Teks
Output :
Hasil Proses Cropping,
Resizing, Ekstraksi Ciri
Wavelet, dan Keluaran Teks
Ulang ?
F
G
I
Tidak
Ya
J2
J1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Gambar 3.15. (Lanjutan) Diagram Alir Proses yang Terdapat pada GUI
Input :
Tombol “Reset”
Membersihkan GUI
Output :
GUI Bersih
Selesai
Memakai
GUI ?
Input :
Tombol “Keluar”
Menutup GUI
G
H
Tidak
Ya
I
J2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Gambar 3.15. (Lanjutan) Diagram Alir Proses yang Terdapat pada GUI
Output :
GUI Tertutup
Selesai
H
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
BAB IV
HASIL DAN PEMBAHASAN
Bab ini akan membahas mengenai langkah-langkah untuk menjalankan software
pengenalan angka dengan pose jari tangan baik secara real time maupun non real time,
sintaks program yang digunakan, serta menganalisis data hasil pengujian. Pengujian sistem
pengenalan angka dengan pose jari tangan ini menggunakan pola angka ASL, yaitu dari 0
s/d 9 dari 5 variasi jarak yang digunakan, yaitu 1 m, 1,5 m, 2 m, 2,5 m, dan 3 m.
Spesifikasi laptop yang digunakan dalam pengujian software pengenalan angka
dengan pose jari tangan ini ialah sebagai berikut :
1. Merk dan Tipe Laptop : Asus X454W Series
2. Prosesor : AMD Dual Core E1-6010 1.35 GHz
3. RAM : 2 GB
4. Versi Matlab : R2010a
5. Sistem Operasi : Windows 8 64 bit
4.1. Langkah-langkah Menjalankan Program
4.1.1. Langkah-langkah untuk Menjalankan Program secara Real Time
1. Pertama, buka software matlab terlebih dahulu dengan cara meng-klik kiri sebanyak
2 kali pada icon matlab (lihat Gambar 4.1). Setelah meng-klik kiri, akan muncul
tampilan utama matlab seperti pada Gambar 4.2.
Gambar 4.1. Icon Matlab R2010a
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Gambar 4.2. Tampilan Utama Matlab R2010a
2. Kedua, ubah current folder sesuai lokasi disimpannya program yang telah dibuat (lihat
Gambar 4.3), lalu ketik “guiangka” (contoh nama file GUI yang dibuat) pada command
window untuk menjalankan file GUI yang telah dibuat (lihat Gambar 4.4), kemudian
tekan enter.
Gambar 4.3. Directory D:\TE\TA Lokasi disimpannya File GUI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Gambar 4.4. Pemanggilan File GUI
3. Ketiga, setelah menekan enter, maka GUI siap digunakan untuk pengujian secara real
time. Untuk lebih jelasnya, lihat pada Gambar 4.5.
Gambar 4.5. GUI Software Pengenalan Angka dengan Pose Jari Tangan
Pada tampilan GUI Gambar 4.5, terdapat beberapa pushbutton yang digunakan, serta
1 buah popupmenu. Berikut ini penjelasan tentang fungsi pushbutton dan popupmenu yang
digunakan pada GUI.
a. Pushbutton “Kamera Aktif” : Untuk melihat apakah kamera sudah aktif atau belum (axes
1).
b. Pushbutton “Ambil Gambar” : Untuk mengambil gambar (axes 1).
c. Pushbutton “Proses” : Untuk menampilkan hasil cropping (axes 2), resizing (axes 3),
ekstraksi ciri wavelet (axes 4), dan keluaran teks (edit 3).
d. Pushbutton “Reset” : Untuk membersihkan setiap axes, popupmenu, dan edit pada GUI.
e. Pushbutton “Keluar” : Untuk menutup GUI.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
f. Popupmenu “Variasi Desimasi” : Untuk memilih variasi desimasi yang diinginkan,
apakah variasi desimasi 1, 2, atau 3 (lihat Gambar 4.6). Hasil dari pemilihan variasi
desimasi ini ditampilkan pada axes 4 (ekstraksi ciri wavelet).
Gambar 4.6. Pemilihan Variasi Desimasi
Gambar 4.7. Contoh ketika GUI dijalankan untuk Pengujian Angka 9 dengan Variasi
Desimasi = 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
4.1.2. Langkah-langkah untuk Menjalankan Program secara Non Real
Time
1. Pertama, ulangi langkah 1 s/d 2 sama seperti langkah-langkah untuk menjalankan
program secara real time. Namun contoh nama file program yang digunakan secara
non real time ini ialah “kenalwav2”, sehingga pada command window pada matlab
ketik “kenalwav2” (lihat Gambar 4.8). Setelah itu input desimasi yang diinginkan
(lihat Gambar 4.9.), lalu tekan enter untuk menampilkan hasil cropping, resizing,
ekstraksi ciri wavelet, dan keluaran teks.
Gambar 4.8. Pemanggilan File Program secara Non Real Time
Gambar 4.9. Memasukkan Nilai Desimasi, misalnya Desimasi = 2
2. Kedua, setelah menekan enter, tunggu beberapa saat hingga hasil cropping, resizing,
dan ekstraksi ciri wavelet ditampilkan pada figure matlab dan hasil keluaran teks
pada command window matlab (lebih jelasnya lihat Gambar 4.10 – 4.13).
Gambar 4.10. Citra Hasil Cropping
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Gambar 4.11. Citra Hasil Resizing
Gambar 4.12. Citra Hasil Ekstraksi Ciri Wavelet dengan Desimasi = 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Gambar 4.13. Hasil Keluaran Teks pada Command Window Matlab
4.2. Penjelasan Sintaks Program
4.2.1. Penjelasan Sintaks Program secara Real Time
Untuk sintaks program secara real time, pushbutton dan popupmenu yang terdapat
pada GUI akan diisi sintaks program tertentu agar nantinya GUI dapat berjalan dengan baik.
Untuk lebih jelasnya, berikut ini penjelasannya.
a. Pushbutton “Kamera Aktif”
Untuk menjalankan pushbutton ini, maka diisi sintaks berikut :
imaqhwinfo; info=imaqhwinfo('winvideo'); dev_info=imaqhwinfo('winvideo',1); vidobj=videoinput('winvideo',1,'RGB24_1280x960'); vidobj.FramesPerTrigger=1; triggerconfig(vidobj,'manual'); vidRes=get(vidobj,'VideoResolution');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
imWidth=1280; imHeight=960; nBands=get(vidobj,'NumberOfBands'); hImage=image(zeros(imHeight,imWidth,nBands),'parent',handles.axes1); preview(vidobj,hImage)
Berdasarkan sintaks program di atas, dapat dilihat terdapat sintaks imaqhwinfo. Sintaks
ini berfungsi untuk menginisialisasikan antara webcam dengan software matlab. Selain
itu, sintaks ini juga berfungsi untuk mengetahui informasi yang dimiliki oleh webcam,
seperti nama device dan format warna yang dihasilkan oleh webcam, misalnya RGB,
YUY, dan lainnya. Untuk menampilkan gambar yang direkam oleh webcam, maka
sintaks preview digunakan dan kemudian gambar tersebut dapat nampak pada axes 1.
b. Pushbutton “Ambil Gambar”
Untuk menjalankan pushbutton ini, maka diisi sintaks berikut :
start(vidobj); pause(1); trigger(vidobj); stoppreview(vidobj); capt1=getdata(vidobj); gambar=capt1; handles.a=gambar; guidata(hObject,handles); axes(handles.axes1); imshow(gambar)
Berdasarkan sintaks program di atas, dapat dilihat terdapat sintaks getdata. Sintaks ini
berfungsi untuk melakukan capture gambar saat webcam dalam keadaan on. Hasil
gambar yang telah diambil oleh webcam ini memiliki format citra RGB. Kemudian agar
hasil capture dapat dipanggil dan digunakan pada sintaks program selanjutnya, maka
diinisialisasikan dengan sintaks handles.
c. Popupmenu “Variasi Desimasi”
Untuk mengfungsikan popupmenu ini, maka diisi sintaks berikut :
indeks=get(handles.popupmenu1,'Value'); switch indeks
case 2 des=1; case 3; des=2; case 4; des=3;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
end
handles.des=des; guidata(hObject,handles);
Berdasarkan sintaks program di atas, dapat dilihat terdapat sintaks des=1. Sintaks ini
berfungsi untuk mengaktifkan desimasi sebanyak 1 kali. Penjelasan tentang desimasi
sebelumnya sudah dituliskan pada Bab III. Desimasi ini diinisialisasikan dengan nama
“des”. Kemudian agar nilai variasi desimasi ini dapat dipanggil dan digunakan pada
sintaks program selanjutnya, maka diubah menjadi “handles.des”.
d. Pushbutton “Proses”
Pada saat menakan pushbutton “Proses” ini, citra dengan format RGB yang telah diambil
pada axes 1 akan diproses lebih lanjut. Untuk lebih jelasnya berikut ini proses-prosesnya
dan juga sintaks programnya.
Proses Konversi Citra RGB ke HSV
Untuk menjalankan proses ini, sintaks program yang digunakan ialah :
%Konversi RGB ke HSV x0=rgb2hsv(x);
Berdasarkan sintaks program di atas, dapat dilihat bahwa terdapat sintaks rgb2hsv.
Sintaks ini berfungsi mengubah citra RGB dari menjadi citra HSV.
Proses Segmentasi HSV
Untuk menjalankan proses ini, sintaks program yang digunakan ialah :
s=x0(:,:,2); %Ambil bagian saturation s1=s>0.17;
v=x0(:,:,3); %Ambil bagian value v1=v>0.4;
Berdasarkan sintaks program di atas, segmentasi bagian kulit pada citra dilakukan.
Oleh karena itu bagian S (saturation) dan V (value) diambil, karena diantara ketiga
komponen warna HSV, yang masuk dalam kategori warna kulit (muka dan tangan)
ialah S dan V. Nilai threshold S dan V jika dilihat dari ruang warnanya, yang
digunakan dalam penelitian ini ialah untuk S >0,17 dan untuk V >0,4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Proses Pengambilan Bagian Tangan
Untuk menjalankan proses ini, sintaks program yang digunakan ialah :
%Hitung luasan setiap objek for k=1:jumobj x2=x1==k; aobj(k)=sum(x2(:)); end %segmentasi luasan kedua terbesar [s,u]=sort(aobj,'descend'); x3=x1==u(2); else x3=x1; end
Berdasarkan sintaks program di atas, untuk mengambil bagian tangan pada citra yang
telah disegmentasi, maka perhitungan luasan pada setiap objek kulit dilakukan
dengan sintaks sum. Setelah itu, hasil perhitungan luasan objek kulit tersebut
diurutkan (dengan sintaks sort) dari nilai terbesar ke nilai terkecil dengan sintaks
descend. Setelah itu, untuk mengambil objek yang memiliki nilai luasan kedua
terbesar (bagian tangan) yang diinisialisasi dengan “u(2)”.
Proses Cropping sesuai Bounding Box
Untuk menjalankan proses ini, sintaks program yang digunakan ialah :
% Potong kiri cout=x3; a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Potong kanan cout=fliplr(cout); a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Potong atas cout=cout'; a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Potong bawah cout=fliplr(cout); a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Berdasarkan sintaks program di atas, pada prinsipnya proses cropping sesuai bounding
box ini, proses pemotongannya ialah dengan memutar tiap 90o lalu memotong per-
bagiannya sampai kembali ke posisi awal. Untuk lebih jelasnya lihat Tabel 4.1.
Tabel 4.1. Proses Cropping sesuai Bounding Box
Sintaks Program Hasil Sintaks
% Potong kiri cout=x3; a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Potong kanan cout=fliplr(cout); a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Potong atas cout=cout'; a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Potong bawah cout=fliplr(cout); a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
200 400 600 800 1000 1200 1400
200
400
600
800
1000
1200
200 400 600 800 1000 1200 1400
50
100
150
200
50 100 150 200
100
200
300
400
500
600
700
800
50 100 150 200
50
100
150
200
250
300
350
400
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Proses Resizing
Untuk menjalankan proses ini, sintaks program yang digunakan ialah :
x4=imresize(cout,[64 64]);
Berdasarkan sintaks program di atas, dapat dilihat bahwa terdapat sintaks imresize
yang berfungsi mengubah ukuran citra ke ukuran tertentu. Untuk penelitian ini citra
diubah ke dalam ukuran 64 x 64 piksel.
Proses Ekstraksi Ciri
Untuk menjalankan proses ini, sintaks program yang digunakan ialah :
x5=xcwav2(x4,des);
Berdasarkan sintaks program di atas, dapat dilihat bahwa terdapat sintaks xcwav2.
Sintaks ini merupakan sintaks untuk memanggil program ekstraksi ciri yang dibuat
dalam M-file pada matlab. Untuk lebih jelasnya, sintaksnya dapat dilihat pada bagian
lampiran.
Proses Perhitungan Korelasi
Untuk menjalankan proses ini, sintaks program yang digunakan ialah :
for n=1:10 r(n)=korelasi(x6,z(:,n))
end maxr=max(r)
Berdasarkan sintaks program di atas, dapat dilihat bahwa terdapat sintaks korelasi.
Sintaks ini merupakan sintaks untuk memanggil fungsi korelasi yang dibuat dalam
M-file pada matlab. Selain itu, terdapat sintaks max yang berfungsi untuk
menampilkan nilai korelasi yang paling tinggi (yang terbaik). Nilai korelasi ini akan
ditampilkan pada command window matlab.
Proses Keluaran Teks
Untuk menjalankan proses ini, sintaks program yang digunakan ialah :
if (maxr==r(1)) z1={'0'}; set(handles.edit3,'string',z1);
elseif (maxr==r(2)) z2={'1'}; set(handles.edit3,'string',z2);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
elseif (maxr==r(3)) z3={'2'}; set(handles.edit3,'string',z3);
elseif (maxr==r(4)) z4={'3'};
set(handles.edit3,'string',z4); elseif (maxr==r(5))
z5={'4'}; set(handles.edit3,'string',z5);
elseif (maxr==r(6)) z6={'5'}; set(handles.edit3,'string',z6);
elseif (maxr==r(7)) z7={'6'}; set(handles.edit3,'string',z7);
elseif (maxr==r(8)) z8={'7'}; set(handles.edit3,'string',z8)
elseif (maxr==r(9)) z9={'8'}; set(handles.edit3,'string',z9) elseif (maxr==r(10)) z10={'9'}; set(handles.edit3,'string',z10) end
Berdasarkan sintaks program di atas, dapat dilihat bahwa terdapat sintaks elseif
(maxr==r(1)). Sintaks ini berfungsi untuk menampilkan teks angka “1” pada edit 3
yang terdapat di GUI jika angka 1 memiliki nilai korelasi terbesar. Hal ini berlaku
untuk angka uji lainnya.
e. Pushbutton “Reset”
Untuk menjalankan pushbutton ini, maka diisi sintaks berikut :
axes(handles.axes1) plot(0); axes(handles.axes2) plot(0); axes(handles.axes3) plot(0); axes(handles.axes4) plot(0); set(handles.popupmenu1,'Value',1); set(handles.edit3,'string','');
Pushbutton “Reset” ini berfungsi untuk membersihkan axes, popupmenu, dan edit pada
GUI jika terjadi kesalahan dalam pengenalan pola angka ASL atau ingin melakukan
pengujian yang baru.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
f. Pushbutton “Keluar”
Untuk menjalankan pushbutton ini, maka diisi sintaks berikut :
close
Pushbutton “Keluar” ini berfungsi untuk menutup GUI jika selesai melakukan
pengujian.
4.2.2. Penjelasan Sintaks Program secara Non Real Time
Untuk sintaks program secara non real time, memiliki program proses segementasi
HSV, proses pengambilan bagian tangan, proses cropping sesuai bounding box, proses
resizing, proses ekstraksi ciri wavelet, dan proses perhitungan korelasi secara garis besar
sama dengan program secara real time. Namun untuk menampilkan hasil citranya, maka
sintaks subplot dan imshow digunakan. Sedangkan untuk keluaran teks, akan ditampilkan
pada command window matlab. Untuk lebih jelasnya, berikut ini sintaks keluaran teks untuk
program secara non real time.
% Penentuan buah keluaran DaftarAngka={'0';'1';'2';'3';'4';'5';'6';'7';'8';'9'}; Angka{k}=DaftarAngka{KelasOut};
Berdasarkan sintaks program di atas, pada prinsipnya proses yang dimiliki sama dengan
program secara real time. Pola angka ASL yang memiliki nilai korelasi yang terbaik atau
yang paling tinggi akan ditampilkan pada command window matlab, dengan terlebih dahulu
dikelompokkan kelas-kelasnya dengan inisialisasi “KelasOut” (lebih jelasnya lihat sintaks
full pada lampiran). Sedangkan, untuk pengambilan foto data uji secara non real time ini,
digunakan software asli webcam Logitech sendiri. Berikut ini Gambar 4.14 icon software
Logitech webcam dan Gambar 4.15 software Logitech webcam pada saat pengambilan foto
data uji.
Gambar 4.14. Icon Software Logitech Webcam
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
Gambar 4.15. Software Logitech Webcam pada saat Pengambilan Foto Data Uji
4.3. Analisis Hasil Data Pengujian
Dalam pengujian program secara real time dan secara non real time, pengujian dari 5
variasi jarak dan 3 variasi desimasi dilakukan (telah disebutkan pada Bab III). Agar lebih
memperjelas bagaimana hasil citra hasil desimasi 1 s/d 3, berikut ini pada Tabel 4.2 hasilnya.
Tabel 4.2. Hasil Desimasi 1 s/d 3 Pola Angka ASL 0-9 pada 5 Variasi Jarak
Pola Angka
ASL
Desimasi
Jarak (m)
1 1,5 2 2,5 3
0
1
2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
3
1
1
2
3
2
1
2
3
3
1
2
3
4 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
2
3
5
1
2
3
6
1
2
3
7
1
2
3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
8
1
2
3
9
1
2
3
4.3.1. Analisis Hasil Data Pengujian secara Real Time
Dalam pengujian secara real time, seperti yang telah disebutkan pada Bab III
sebelumnya, pengujian sebanyak 2 sampel tangan orang lain dilakukan. Berikut ini hasil data
yang diperoleh dari pengujian secara real time dari 5 variasi jarak, yaitu 1 m, 1,5 m, 2 m, 2,5
m, dan 3 m dan juga dari 3 variasi desimasi, besar tingkat pengenalan, serta grafik besar
tingkat pengenalannya. Dalam proses pengambilan datanya, pengambilan setiap sampel
angka sebanyak 5 kali dilakukan dan hasilnya akan ditunjukkan dalam bentuk confusion
matrix (lihat pada lampiran).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Tabel 4.3. Hasil Pengujian Real Time
Jarak (Meter) Tingkat Pengenalan
Desimasi 1 Desimasi 2 Desimasi 3
1 98 % 98 % 48 %
1,5 86 % 86 % 78 %
2 68 % 66 % 58 %
2,5 88 % 88 % 48 %
3 88 % 78 % 58 %
- Grafik Hasil Pengujian Real Time :
Gambar 4.16. Grafik Hasil Pengujian Real Time
Berdasarkan grafik (Gambar 4.16) dan tabel hasil tingkat pengenalan secara real time
(Tabel 4.3), dapat dilihat bahwa hasil yang ditunjukkan cukup acak dan tidak menunjukkan
ketergantungan pada jarak pengujian. Hal ini dikarenakan bahwa sampai jarak maksimal
pengujian (3 meter), software pengenalan angka dengan pose jari tangan ini masih mampu
menangkap objek tangan dengan baik walaupun hasil keluaran teks masih ada yang
mengalami kesalahan dalam pengenalan. Sedangkan untuk hasil percobaan desimasi, dapat
dilihat bahwa semakin banyak desimasi, maka semakin menurun tingkat pengenalan. Hal ini
disebabkan karena semakin banyaknya desimasi, maka ukuran citra akan semakin direduksi
(dari ukuran 64 x 64 piksel), sehingga citra akan semakin kabur. Seperti yang telah dijelaskan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
pada Bab III, untuk desimasi 1 mempunyai ukuran 32 x 32 piksel, desimasi 2 mempunyai
ukuran 16 x 16 piksel, dan desimasi 3 mempunyai ukuran 8 x 8 piksel.
Jika dilihat dari tabel hasil tingkat pengenalan secara real time, jarak 1,5 meter
merupakan jarak pengujian yang terbaik untuk hasil desimasi 1 dan 2. Dengan mampu
menghasilkan tingkat pengenalan sebesar 98 %. Sedangkan untuk desimasi 3, jarak
pengujian yang terbaik ialah 1,5 meter dengan mampu menghasilkan tingkat pengenalan
sebesar 78 %.
4.3.2. Analisis Hasil Data Pengujian secara Non Real Time
Dalam pengujian secara non real time, seperti yang telah disebutkan pada Bab III
sebelumnya, pengujian sebanyak 1 sampel tangan orang lain dilakukan. Berikut ini hasil data
yang diperoleh dari pengujian secara non real time dari 5 variasi jarak, yaitu 1 m, 1,5 m, 2
m, 2,5 m, dan 3 m dan juga dari 3 variasi desimasi, besar tingkat pengenalan, serta grafik
besar tingkat pengenalannya. Dalam proses pengambilan datanya pengambilan setiap sampel
angka sebanyak 1 kali dilakukan dan hasilnya akan ditunjukkan dalam bentuk confusion
matrix (lihat pada lampiran).
Tabel 4.4. Hasil Pengujian Non Real Time
Jarak (Meter) Tingkat Pengenalan
Desimasi 1 Desimasi 2 Desimasi 3
1 100 % 100 % 50 %
1,5 90 % 90 % 80 %
2 70 % 70 % 60 %
2,5 90 % 90 % 50 %
3 90 % 80 % 60 %
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
- Grafik Hasil Pengujian Non Real Time :
Gambar 4.17. Grafik Hasil Pengujian Non Real Time
Berdasarkan grafik (Gambar 4.7) dan tabel hasil tingkat pengenalan secara non real
time (Tabel 4.4), dapat dilihat juga bahwa hasil yang ditunjukkan cukup acak dan tidak
menunjukkan ketergantungan pada jarak pengujian. Hal ini dikarenakan bahwa sampai jarak
maksimal pengujian (3 meter), software pengenalan angka dengan pose jari tangan ini masih
mampu menangkap objek tangan dengan baik walaupun hasil keluaran teks masih ada yang
mengalami kesalahan dalam pengenalan. Sedangkan untuk hasil percobaan desimasi, dapat
juga dilihat bahwa semakin banyak desimasi, maka semakin menurun tingkat pengenalan.
Hal ini disebabkan karena semakin banyaknya desimasi, maka ukuran citra akan semakin
direduksi (dari ukuran 64 x 64 piksel), sehingga citra akan semakin kabur. Seperti yang telah
dijelaskan pada Bab III, untuk desimasi 1 mempunyai ukuran 32 x 32 piksel, desimasi 2
mempunyai ukuran 16 x 16 piksel, dan desimasi 3 mempunyai ukuran 8 x 8 piksel.
Jika dilihat dari tabel hasil tingkat pengenalan secara non real time, jarak 1,5 meter
merupakan jarak pengujian yang terbaik untuk hasil desimasi 1 dan 2. Dengan mampu
menghasilkan tingkat pengenalan sebesar 100 %. Sedangkan untuk desimasi 3, jarak
pengujian yang terbaik ialah 1,5 meter dengan mampu menghasilkan tingkat pengenalan
sebesar 80 %.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Pada hasil data secara menyuluruh baik secara real time dan non real time (lihat
lampiran), pola angka ASL 6, 7 dan 8 sering mengalami kesalahan dalam pengujian
dikarenakan kedua pola angka ASL ini memiliki kemiripan jika dilihat dari citra hasil
pengambilan tanganya (lihat Gambar 4.10). Oleh karena itu, seperti kasus pada saat
melakukan pengujian angka 6, output teksnya terkadang menunjukkan angka 7 atau 8, untuk
pengujian angka 7, output teksnya terkadang menunjukkan angka 6 atau 8, dan untuk
pengujian angka 8, output teksnya terkadang menunjukkan angka 6 atau 7.
Melihat kembali penelitian sebelumnya, yaitu tentang pengenalan pola huruf ASL
A-Z, tingkat pengenalan yang dihasilkan sebesar 80,42 % [2]. Berdasarkan hasil tingkat
pengenalan pada penelitian ini (secara real time dan non real time) dan pada penelitian
sebelumnya, dapat dilihat bahwa beberapa hasil tingkat pengenalan pada penelitian ini telah
mampu melampui hasil tingkat pengenalan pada penelitian sebelumnya. Oleh karena itu,
dapat dikatakan bahwa hasil dari penelitian tentang pengenalan pola angka ASL 0-9 ini
sudah cukup lebih baik daripada penelitian sebelumnya yang meneliti tentang pengenalan
pola huruf ASL A-Z.
Gambar 4.18. Percobaan di Ruang Tugas Akhir Teknik Elekro USD (1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Gambar 4.19. Percobaan di Ruang Tugas Akhir Teknik Elekro USD (2)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Berdasarkan penelitian yang telah dilakukan, dimulai dari tahap perancangan sistem,
implementasi, pengujian sistem, hasil pengujian, serta pembahasan, maka dapat ditarik
kesimpulan, antara lain :
1. Sistem pengenalan karakter angka 0-9 berdasarkan pola isyarat ASL sudah dapat
berjalan dengan baik.
2. Berdasarkan pengujian secara non real time yang telah dilakukan, dengan jarak
terjauh 3 meter dihasilkan tingkat pengenalan sebesar 90 %. Hasil ini diperoleh
menggunakan desimasi 1 yang memberikan ekstraksi ciri 32 x 32 piksel.
3. Berdasarkan pengujian secara real time yang telah dilakukan, dengan jarak terjauh
3 meter dihasilkan tingkat pengenalan sebesar 88 %. Hasil ini diperoleh
menggunakan desimasi 1 yang memberikan ekstraksi ciri 32 x 32 piksel.
5.2. Saran
Dengan dibuatnya software pengenalan angka dengan pose jari tangan ini, saran yang
dapat diberikan dalam pengembangannya ke depan ialah, antara lain :
1. Mencoba memperbanyak pola angka atau huruf ASL yang dapat dikenali khusunya
yang berbasis gesture.
2. Mencoba menggunakan fitur object detection, agar pola angka atau huruf ASL
yang diuji dapat dideteksi dan dikenali walaupun webcam digerakkan.
3. Mencoba menggunakan output yang berupa suara.
4. Mencoba menggunakan banyak variasi desimasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
DAFTAR PUSTAKA
[1] Vitriantoro, A.F., 2014, Pengenalan Plat Nomor Sepeda Motor Menggunakan
Ekstraksi Ciri DCT dan Fungsi Jarak Euclidean, Tugas Akhir, Jurusan Teknik
Elektro, Program Studi Teknik Elektro, Fakultas Sains dan Teknologi, Universitas
Sanata Dharma Yogyakarta.
[2] Mardiyani A., Purnomo, M.H., Purnama, I K.P. 2012, Pengenalan Bahasa Isyarat
Menggunakan Metode PCA dan Haar Like Feature¸ Jurusan Teknik Elektro, FTI,
Institut Teknologi 10 Nopember Surabaya, hal. 1-6.
[3] Khusnia, 2013, Komunikasi Non Verbal,
https://khusnia.wordpress.com/pengantar-ilmu-komunikasi/07-komunikasi-
nonverbal/, diakses 1 November 2016.
[4] -----, 2016, Jari, https://id.wikipedia.org/wiki/Jari, diakses 21 Agustus 2016.
[5] Ikhwan, T., 2014, Cara Cepat Belajar Bahasa Isyarat Untuk
Tunarungu/Tunawicara,
http://ikhwan-smoothcriminal.blogspot.co.id/2012/11/ara-cepat-belajar-bahasa
isyarat-untuk.html, diakses 21 Agustus 2016.
[6] Sutarno, 2010, Analisis Perbandingan Transformasi Wavelet pada Pengenalan Citra
Wajah, Fakultas Ilmu Komputer, Universitas Sriwijaya, Hal.15-16.
[7] Rizal, A., 2014, Pengolahan Citra,
http://achmadrizal.staff.telkomuniversity.ac.id/pengolahan-citra/, diakses 21
Agustus 2016.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
[8] Fauzan, A., 2015, Ruang Warna Hue Saturation Value (HSV) serta konversinya,
http://www.charisfauzan.net/2015/01/ruang-warna-hue-saturation-value-hsv.html,
diakses 21 Agustus 2016.
[9] Taufik, I., 2015, Program VB.Net Konversi RGB ke HSV, http://tutorial-komputer-
pemula.blogspot.co.id/2015/04/program-vbnet-konversi-rgb-ke-hsv.html, diakses
21 Agustus 2016.
[10] Prabowo, I.A.A., 2015, Pengenalan Secara Real Time Huruf Jawa Jenis Cetak
Menggunakan Ekstraksi Ciri Wavelet dan Fungsi Jarak Euclidean, Tugas Akhir,
Program Studi Teknik Elektro, Jurusan Teknik Elektro, Fakultas Sains dan
Teknologi, Universitas Sanata Dharma Yogyakarta.
[11] Putri, D.N., Rafmadhanty, F., Megantara, I.P., Jayanti, I.N., Hapsari K.D., 2013,
Klasifikasi Huruf Korea (Hangul) dengan Metode Template Matching Correlation,
Jurusan Teknik Informatika, Universitas Brawijaya.
[12] Sumarno, L., 2014, Pengenalan Nada Pianika Menggunakan Jendela Blackaman
Dan Ekstraksi Ciri Transformasi Fourier Cepat, Program Studi Teknik Elektro,
Fakultas Sains dan Teknologi, Universitas Sanata Dharma Yogyakarta.
[13] -----, 2016, Pengertian Kamera Web, Fungsi Kamera Web, dan Kelemahan Kamera
Web, http://www.infoteknologi.org/2015/12/pengertian-kamera-web-fungsi-
kamera-web_17.html, diakses 1 November 2016.
[14] -----, 2015, Spesifikasi Teknis Logitech C270 HD Webcam,
http://pojokcyberkasomalang.blogspot.co.id/2015/12/logitech-c270-hd-webcam-
spesifikasi-dan-harga-termurah-di-pasar-indonesia.html, diakses 1 November
2016.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
[15] -----, 2016, Logitech Webcam C270 HD,
https://www.bukalapak.com/p/komputer/aksesoris-226/webcam/3x56q3-jual-
logitech-webcam-c270-hd, diakses 8 November 2016.
[16] Nugroho, I.A., 2015, Pengenalan Secara Real Time Rambu Lalu Lintas
Pergingatan Menggunakan Ekstraksi Ciri Wavelet Haar dan Fungsi Jarak Chi
Square, Tugas Akhir, Program Studi Teknik
Elektro, Jurusan Teknik Elektro, Fakultas Sains dan Teknologi, Universitas Sanata
Dharma Yogyakarta.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-1
LAMPIRAN
Sintaks Program Real Time :
- GUI (guiangka.m) :
function varargout = guiangka(varargin) % GUIANGKA M-file for guiangka.fig % GUIANGKA, by itself, creates a new GUIANGKA or raises the existing % singleton*. % % H = GUIANGKA returns the handle to a new GUIANGKA or the handle to % the existing singleton*. % % GUIANGKA('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in GUIANGKA.M with the given input arguments. % % GUIANGKA('Property','Value',...) creates a new GUIANGKA or raises
the % existing singleton*. Starting from the left, property value pairs
are % applied to the GUI before guiangka_OpeningFcn gets called. An % unrecognized property name or invalid value makes property
application % stop. All inputs are passed to guiangka_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only
one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help guiangka
% Last Modified by GUIDE v2.5 16-Nov-2016 17:39:47
% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @guiangka_OpeningFcn, ... 'gui_OutputFcn', @guiangka_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end
if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-2
% --- Executes just before guiangka is made visible. function guiangka_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to guiangka (see VARARGIN)
% Choose default command line output for guiangka handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% UIWAIT makes guiangka wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = guiangka_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure varargout{1} = handles.output;
function edit3_Callback(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit3 as text % str2double(get(hObject,'String')) returns contents of edit3 as a
double
% --- Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-3
%===========================Kamera Aktif===============================% % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) imaqhwinfo; info=imaqhwinfo('winvideo'); dev_info=imaqhwinfo('winvideo',1); vidobj=videoinput('winvideo',1,'RGB24_1280x960'); vidobj.FramesPerTrigger=1; triggerconfig(vidobj,'manual'); vidRes=get(vidobj,'VideoResolution'); imWidth=1280; imHeight=960; nBands=get(vidobj,'NumberOfBands'); hImage=image(zeros(imHeight,imWidth,nBands),'parent',handles.axes1); preview(vidobj,hImage)
%===========================Ambil Gambar================================% % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) imaqhwinfo; info=imaqhwinfo('winvideo'); dev_info=imaqhwinfo('winvideo',1); vidobj=videoinput('winvideo',1,'RGB24_1280x960'); vidobj.FramesPerTrigger=1; triggerconfig(vidobj,'manual'); vidRes=get(vidobj,'VideoResolution'); imWidth=1280; imHeight=960; nBands=get(vidobj,'NumberOfBands'); hImage=image(zeros(imHeight,imWidth,nBands),'parent',handles.axes1); start(vidobj); pause(1); trigger(vidobj); stoppreview(vidobj); capt1=getdata(vidobj); gambar=capt1; handles.a=gambar; guidata(hObject,handles); axes(handles.axes1); imshow(gambar)
%===========================Variasi Desimasi===========================% % --- Executes on selection change in popupmenu1. function popupmenu1_Callback(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1
contents as cell array % contents{get(hObject,'Value')} returns selected item from % popupmenu1 indeks=get(handles.popupmenu1,'Value');
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-4
switch indeks case 2 des=1; case 3; des=2; case 4; des=3; end handles.des=des; guidata(hObject,handles);
%===========================Proses==================================% % --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
%popupmenu des=handles.des if(des==1) load dB1r64d1 elseif(des==2) load dB1r64d2 elseif(des==3) load dB1r64d3 end
%Konversi RGB ke HSV x=handles.a; axes(handles.axes2); x0=rgb2hsv(x);
s=x0(:,:,2); %Ambil bagian saturation s1=s>0.17;
v=x0(:,:,3); %Ambil bagian value v1=v>0.4;
tsv=and(s1,v1); kulit=bwareaopen(v1,2000); kulit1=imdilate(kulit,strel('square',4));
%Hitung luasan kulit %Tandai Objek yang ada x1 = bwlabel(kulit1);
%Hitung jumlah objek jumobj = max(x1(:));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-5
if jumobj>1 %Hitung luasan setiap objek for k=1:jumobj x2=x1==k; aobj(k)=sum(x2(:)); end %segmentasi luasan kedua terbesar [s,u]=sort(aobj,'descend'); x3=x1==u(2); else x3=x1; end
% Proses cropping sesuai bounding box if sum(sum(x3))>0 % Jika ada obyek dilakukan pemotongan % Potong kiri cout=x3; a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Potong kanan cout=fliplr(cout); a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Potong atas cout=cout'; a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Potong bawah cout=fliplr(cout); a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Penyesuaian orientasi cout=cout'; cout=flipud(cout); cout=fliplr(cout); else % Jika tidak ada obyek tidak dilakukan pemotongan cout=x3; end imshow(cout) axis on
%Proses resizing axes(handles.axes3); x4=imresize(cout,[64 64]); imshow(x4) axis on
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-6
%Ekstraksi ciri wavelet axes(handles.axes4); x5=xcwav2(x4,des); x6=x5(:); imshow(x5) axis on
%Korelasi %Ada 3 kolom matriks database for n=1:10 r(n)=korelasi(x6,z(:,n)) end maxr=max(r)
%Keluaran teks if (maxr==r(1)) z1={'0'}; set(handles.edit3,'string',z1); elseif (maxr==r(2)) z2={'1'}; set(handles.edit3,'string',z2); elseif (maxr==r(3)) z3={'2'}; set(handles.edit3,'string',z3); elseif (maxr==r(4)) z4={'3'}; set(handles.edit3,'string',z4); elseif (maxr==r(5)) z5={'4'}; set(handles.edit3,'string',z5); elseif (maxr==r(6)) z6={'5'}; set(handles.edit3,'string',z6); elseif (maxr==r(7)) z7={'6'}; set(handles.edit3,'string',z7); elseif (maxr==r(8)) z8={'7'}; set(handles.edit3,'string',z8) elseif (maxr==r(9)) z9={'8'}; set(handles.edit3,'string',z9) elseif (maxr==r(10)) z10={'9'}; set(handles.edit3,'string',z10) end
%==========================Reset==================================== % % --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes1) plot(0); axes(handles.axes2) plot(0); axes(handles.axes3) plot(0);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-7
axes(handles.axes4) plot(0); set(handles.popupmenu1,'Value',1); set(handles.edit3,'string','');
%===========================Keluar==================================% % --- Executes on button press in pushbutton5. function pushbutton5_Callback(hObject, eventdata, handles) % hObject handle to pushbutton5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close
% --- Executes during object creation, after setting all properties. function popupmenu1_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
- Database (dbxcwav.m) :
%===================Pembuatan Database============================% function dbxcwav z=[]; z=prosesxc(1,[64 64]); save dB1r64d1 z ; z=[]; z=prosesxc(2,[64 64]); save dB1r64d2 z ; z=[]; z=prosesxc(3,[64 64]); save dB1r64d3 z ; z=[];
%================================================================= % internal function %=================================================================
function z=prosesxc(des,rz) z=[];
%Jarak 1m x=imread('D_1_0.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y1=y(:); x=imread('D_1_1.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y2=y(:); x=imread('D_1_2.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y3=y(:); x=imread('D_1_3.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y4=y(:); x=imread('D_1_4.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y5=y(:); x=imread('D_1_5.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y6=y(:); x=imread('D_1_6.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y7=y(:); x=imread('D_1_7.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y8=y(:); x=imread('D_1_8.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y9=y(:); x=imread('D_1_9.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y10=y(:);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-8
%Jarak 1,5m x=imread('D_1,5_0.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y11=y(:); x=imread('D_1,5_1.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y12=y(:); x=imread('D_1,5_2.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y13=y(:); x=imread('D_1,5_3.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y14=y(:); x=imread('D_1,5_4.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y15=y(:); x=imread('D_1,5_5.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y16=y(:); x=imread('D_1,5_6.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y17=y(:); x=imread('D_1,5_7.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y18=y(:); x=imread('D_1,5_8.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y19=y(:); x=imread('D_1,5_9.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y20=y(:);
%Jarak 2m x=imread('D_2_0.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y21=y(:); x=imread('D_2_1.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y22=y(:); x=imread('D_2_2.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y23=y(:); x=imread('D_2_3.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y24=y(:); x=imread('D_2_4.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y25=y(:); x=imread('D_2_5.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y26=y(:); x=imread('D_2_6.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y27=y(:); x=imread('D_2_7.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y28=y(:); x=imread('D_2_8.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y29=y(:); x=imread('D_2_9.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y30=y(:);
%Jarak 2,5m x=imread('D_2,5_0.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y31=y(:); x=imread('D_2,5_1.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y32=y(:); x=imread('D_2,5_2.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y33=y(:); x=imread('D_2,5_3.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y34=y(:); x=imread('D_2,5_4.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y35=y(:); x=imread('D_2,5_5.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y36=y(:); x=imread('D_2,5_6.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y37=y(:); x=imread('D_2,5_7.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y38=y(:); x=imread('D_2,5_8.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y39=y(:); x=imread('D_2,5_9.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y40=y(:);
%Jarak 3m x=imread('D_3_0.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y41=y(:); x=imread('D_3_1.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y42=y(:); x=imread('D_3_2.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y43=y(:); x=imread('D_3_3.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y44=y(:); x=imread('D_3_4.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y45=y(:); x=imread('D_3_5.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y46=y(:); x=imread('D_3_6.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y47=y(:); x=imread('D_3_7.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y48=y(:); x=imread('D_3_8.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y49=y(:); x=imread('D_3_9.jpg'); x=prepro(x,rz); y=xcwav2(x,des); y50=y(:);
%perataan dat0=(y1+y11+y21+y31+y41)/5; dat1=(y2+y12+y22+y32+y42)/5; dat2=(y3+y13+y23+y33+y43)/5; dat3=(y4+y14+y24+y34+y44)/5; dat4=(y5+y15+y25+y35+y45)/5; dat5=(y6+y16+y26+y36+y46)/5; dat6=(y7+y17+y27+y37+y47)/5; dat7=(y8+y18+y28+y38+y48)/5; dat8=(y9+y19+y29+y39+y49)/5; dat9=(y10+y20+y30+y40+y50)/5;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-9
%database z=[dat0 dat1 dat2 dat3 dat4 dat5 dat6 dat7 dat8 dat9];
%================================================================= % internal function %=================================================================
function x9=prepro(x0,rz) %Konversi RGB ke HSV x1=rgb2hsv(x0);
%Konversi RGB ke HSV
s=x1(:,:,2); %Ambil bagian saturation s1=s>0.17;
v=x1(:,:,3); %Ambil bagian value v1=v>0.4;
tsv=and(s1,v1); kulit=bwareaopen(v1,2000); kulit1=imdilate(kulit,strel('square',4));
%Hitung luasan kulit %Tandai Objek yang ada x1 = bwlabel(kulit1);
%Hitung jumlah objek jumobj = max(x1(:));
if jumobj>1 %Hitung luasan setiap objek for k=1:jumobj x2=x1==k; aobj(k)=sum(x2(:)); end %segmentasi luasan kedua terbesar [s,u]=sort(aobj,'descend'); x3=x1==u(2); else x3=x1; end
% Proses cropping sesuai bounding box if sum(sum(x3))>0 % Jika ada obyek dilakukan pemotongan % Potong kiri cout=x3; a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Potong kanan cout=fliplr(cout); a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-10
% Potong atas cout=cout'; a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Potong bawah cout=fliplr(cout); a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Penyesuaian orientasi cout=cout'; cout=flipud(cout); cout=fliplr(cout); else % Jika tidak ada obyek tidak dilakukan pemotongan cout=x3; end
%Proses resizing x9=imresize(cout,rz);
- Ekstraksi Ciri Wavelet (xcwav2.m) :
%Ekstraksi ciri wavelet 2d function x3=xcwav2(x0,m)
for j=1:m x1=convx2(x0); x2=downsampling(x1); x0=x2; end x3=x0;
%================================================================= % internal function %=================================================================
%Konvolusi 2D function y=convx2(x)
LPF=[0.7071 0.7071]; %Wavelet Haar LO_D [b,j]=size(x);
%Konvolusi baris for m=1:b x0=x(m,:); x(m,:)=convx(x0,LPF); end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-11
%Konvolusi kolom for m=1:j x0=x(:,m); x(:,m)=convx(x0',LPF)'; end y=x;
%================================================================= % internal function %=================================================================
%Konvolusi dengan ekstensi sinyal %Jumlah koefisien harus genap; function y=convx(x,LPF)
lx=length(x); lf=length(LPF);
%Ekstensi sinyal batas=lf/2; kiri=x(lx-batas+1:lx); kanan=x(1:batas); x=[kiri x kanan];
%Konvolusi x=double(x); LPF=double(LPF); y=conv(x,LPF);
%Keluarkan yang perlu awal=lf+1; akhir=awal+lx-1; y=y(awal:akhir);
%================================================================= % internal function %=================================================================
%Proses downsampling yang mempertahankan koefisien genap function y=downsampling(x)
[b,j]=size(x); %downsampling baris m=1:2:b; x(m,:)=[];
%downsampling kolom m=1:2:j; x(:,m)=[]; y=x;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-12
- Korelasi (korelasi.m) :
%Korelasi function z=korelasi(x,y) y1=(1./length(x)).*(sum(x)); y2=(1./length(y)).*(sum(y)); z=(sum((x-y1).*(y-y2)))./((sqrt(sum((x-y1).^2))).*(sum((y-y2).^2)));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-13
Sintaks Program Non Real Time (kenalwav2.m) :
function kenalwav2
%load database disp('input desimasi 1-3') des=input('Desimasi = ') %input desimasi = 1-3 if (des==1) load dB1r64d1 elseif (des==2) load dB1r64d2 elseif (des==3) load dB1r64d3 end
%Angka 0 x1=imread('S_1_0.jpg');a1=cropbbox(x1); b1=resizing(a1);
y1=xcwav2(b1,des); z1=y1(:); x2=imread('S_1,5_0.jpg'); a2=cropbbox(x2); b2=resizing(a2);
y2=xcwav2(b2,des); z2=y2(:); x3=imread('S_2_0.jpg'); a3=cropbbox(x3); b3=resizing(a3);
y3=xcwav2(b3,des); z3=y3(:); x4=imread('S_2,5_0.jpg'); a4=cropbbox(x4); b4=resizing(a4);
y4=xcwav2(b4,des); z4=y4(:); x5=imread('S_3_0.jpg'); a5=cropbbox(x5); b5=resizing(a5);
y5=xcwav2(b5,des); z5=y5(:);
%Angka 1 x6=imread('S_1,5_1.jpg');a6=cropbbox(x6); b6=resizing(a6);
y6=xcwav2(b6,des); z6=y6(:); x7=imread('S_1,5_1.jpg'); a7=cropbbox(x7); b7=resizing(a7);
y7=xcwav2(b7,des); z7=y7(:); x8=imread('S_2_1.jpg'); a8=cropbbox(x7); b8=resizing(a8);
y8=xcwav2(b8,des); z8=y8(:); x9=imread('S_2,5_1.jpg'); a9=cropbbox(x8); b9=resizing(a9);
y9=xcwav2(b9,des); z9=y9(:); x10=imread('S_3_1.jpg'); a10=cropbbox(x9); b10=resizing(a10);
y10=xcwav2(b10,des); z10=y10(:);
%Angka 2 x11=imread('S_1_2.jpg');a11=cropbbox(x11); b11=resizing(a11);
y11=xcwav2(b11,des); z11=y11(:); x12=imread('S_1,5_2.jpg'); a12=cropbbox(x12); b12=resizing(a12);
y12=xcwav2(b12,des); z12=y12(:); x13=imread('S_2_2.jpg'); a13=cropbbox(x13); b13=resizing(a13);
y13=xcwav2(b13,des); z13=y13(:); x14=imread('S_2,5_2.jpg'); a14=cropbbox(x14); b14=resizing(a14);
y14=xcwav2(b14,des); z14=y14(:); x15=imread('S_3_2.jpg'); a15=cropbbox(x15); b15=resizing(a15);
y15=xcwav2(b15,des); z15=y15(:);
%Angka 3 x16=imread('S_1_3.jpg');a16=cropbbox(x16); b16=resizing(a16);
y16=xcwav2(b16,des); z16=y16(:); x17=imread('S_1,5_3.jpg'); a17=cropbbox(x17); b17=resizing(a17);
y17=xcwav2(b17,des); z17=y17(:); x18=imread('S_2_3.jpg'); a18=cropbbox(x18); b18=resizing(a18);
y18=xcwav2(b18,des); z18=y18(:);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-14
x19=imread('S_2,5_3.jpg'); a19=cropbbox(x19); b19=resizing(a19);
y19=xcwav2(b19,des); z19=y19(:); x20=imread('S_3_3.jpg'); a20=cropbbox(x20); b20=resizing(a20);
y20=xcwav2(b20,des); z20=y20(:);
%Angka 4 x21=imread('S_1_4.jpg');a21=cropbbox(x21); b21=resizing(a21);
y21=xcwav2(b21,des); z21=y21(:); x22=imread('S_1,5_4.jpg'); a22=cropbbox(x22); b22=resizing(a22);
y22=xcwav2(b22,des); z22=y22(:); x23=imread('S_2_4.jpg'); a23=cropbbox(x23); b23=resizing(a23);
y23=xcwav2(b23,des); z23=y23(:); x24=imread('S_2,5_4.jpg'); a24=cropbbox(x24); b24=resizing(a24);
y24=xcwav2(b24,des); z24=y24(:); x25=imread('S_3_4.jpg'); a25=cropbbox(x25); b25=resizing(a25);
y25=xcwav2(b25,des); z25=y25(:);
%Angka 5 x26=imread('S_1_5.jpg');a26=cropbbox(x26); b26=resizing(a26);
y26=xcwav2(b26,des); z26=y26(:); x27=imread('S_1,5_5.jpg'); a27=cropbbox(x27); b27=resizing(a27);
y27=xcwav2(b27,des); z27=y27(:); x28=imread('S_2_5.jpg'); a28=cropbbox(x28); b28=resizing(a28);
y28=xcwav2(b28,des); z28=y28(:); x29=imread('S_2,5_5.jpg'); a29=cropbbox(x29); b29=resizing(a29);
y29=xcwav2(b29,des); z29=y29(:); x30=imread('S_3_5.jpg'); a30=cropbbox(x30); b30=resizing(a30);
y30=xcwav2(b30,des); z30=y30(:);
%Angka 6 x31=imread('S_1_6.jpg');a31=cropbbox(x31); b31=resizing(a31);
y31=xcwav2(b31,des); z31=y31(:); x32=imread('S_1,5_6.jpg'); a32=cropbbox(x32); b32=resizing(a32);
y32=xcwav2(b32,des); z32=y32(:); x33=imread('S_2_6.jpg'); a33=cropbbox(x33); b33=resizing(a33);
y33=xcwav2(b33,des); z33=y33(:); x34=imread('S_2,5_6.jpg'); a34=cropbbox(x34); b34=resizing(a34);
y34=xcwav2(b34,des); z34=y34(:); x35=imread('S_3_6.jpg'); a35=cropbbox(x35); b35=resizing(a35);
y35=xcwav2(b35,des); z35=y35(:);
%Angka 7 x36=imread('S_1_7.jpg');a36=cropbbox(x36); b36=resizing(a36);
y36=xcwav2(b36,des); z36=y36(:); x37=imread('S_1,5_7.jpg'); a37=cropbbox(x37); b37=resizing(a37);
y37=xcwav2(b37,des); z37=y37(:); x38=imread('S_2_7.jpg'); a38=cropbbox(x38); b38=resizing(a38);
y38=xcwav2(b38,des); z38=y38(:); x39=imread('S_2,5_7.jpg'); a39=cropbbox(x39); b39=resizing(a39);
y39=xcwav2(b39,des); z39=y39(:); x40=imread('S_3_7.jpg'); a40=cropbbox(x40); b40=resizing(a40);
y40=xcwav2(b40,des); z40=y40(:);
%Angka 8 x41=imread('S_1_8.jpg');a41=cropbbox(x41); b41=resizing(a41);
y41=xcwav2(b41,des); z41=y41(:); x42=imread('S_1,5_8.jpg'); a42=cropbbox(x42); b42=resizing(a42);
y42=xcwav2(b42,des); z42=y42(:);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-15
x43=imread('S_2_8.jpg'); a43=cropbbox(x43); b43=resizing(a43);
y43=xcwav2(b43,des); z43=y43(:); x44=imread('S_2,5_8.jpg'); a44=cropbbox(x44); b44=resizing(a44);
y44=xcwav2(b44,des); z44=y44(:); x45=imread('S_3_8.jpg'); a45=cropbbox(x45); b45=resizing(a45);
y45=xcwav2(b45,des); z45=y45(:);
%Angka 9 x46=imread('S_1_9.jpg');a46=cropbbox(x46); b46=resizing(a46);
y46=xcwav2(b46,des); z46=y46(:); x47=imread('S_1,5_9.jpg'); a47=cropbbox(x47); b47=resizing(a47);
y47=xcwav2(b47,des); z47=y47(:); x48=imread('S_2_9.jpg'); a48=cropbbox(x48); b48=resizing(a48);
y48=xcwav2(b48,des); z48=y48(:); x49=imread('S_2,5_9.jpg'); a49=cropbbox(x49); b49=resizing(a49);
y49=xcwav2(b49,des); z49=y49(:); x50=imread('S_3_9.jpg'); a50=cropbbox(x50); b50=resizing(a50);
y50=xcwav2(b50,des); z50=y50(:);
datauji=[z1 z2 z3 z4 z5 z6 z7 z8 z9 z10 z11 z12 z13 z14 z15 z16 z17 z18
z19 z20... z21 z22 z23 z24 z25 z26 z27 z28 z29 z30 z31 z32 z33 z34 z35 z36
z37 z38 z39 z40... z41 z42 z43 z44 z45 z46 z47 z48 z49 z50];
%Menampilkan hasil cropping figure(1) subplot(5,10,1);imshow (a1); axis on; title('0-1m') subplot(5,10,2);imshow (a2); axis on; title('0-1,5m') subplot(5,10,3);imshow (a3); axis on; title('0-2m') subplot(5,10,4);imshow (a4); axis on; title('0-2,5m') subplot(5,10,5);imshow (a5); axis on; title('0-3m') subplot(5,10,6);imshow (a6); axis on; title('1-1m') subplot(5,10,7);imshow (a7); axis on; title('1-1,5m') subplot(5,10,8);imshow (a8); axis on; title('1-2m') subplot(5,10,9);imshow (a9); axis on; title('1-2,5m') subplot(5,10,10);imshow (a10); axis on; title('1-3m') subplot(5,10,11);imshow (a11); axis on; title('2-1m') subplot(5,10,12);imshow (a12); axis on; title('2-1,5m') subplot(5,10,13);imshow (a13); axis on; title('2-2m') subplot(5,10,14);imshow (a14); axis on; title('2-2,5m') subplot(5,10,15);imshow (a15); axis on; title('2-3m') subplot(5,10,16);imshow (a16); axis on; title('3-1m') subplot(5,10,17);imshow (a17); axis on; title('3-1,5m') subplot(5,10,18);imshow (a18); axis on; title('3-2m') subplot(5,10,19);imshow (a19); axis on; title('3-2,5m') subplot(5,10,20);imshow (a20); axis on; title('3-3m') subplot(5,10,21);imshow (a21); axis on; title('4-1m') subplot(5,10,22);imshow (a22); axis on; title('4-1,5m') subplot(5,10,23);imshow (a23); axis on; title('4-2m') subplot(5,10,24);imshow (a24); axis on; title('4-2,5m') subplot(5,10,25);imshow (a25); axis on; title('4-3m') subplot(5,10,26);imshow (a26); axis on; title('5-1m') subplot(5,10,27);imshow (a27); axis on; title('5-1,5m') subplot(5,10,28);imshow (a28); axis on; title('5-2m') subplot(5,10,29);imshow (a29); axis on; title('5-2,5m') subplot(5,10,30);imshow (a30); axis on; title('5-3m') subplot(5,10,31);imshow (a31); axis on; title('6-1m') subplot(5,10,32);imshow (a32); axis on; title('6-1,5m')
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-16
subplot(5,10,33);imshow (a33); axis on; title('6-2m') subplot(5,10,34);imshow (a34); axis on; title('6-2,5m') subplot(5,10,35);imshow (a35); axis on; title('6-3m') subplot(5,10,36);imshow (a36); axis on; title('7-1m') subplot(5,10,37);imshow (a37); axis on; title('7-1,5m') subplot(5,10,38);imshow (a38); axis on; title('7-2m') subplot(5,10,39);imshow (a39); axis on; title('7-2,5m') subplot(5,10,40);imshow (a40); axis on; title('7-3m') subplot(5,10,41);imshow (a41); axis on; title('8-1m') subplot(5,10,42);imshow (a42); axis on; title('8-1,5m') subplot(5,10,43);imshow (a43); axis on; title('8-2m') subplot(5,10,44);imshow (a44); axis on; title('8-2,5m') subplot(5,10,45);imshow (a45); axis on; title('8-3m') subplot(5,10,46);imshow (a46); axis on; title('9-1m') subplot(5,10,47);imshow (a47); axis on; title('9-1,5m') subplot(5,10,48);imshow (a48); axis on; title('9-2m') subplot(5,10,49);imshow (a49); axis on; title('9-2,5m') subplot(5,10,50);imshow (a50); axis on; title('9-3m')
% Menampilkan hasil resizing figure(2) subplot(5,10,1);imshow (b1); axis on; title('0-1m') subplot(5,10,2);imshow (b2); axis on; title('0-1,5m') subplot(5,10,3);imshow (b3); axis on; title('0-2m') subplot(5,10,4);imshow (b4); axis on; title('0-2,5m') subplot(5,10,5);imshow (b5); axis on; title('0-3m') subplot(5,10,6);imshow (b6); axis on; title('1-1m') subplot(5,10,7);imshow (b7); axis on; title('1-1,5m') subplot(5,10,8);imshow (b8); axis on; title('1-2m') subplot(5,10,9);imshow (b9); axis on; title('1-2,5m') subplot(5,10,10);imshow (b10); axis on; title('1-3m') subplot(5,10,11);imshow (b11); axis on; title('2-1m') subplot(5,10,12);imshow (b12); axis on; title('2-1,5m') subplot(5,10,13);imshow (b13); axis on; title('2-2m') subplot(5,10,14);imshow (b14); axis on; title('2-2,5m') subplot(5,10,15);imshow (b15); axis on; title('2-3m') subplot(5,10,16);imshow (b16); axis on; title('3-1m') subplot(5,10,17);imshow (b17); axis on; title('3-1,5m') subplot(5,10,18);imshow (b18); axis on; title('3-2m') subplot(5,10,19);imshow (b19); axis on; title('3-2,5m') subplot(5,10,20);imshow (b20); axis on; title('3-3m') subplot(5,10,21);imshow (b21); axis on; title('4-1m') subplot(5,10,22);imshow (b22); axis on; title('4-1,5m') subplot(5,10,23);imshow (b23); axis on; title('4-2m') subplot(5,10,24);imshow (b24); axis on; title('4-2,5m') subplot(5,10,25);imshow (b25); axis on; title('4-3m') subplot(5,10,26);imshow (b26); axis on; title('5-1m') subplot(5,10,27);imshow (b27); axis on; title('5-1,5m') subplot(5,10,28);imshow (b28); axis on; title('5-2m') subplot(5,10,29);imshow (b29); axis on; title('5-2,5m') subplot(5,10,30);imshow (b30); axis on; title('5-3m') subplot(5,10,31);imshow (b31); axis on; title('6-1m') subplot(5,10,32);imshow (b32); axis on; title('6-1,5m') subplot(5,10,33);imshow (b33); axis on; title('6-2m') subplot(5,10,34);imshow (b34); axis on; title('6-2,5m') subplot(5,10,35);imshow (b35); axis on; title('6-3m') subplot(5,10,36);imshow (b36); axis on; title('7-1m') subplot(5,10,37);imshow (b37); axis on; title('7-1,5m') subplot(5,10,38);imshow (b38); axis on; title('7-2m') subplot(5,10,39);imshow (b39); axis on; title('7-2,5m')
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-17
subplot(5,10,40);imshow (b40); axis on; title('7-3m') subplot(5,10,41);imshow (b41); axis on; title('8-1m') subplot(5,10,42);imshow (b42); axis on; title('8-1,5m') subplot(5,10,43);imshow (b43); axis on; title('8-2m') subplot(5,10,44);imshow (b44); axis on; title('8-2,5m') subplot(5,10,45);imshow (b45); axis on; title('8-3m') subplot(5,10,46);imshow (b46); axis on; title('9-1m') subplot(5,10,47);imshow (b47); axis on; title('9-1,5m') subplot(5,10,48);imshow (b48); axis on; title('9-2m') subplot(5,10,49);imshow (b49); axis on; title('9-2,5m') subplot(5,10,50);imshow (b50); axis on; title('9-3m')
% Menampilkan hasil ekstraksi ciri figure(3) subplot(5,10,1);imshow (y1); axis on; title('0-1m') subplot(5,10,2);imshow (y2); axis on; title('0-1,5m') subplot(5,10,3);imshow (y3); axis on; title('0-2m') subplot(5,10,4);imshow (y4); axis on; title('0-2,5m') subplot(5,10,5);imshow (y5); axis on; title('0-3m') subplot(5,10,6);imshow (y6); axis on; title('1-1m') subplot(5,10,7);imshow (y7); axis on; title('1-1,5m') subplot(5,10,8);imshow (y8); axis on; title('1-2m') subplot(5,10,9);imshow (y9); axis on; title('1-2,5m') subplot(5,10,10);imshow (y10); axis on; title('1-3m') subplot(5,10,11);imshow (y11); axis on; title('2-1m') subplot(5,10,12);imshow (y12); axis on; title('2-1,5m') subplot(5,10,13);imshow (y13); axis on; title('2-2m') subplot(5,10,14);imshow (y14); axis on; title('2-2,5m') subplot(5,10,15);imshow (y15); axis on; title('2-3m') subplot(5,10,16);imshow (y16); axis on; title('3-1m') subplot(5,10,17);imshow (y17); axis on; title('3-1,5m') subplot(5,10,18);imshow (y18); axis on; title('3-2m') subplot(5,10,19);imshow (y19); axis on; title('3-2,5m') subplot(5,10,20);imshow (y20); axis on; title('3-3m') subplot(5,10,21);imshow (y21); axis on; title('4-1m') subplot(5,10,22);imshow (y22); axis on; title('4-1,5m') subplot(5,10,23);imshow (y23); axis on; title('4-2m') subplot(5,10,24);imshow (y24); axis on; title('4-2,5m') subplot(5,10,25);imshow (y25); axis on; title('4-3m') subplot(5,10,26);imshow (y26); axis on; title('5-1m') subplot(5,10,27);imshow (y27); axis on; title('5-1,5m') subplot(5,10,28);imshow (y28); axis on; title('5-2m') subplot(5,10,29);imshow (y29); axis on; title('5-2,5m') subplot(5,10,30);imshow (y30); axis on; title('5-3m') subplot(5,10,31);imshow (y31); axis on; title('6-1m') subplot(5,10,32);imshow (y32); axis on; title('6-1,5m') subplot(5,10,33);imshow (y33); axis on; title('6-2m') subplot(5,10,34);imshow (y34); axis on; title('6-2,5m') subplot(5,10,35);imshow (y35); axis on; title('6-3m') subplot(5,10,36);imshow (y36); axis on; title('7-1m') subplot(5,10,37);imshow (y37); axis on; title('7-1,5m') subplot(5,10,38);imshow (y38); axis on; title('7-2m') subplot(5,10,39);imshow (y39); axis on; title('7-2,5m') subplot(5,10,40);imshow (y40); axis on; title('7-3m') subplot(5,10,41);imshow (y41); axis on; title('8-1m') subplot(5,10,42);imshow (y42); axis on; title('8-1,5m') subplot(5,10,43);imshow (y43); axis on; title('8-2m') subplot(5,10,44);imshow (y44); axis on; title('8-2,5m') subplot(5,10,45);imshow (y45); axis on; title('8-3m') subplot(5,10,46);imshow (y46); axis on; title('9-1m')
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-18
subplot(5,10,47);imshow (y47); axis on; title('9-1,5m') subplot(5,10,48);imshow (y48); axis on; title('9-2m') subplot(5,10,49);imshow (y49); axis on; title('9-2,5m') subplot(5,10,50);imshow (y50); axis on; title('9-3m')
for k=1:50; for n=1:10; r(n)=korelasi(datauji(:,k),z(:,n)); end [s1,s2]=sort(r,'descend')
% Penentuan kelas keluaran KelasOut=s2(1);
% Penentuan buah keluaran DaftarAngka={'0';'1';'2';'3';'4';'5';'6';'7';'8';'9'}; Angka{k}=DaftarAngka{KelasOut}; end AngkaOut=Angka
%================================================================= % internal function %=================================================================
function cout=cropbbox(img0) %Konversi RGB ke HSV x1=rgb2hsv(img0);
%Konversi RGB ke HSV
s=x1(:,:,2); %Ambil bagian saturation s1=s>0.17;
v=x1(:,:,3); %Ambil bagian value v1=v>0.4;
tsv=and(s1,v1); kulit=bwareaopen(v1,2000); kulit1=imdilate(kulit,strel('square',4));
%Hitung luasan kulit %Tandai Objek yang ada x1 = bwlabel(kulit1);
%Hitung jumlah objek jumobj = max(x1(:));
if jumobj>1 %Hitung luasan setiap objek for k=1:jumobj x2=x1==k; aobj(k)=sum(x2(:)); end %segmentasi luasan kedua terbesar [s,u]=sort(aobj,'descend'); x3=x1==u(2); else x3=x1;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-19
end
% Proses cropping sesuai bounding box if sum(sum(x3))>0 % Jika ada obyek dilakukan pemotongan % Potong kiri cout=x3; a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Potong kanan cout=fliplr(cout); a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Potong atas cout=cout'; a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Potong bawah cout=fliplr(cout); a=sum(cout); b=find(a>0); cout(:,1:b(1)-1)=[];
% Penyesuaian orientasi cout=cout'; cout=flipud(cout); cout=fliplr(cout); else % Jika tidak ada obyek tidak dilakukan pemotongan cout=x3; end
%================================================================= % internal function %=================================================================
%Proses resizing function x0=resizing(img1) x0=imresize(img1,[64 64]);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-20
Proses Menyeluruh yang dicerminkan dalam Bentuk Flowchart :
Mulai
Konversi RGB ke HSV
“rgb2hsv”
Segmentasi HSV
Cropping dan Resizing
Input :
Citra RGB
K
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-21
Output:
Keluaran Teks
“0”
Ekstraksi Ciri Wavelet
(Desimasi 2)
Template Matching
(Perhitungan Korelasi)
Selesai
K
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-22
Confusion Matrix Hasil Percobaan secara Real Time :
Hasil Orang 1 :
- Jarak 1 m :
Desimasi 1 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 IIII
5 IIII
6 IIII
7 I IIII
8 IIII
9 IIII
Desimasi 2 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 IIII
5 IIII
6 IIII
7 I IIII
8 IIII
9 IIII
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-23
Desimasi 3 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 I IIII
3 I IIII
4 I IIII
5 I IIII
6 I IIII
7 IIII I
8 IIII I
9 II II I
- Jarak 1,5 m :
Desimasi 1 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 IIII
5 IIII
6 III II
7 III II
8 III II
9 IIII
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-24
Desimasi 2 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 IIII
5 IIII
6 III II
7 III II
8 III II
9 IIII
Desimasi 3 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 II III
5 IIII
6 III II
7 II III
8 III II
9 IIII
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-25
- Jarak 2 m :
Desimasi 1 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 III I I
3 IIII
4 IIII I
5 IIII
6 I IIII
7 II III
8 III II
9 I II II
Desimasi 2 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 II I II
3 IIII
4 IIII I
5 IIII
6 I IIII
7 II III
8 III II
9 I II II
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-26
Desimasi 3 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 I I III
3 IIII
4 IIII I
5 III II
6 I IIII
7 II III
8 III II
9 I II II
- Jarak 2,5 m :
Desimasi 1 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 IIII
5 IIII
6 III II
7 III II
8 II III
9 IIII
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-27
Desimasi 2 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 IIII
5 IIII
6 III II
7 III II
8 II III
9 IIII
Desimasi 3 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 I IIII
3 I IIII
4 I IIII
5 I IIII
6 I IIII
7 IIII I
8 IIII I
9 II II I
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-28
- Jarak 3 m :
Desimasi 1 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 IIII
5 IIII
6 III II
7 II III
8 II III
9 IIII
Desimasi 2 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 III II
5 IIII
6 III II
7 II III
8 II III
9 I II II
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-29
Desimasi 3 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 I I III
3 IIII
4 IIII I
5 III II
6 I IIII
7 II III
8 III II
9 I II II
Hasil Orang 2 :
- Jarak 1 m :
Desimasi 1 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 IIII
5 IIII
6 IIII
7 IIII I
8 IIII
9 IIII
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-30
Desimasi 2 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 IIII
5 IIII
6 IIII
7 IIII I
8 IIII
9 IIII
Desimasi 3 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 I IIII
3 I IIII
4 I IIII
5 I IIII
6 I IIII
7 I IIII
8 IIII I
9 II II I
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-31
- Jarak 1,5 m :
Desimasi 1 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 IIII
5 IIII
6 III II
7 III II
8 III II
9 IIII
Desimasi 2 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 IIII
5 IIII
6 III II
7 III II
8 III II
9 IIII
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-32
Desimasi 3 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 II III
5 IIII
6 III II
7 II III
8 III II
9 IIII
- Jarak 2 m :
Desimasi 1 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 III I I
3 IIII
4 IIII I
5 IIII
6 I IIII
7 II III
8 III II
9 II I II
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-33
Desimasi 2 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 II I II
3 IIII
4 IIII I
5 IIII
6 I IIII
7 II III
8 III II
9 II I II
Desimasi 3 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 II I II
3 IIII
4 II III
5 IIII
6 I IIII
7 I I III
8 III II
9 II II I
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-34
- Jarak 2,5 m :
Desimasi 1 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 IIII
5 IIII
6 III II
7 III II
8 II III
9 IIII
Desimasi 2 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 IIII
5 IIII
6 III II
7 III II
8 II III
9 IIII
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-35
Desimasi 3 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 I IIII
3 I IIII
4 I IIII
5 I IIII
6 I IIII
7 I IIII
8 IIII I
9 II II I
- Jarak 3 m :
Desimasi 1 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 IIII
4 IIII
5 IIII
6 III II
7 II III
8 II III
9 IIII
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-36
Desimasi 2 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 IIII
3 III II
4 IIII I
5 IIII
6 III II
7 II III
8 II III
9 I I II
Desimasi 3 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 IIII
1 IIII
2 II I II
3 IIII
4 II III
5 IIII
6 I IIII
7 I I III
8 II I II
9 I I II I
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-37
Confusion Matrix Hasil Percobaan secara Non Real Time :
- Jarak 1 m :
Desimasi 1 :
Desimasi 2 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 √
1 √
2 √
3 √
4 √
5 √
6 √
7 √
8 √
9 √
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 √
1 √
2 √
3 √
4 √
5 √
6 √
7 √
8 √
9 √
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-38
Desimasi 3 :
- Jarak 1,5 m :
Desimasi 1 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 √
1 √
2 √
3 √
4 √
5 √
6 √
7 √
8 √
9 √
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 √
1 √
2 √
3 √
4 √
5 √
6 √
7 √
8 √
9 √
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-39
Desimasi 2 :
Desimasi 3 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 √
1 √
2 √
3 √
4 √
5 √
6 √
7 √
8 √
9 √
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 √
1 √
2 √
3 √
4 √
5 √
6 √
7 √
8 √
9 √
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-40
- Jarak 2 m :
Desimasi 1 :
Desimasi 2 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 √
1 √
2 √
3 √
4 √
5 √
6 √
7 √
8 √
9 √
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 √
1 √
2 √
3 √
4 √
5 √
6 √
7 √
8 √
9 √
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-41
Desimasi 3 :
- Jarak 2,5 m :
Desimasi 1 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 √
1 √
2 √
3 √
4 √
5 √
6 √
7 √
8 √
9 √
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 √
1 √
2 √
3 √
4 √
5 √
6 √
7 √
8 √
9 √
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-42
Desimasi 2 :
Desimasi 3 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 √
1 √
2 √
3 √
4 √
5 √
6 √
7 √
8 √
9 √
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 √
1 √
2 √
3 √
4 √
5 √
6 √
7 √
8 √
9 √
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-43
- Jarak 3 m :
Desimasi 1 :
Desimasi 2 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 √
1 √
2 √
3 √
4 √
5 √
6 √
7 √
8 √
9 √
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 √
1 √
2 √
3 √
4 √
5 √
6 √
7 √
8 √
9 √
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L-44
Desimasi 3 :
OUT
IN 0 1 2 3 4 5 6 7 8 9
0 √
1 √
2 √
3 √
4 √
5 √
6 √
7 √
8 √
9 √
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI