i
TUGAS AKHIR
PENGENALAN HURUF PLAT NOMOR KENDARAAN
BERMOTOR RODA DUA SECARA REAL TIME
MENGGUNAKAN METODE EKSTRASI CIRI
PENGABURAN DAN PERATAAN BLOK
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Oleh :
BERNARDUS ASTO WICAKSONO
NIM : 095114002
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2014
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FINAL PROJECT
LETTER RECOGNITION OF MOTORCYCLE LICENSE
PLATE IN REAL TIME USING BLURRING AND BLOCK
AVERAGING FEATURE EXTRACTION METHOD
Presented as Partial Fullfillment of The Requirements
To Obtain Sarjana Teknik Degree
In Electrical Engineering Study Program
By :
BERNARDUS ASTO WICAKSONO
Student’s Number : 095114002
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2014
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
HALAMAN PERSETUJUAN
TUGAS AKHIR
PENGENALAN HURUF PLAT NOMOR KENDARAAN
BERMOTOR RODA DUA SECARA REAL TIME
MENGGUNAKAN METODE EKSTRASI CIRI
PENGABURAN DAN PERATAAN BLOK
( LETTER RECOGNITION OF MOTORCYCLE LICENSE
PLATE IN REAL TIME USING BLURRING AND BLOCK
AVERAGING FEATURE EXTRACTION METHOD )
Oleh:
BERNARDUS ASTO WICAKSONO
NIM : 095114002
telah disetujui oleh :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya
orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka
sebagaimana layaknya karya ilmiah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO :
karena KETERBATASAN aku BERJUANG
Skripsi ini kupersembahkan untuk….
Yesus Kristus Pembimbingku yang setia
Bapak dan Ibu tercinta
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
LEMBAR PERNYATAN PERSETUJUAN PUBLIKASI
KARYA ILMIAH UNTUK KEPENTINGAN
AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama : Bernardus Asto Wicaksono
Nomor Mahasiswa : 095114002
Demi pengembangan ilmu pengetahuan, saya memberikan kepada perpustakaan
Universitas Sanata Dharma karya ilmiah saya yang berjudul :
PENGENALAN HURUF PLAT NOMOR KENDARAAN
BERMOTOR RODA DUA SECARA REAL
TIMEMENGGUNAKAN METODE EKSTRASI CIRI
PENGABURAN DAN PERATAAN BLOK
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
tetapmencatumkan nama saya sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Sistem identifikasi atau pengecekan kendaraan bermotor roda dua di tempat parkir
masih bersifat konvensional dan bergantung pada manusia. Sistem konvensional yang
masih diterapkan adalah dengan mencatat nomor plat kendaraan secara manual atau ditulis
tangan. Sistem tersebut masih bergantung pada manusia saat pengecekan kendaraan masuk
dan keluar dari tempat parkir.
Sistem pengenalan plat nomor pada saat pengecekan kendaraan masuk dan keluar
dari tempat parkir dapat menjadi salah satu solusinya.Sistem pengenalan yang dilakukan
adalah dengan mengenali karakter huruf plat nomor. Citra kepingan huruf plat nomor yang
telah dicapture kemudian diolah dengan menggunakan preprocessing, ektrasi ciri
pengaburan dan perataan blok, jarak Euclidean dan kemudian program akan menampilkan
hasil pengenalan.
Sistem pengenalan kepingan huruf plat nomor bermotor roda dua menggunakan
ekstrasi ciri pengaburan dan perataan blok sudah berjalan sesuai dengan perancangan.
Rata–rata tingkat pengenalan dengan menggunakan ekstrasi ciri pengaburan dan perataan
blok adalah sebesar 86.84%. Semakin kecil ukuran tapis dan standar deviasinya maka
tingkat pengenalannya akan semakin tinggi. Semakin besar ukuran tapis dan standar
deviasinya maka tingkat pengenalannya akan semakin rendah.
Kata kunci : Pengenalan huruf, plat nomor, ekstrasi ciri pengaburan dan perataanblok,
fungsi jarak Euclidean.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Identification system of the parking lot is conventional and dependent on human. It
is still applied by write the vehicle number license plate manually or hand written. It is still
dependent on human when vehicle check in and out of the parking lot.
System of letter recognition when vehicle check in and out can be solution.The
letter fragment license plate’s of image has been captured, been image processed using
preprocessing, Blurring and Block Averaging feature extraction, Euclidean distance and
recognition program will show result recognition.
The real time system of letter fragment license plate recognition has been succeed.
Average of rate recognition using blurring and block averaging feature extraction is
86.84%. The smaller filter size and standart deviation produces higher rate recognition.
The higher filter size and standart deviation produces smaller rate recognition. Recognition
program only recognizes one character letters, it can be developed with more than one
character letter’s recognition.
Keyword :Letter Recognition, License Plate, Blurring and Averaging Block Feature
Extraction, Euclidean Distance.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus karena telah
memberikan rahmat-Nya sehingga penulis dapat menyelesaikan laporan tugas akhir ini
dengan baik.Laporan tugas akhir ini disusun untuk memenuhi syarat memperoleh gelar
sarjana.
Selama pembuatan tugas akhir ini penulis menyadari bahwa ada begitu banyak
pihak yang telah memberikan bantuan baik bantuan materi, moral maupun dukungan. Oleh
karena itu penulis ingin mengucapkan terimakasih kepada :
1. Drs. Johanes Eka Priyatma, M.Sc., Ph.D, Rektor Universitas Sanata Dharma
2. Paulina Heruningsih Prima Rosa, S.si., M.Sc, Dekan Fakultas Sains dan
Teknologi
3. Petrus Setyo Prabowo, S.T., M.T., Ketua Program Studi Teknik Elektro
Universitas Sanata Dharma.
4. Dr. Linggo Sumarno, dosen pembimbing yang dengan penuh setia, kesabaran dan
pengertian untuk membimbing dalam menyelesaikan Tugas Akhir ini.
5. Wiwien Widyastuti, S.T., M.T. dan Dr. Iswanjono selaku dosen penguji yang
telah memberi masukkan, kritik dan saran serta merevisi penulisan tugas akhir ini.
6. Bapak dan Ibu dosen yang telah mengajarkan banyak ilmu yang bermanfaat
selama menempuh pendidikan di Universitas Sanata Dharma.
7. Kedua orang tua penulis yang telah banyak memberikan dukungan doa, kasih
sayang dan motivasi selama menempuh pendidikan di Universitas Sanata Dharma.
8. Teman–teman seperjuangan Teknik Elektro 2009 yang telah menemani pada saat
menempuh pendidikan di Universitas Sanata Dhama.
9. Teman–teman SMA yang telah memberikan dukungan semangat dan motivasi
selama menempuh pendidikan di Universitas Sanata Dharma.
10. Teman–teman mudika St.Michael Cangkringan yang telah memberikan semangat
rohani dan hiburan selama penulisan tugas akhir ini.
11. Semua pihak yang tidak bisa disebutkan satu persatu yang telah banyak
memberikan banyak bantuan dan dukungan dalam menyelesaikan tugas akhir ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
Penulis menyadari bahwa dalam penyusunan laporan tugas akhir masih
mengalami kesulitan dan tidak lepas dari kesalahan.Oleh karena itu, penulis mengharapkan
masukan, kritik dan saran yang membangun agar skripsi ini menjadi lebih baik.Dan
semoga skripsi ini dapat bermanfaat sebagaimana mestinya.
Penulis,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT 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 ........................................................................................................... xiv
DAFTAR TABEL ............................................................................................................... xvi
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 ...................................................................................................... 4
2.1. Plat Nomor Kendaraan di Republik Indonesia ............................................................. 4
2.2. Pengolahan Citra .......................................................................................................... 5
2.2.1 Definisi ................................................................................................................ 5
2.2.2 Model RGB ......................................................................................................... 6
2.3. Pemrosesan Citra ......................................................................................................... 7
2.4. Pengenalan Pola .......................................................................................................... 8
2.5. Ektrasi Ciri Pengaburan dan Perataan Blok ................................................................ 9
2.6. Jarak Euclidean ............................................................................................................ 11
2.7. Webcam ....................................................................................................................... 11
2.8. Pemrograman Matlab .................................................................................................. 12
BAB III RANCANGAN PENELITIAN ............................................................................. 14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
3.1.Gambaran Sistem ......................................................................................................... 14
3.1.1 Fixture .................................................................................................................. 14
3.1.2 Kepingan Plat ...................................................................................................... 15
3.1.3 Webcam ............................................................................................................... 15
3.1.4 Rancangan software pengenalan huruf ................................................................ 16
3.2. Huruf Uji ...................................................................................................................... 25
3.3. Perancangan Tampilan GUI ......................................................................................... 25
BAB IV ANALISIS DAN PEMBAHASAN ...................................................................... 28
4.1. Pengujian Program Pengenalan Kepingan Huruf Plat Nomor Kendaraan Bermotor
Roda Dua ...................................................................................................................... 28
4.1.1 Home ................................................................................................................... 28
4.1.2 Pengenalan ........................................................................................................... 29
4.1.3 Bantuan ................................................................................................................ 37
4.1.4 Tentang ................................................................................................................ 37
4.1.5 Menu Editor ........................................................................................................ 38
4.2. Hasil Pengujian Program Pengenalan Terhadap Tingkat Pengenalan Citra Kepingan
Plat huruf ...................................................................................................................... 38
4.2.1. Pengujian Parameter Pengaturan Pengenalan Citra Kepingan Plat .................. 38
4.2.2. Pengujian Untuk Menentukan Batasan Nilai Jarak Optimal ........................... 43
4.2.3. Pengujian Karakter Angka ............................................................................... 43
BAB V KESIMPULAN DAN SARAN .............................................................................. 45
5.1. Kesimpulan ................................................................................................................... 45
5.2. Saran ............................................................................................................................. 45
DAFTAR PUSTAKA .......................................................................................................... 46
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DAFTAR GAMBAR
Gambar 2.1 Contoh Plat Nomer Republik Indonesia .......................................................... 5
Gambar 2.2 Skema warna RGB dalam kubus ..................................................................... 6
Gambar 2.3 Kubus berwarna RGB 24 bit............................................................................ 7
Gambar 2.4 Transformasi Spasial ....................................................................................... 8
Gambar 2.5 Contoh pengaburan dan perataan blok ............................................................ 10
Gambar 2.6 Diagram jarak antara 2 titik ............................................................................. 11
Gambar 2.7 Contoh webcam ............................................................................................... 12
Gambar 3.1 Gambaran sistem keseluruhan ......................................................................... 14
Gambar 3.2 Kepingan plat yang digunakan ........................................................................ 15
Gambar 3.3 Diagram Alir Pembentukan Database ............................................................ 16
Gambar 3.4 Diagram alir proses pengenalan....................................................................... 17
Gambar 3.5 Diagram alir pengambilan citra ...................................................................... 19
Gambar 3.6 Contoh hasil citra proses grayscale ................................................................. 19
Gambar 3.7 Proses cropping pada citra kepingan plat ........................................................ 20
Gambar 3.8 Hasil resizing .................................................................................................. 21
Gambar 3.9 Diagram alir pemrosesan citra ......................................................................... 22
Gambar 3.10 Diagram alir ekstrasi ciri ............................................................................... 23
Gambar 3. 11 Diagram alir menghitung jarak Euclidean .................................................... 24
Gambar 3. 12 Diagram alir menghitung penentuan keluaran ............................................. 25
Gambar 3.13 Jendela home .................................................................................................. 26
Gambar 3.14 Jendela pengenalan ........................................................................................ 26
Gambar 3.15 Jendela bantuan .............................................................................................. 27
Gambar 3.16 Jendela tentang............................................................................................... 27
Gambar 4.1 Tampilan home ................................................................................................ 28
Gambar 4.2 Tampilan pengenalan ....................................................................................... 29
Gambar 4.3 Tampilan bantuan ............................................................................................ 37
Gambar 4.4 Tampilan tentang ............................................................................................. 37
Gambar 4.5 Tampilan menu editor ...................................................................................... 38
Gambar 4.6 Grafik persentase tingkat pengenalan terhadap ukuran tapis .......................... 40
Gambar 4.7 Grafik persentase tingkat pengenalan terhadap standar deviasi ...................... 40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
Gambar 4.8 Contoh citra dengan ukuran tapis bervariasi dan standar deviasi tetap ........... 41
Gambar 4.9 Contoh citra dengan ukuran tapis tetap dan standar deviasi bervariasi ........... 42
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
DAFTAR TABEL
Tabel 2.1 Jenis-jenis transformasi Affine ............................................................................ 8
Tabel 3.1 Spesifikasi webcam Logitech c 270h .................................................................. 16
Tabel 4.1 Hasil persentase tingkat pengenalan .................................................................... 39
Tabel 4.2 Jarak Euclidean setiap karakter huruf.................................................................. 43
Tabel 4.3 Jarak Euclidean karakter angka ........................................................................... 43
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Di tengah perkembangan jaman yang semakin maju dan modern, banyak
masyarakat yang dapat membeli kendaraan bermotor. Meningkatnya pertumbuhan
kepemilikan kendaraan bermotor tidak diimbangi dengan teknologi yang canggih dalam
sistem identifikasi atau pengecekan kendaraaan bermotor roda dua di tempat parkir. Sistem
identifikasi atau pengecekan kendaraan bermotor roda dua di tempat parkir masih bersifat
konvensional dan bergantung pada manusia. Sistem konvensional yang masih diterapkan
adalah dengan mencatat nomor plat kendaraan secara manual atau ditulis tangan. Sistem
tersebut masih bergantung pada manusia. Pada pengecekan, manusia sering lalai karena
lelah dan tidak mengecek dengan benar nomor plat yang tertera di karcis dengan yang
tertera di plat nomor kendaraan.
Untuk mengatasi sistem identifikasi atau pengecekan yang masih bergantung pada
manusia maka harus diimbangi dengan teknologi yang dapat diterapkan di tempat parkir.
Berdasarkan hal tersebut, penulis membuat suatu sistem yang dapat mencuplik plat nomor
kendaraan dengan menggunakan webcam, khususnya pada kendaraan bermotor. Sistem
yang dibuat meliputi beberapa bidang yaitu computer vision, pengolahan citra (image
processing) dan pengenalan pola (pattern recognition). Sistem tersebut secara garis besar
dapat di definisikan sebagai sistem yang dapat mencuplik objek, memperbaiki kualitas
citra objek yang telah dicuplik dan mengekstrasi ciri dengan menggunakan pengenalan
pola[1].
Sistem yang dibuat dapat mengenali karakter huruf pada kepingan plat secara real
time menggunakan webcam. Penulis menemukan penelitian – penelitian sebelumnya yang
berkaitan dengan pengenalan karakter huruf, diantaranya pernah diteliti oleh Haryono [2]
tentang pengenalan huruf besar pada font secara offline dengan menggunakan metode
Jaringan Saraf Tiruan Radial Basis Function dengan Randomize Cluster Decision. Selain
itu, penulis juga menemukan penelitian lain oleh Sumarno [3] yang meneliti tentang
karakter huruf pada tulisan tangan secara offline dengan menggunakan metode
Pengaburan dan Perataan Blok dengan Tapis Gaussian 2D. Sistem yang akan dibuat adalah
sistem yang secara real time dengan menggunakan webcam. Sistem ini akan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
membandingkan citra karakter 26 huruf, yaitu dari A sampai Z dengan citra plat yang telah
dicapture oleh user melalui webcam sehingga akan dihasilkan perbandingan jarak terkecil.
Karakter dari A sampai Z diproses dahulu melalui preprocessing. Setelah itu kemudian
diproses menggunakan metode ekstrasi ciri pengaburan dan perataan blok (Blurring and
Averaging Block Feature Extraction) untuk kemudian digunakan sebagai database huruf.
Karakter yang telah dicapture dibandingkan dengan database huruf dengan menggunakan
fungsi jarak Euclidean dan hasil perbandingan jarak yang terkecil merupakan karakter
yang telah dicapture. Semua proses tersebut menggunakan software Matlab 7.04, baik
dalam pemrogramannya maupun visualisasi pengambilan gambarnya. Jika proses
pengambilan gambar telah sesuai dengan database huruf, maka sistem ini akan memberi
peringatan kepada user bahwa pengenalan huruf sudah selesai. User dapat melihat hasil
dari karakter yang telah dicapture melalui tampilan layar monitor.
1.2. Tujuan dan Manfaat Penelitian
Tujuan dari penulisan tugas akhir ini adalah menerapkan metode sistem pengenalan
kepingan plat huruf dengan menggunakan ekstrasi ciri pengaburan dan perataan blok.
Manfaat penulisan tugas akhir ini adalah sebagai penelitian awal dari otomatisasi sistem
identifikasi atau pengecekan plat nomor kendaraan roda dua di tempat parkir.
1.3. Batasan Masalah
Sistem otomatisasi pengenalan huruf pada plat nomer terdiri dari hardware dan
software (computer). Hardware berupa webcam dan fixture. Software yang digunakan
adalah matlab. Matlab berfungsi untuk mengatur seluruh proses pengolahan data .
Pada perancangan sistem ini, penulis fokus pada pembuatan software komputer
untuk memproses pengenalan huruf pada plat nomer sedangkan untuk hardware berupa
webcam yang sudah tersedia di pasaran dan fixture yang didesain sendiri. Penulis
menetapkan beberapa batasan masalah pada perancangan ini, yaitu sebagai berikut :
a. Pengenalan huruf yang akan dikenali adalah kepingan huruf plat nomor yang
dikeluarkan oleh kepolisian yang terbaru. Ukuran kepingan plat yang digunakan
adalah berukuran 6×5 cm.
b. Pengenalan huruf yang digunakan hanya satu jenis font yaitu font yang digunakan
pada plat nomor resmi untuk kendaraan bermotor roda dua dengan warna
background hitam dan warna karakter putih.
c. Pada fixture sudah disediakan letak posisi kepingan plat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
d. Posisi webcam tegak lurus diatas plat.
e. Pengambilan (capture) citra menggunakan webcam.
f. Nilai–nilai yang akan dievaluasi adalah ukuran tapis dan standar deviasi tapis
Gaussian 2D.
g. Tidak dapat mengenali karakter lain selain huruf.
h. Metode yang digunakan untuk mengenali huruf adalah menggunakan metode
perbandingan dengan mengukur jarak Euclidean.
i. Pengenalan huruf pada plat nomor ini dibuat dengan menggunakan software
pemrograman Matlab.
j. Keluaran yang dihasilkan berupa teks di layar monitor.
1.4. Metodologi penelitian
Langkah langkah dalam pengerjaan tugas akhir :
a. Pengumpulan bahan–bahan referensi berupa buku–buku, jurnal–jurnal dan
literatur dari internet mengenai blurring and averaging block feature
extraction, image processing, pemrograman matlab dan jarak Euclidean.
b. Perancangan subsistem software
Tahap ini bertujuan untuk mencari bentuk model yang optimal dari sistem yang
akan dibuat dengan mempertimbangkan berbagai faktor–faktor permasalahan
dan kebutuhan yang ditentukan.
c. Pembuatan subsistem software
Sistem akan mengolah interupsi yang diterima dari push button dan memulai
proses menampilkan video sampai user kembali memberikan perintah untuk
melakukan pengambilan (capture) gambar. Setelah itu, user memberikan
interupsi untuk memulai pengenalan huruf. Kemudian, Matlab akan mengolah
huruf dan menyajikan sebagai sebuah informasi.
d. Analisa dan menyimpulkan hasil percobaan
Analisa data dilakukan dengan menyelidiki pengaruh variasi ukuran tapis dan
standar deviasi dengan 832 kali percobaan (26 karakter×2 set×16 variasi)
terhadap tingkat pengenalan. Penyimpulan hasil percobaan dilakukan dengan
mencari ukuran tapis dan standar deviasi yang menghasilkan tingkat
pengenalan yang tertinggi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
BAB II
DASAR TEORI
Penyusunan tugas akhir ini membutuhkan beberapa landasan teori yang digunakan
sebagai acuan dalam memahami dan mengimplementasikan pengenalan huruf pada plat
nomor secara real time, antara lain : Plat nomor kendaraan, Pengolahan Citra, Pengenalan
Pola, Ekstrasi Ciri Pengaburan dan Perataan Blok, Template Matching, jarak Euclidean,
Webcam dan pemrograman Matlab.
2.1. Plat Nomor Kendaraan di Republik Indonesia[4]
Plat nomor adalah salah satu jenis identifikasi kendaraan bermotor. Plat nomor
disebut plat registrasi kendaraan. Bentuknya berupa potongan plat logam atau plastik yang
dipasang pada kendaraan bermotor sebagai identifikasi resmi. Plat nomor jumlahnya
sepasang, untuk dipasang di depan dan belakang kendaraan. Terdapat peraturan tertentu
atau jenis kendaraan tertentu yang hanya membutuhkan satu plat nomor, biasanya untuk
dipasang di bagian belakang. Plat nomor memiliki nomor seri yaitu susunan huruf dan
angka yang dikhususkan bagi kendaraan tersebut. Nomor ini di Indonesia disebut nomor
polisi, dan biasa dipadukan dengan informasi lain mengenai kendaraan bersangkutan,
seperti warna, merk, model, tahun pembuatan, nomor identifikasi kendaraan dan tentu saja
nama dan alamat pemiliknya. Semua data ini juga tertera dalam Surat Tanda Nomor
Kendaraan Bermotor atau STNK yang merupakan surat bukti bahwa nomor polisi itu
memang ditetapkan bagi kendaraan tersebut [4].
Sebuah plat nomor pribadi memiliki warna dasar hitam dengan karakter berwarna
putih, sedangkan pola karakter didalamnya memiliki kesamaan dengan pola kendaraan
umum. Polanya adalah sebagai berikut :
1. KA : Kode Area mobil tersebut berupa huruf dengan 1 atau 2 digit, contoh : B
untuk Jakarta, AB untuk Jogjakarta dan N untuk Malang.
2. NP : Nomor plat kendaraan berupa angka dengan batas maksimum jumlah digit
4.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
3. KT : Karakter tambahan yang biasa ada atau tidak (optional), berupa huruf
dengan batas maksimum 2 digit dan minimum 1 digit, seperti A, BS, dan XX.
Pada bagian ini terdapat suatu pengecualian, yaitu huruf pertama di bagian ini
tidak boleh “O”.
Contoh plat nomor kendaraan pribadi dengan mengikuti peraturan di atas adalah
AB 1, AB 10 XY dan AD 7897 CY. Contoh plat nomor kendaraan pribadi yang tidak
mengikuti peraturan di atas adalah B 10255 AC, BBB 1 G dan B 1 SMA.
Gambar 2.1 Contoh Plat Nomer Republik Indonesia
Gambar 2.1 memperlihatkan plat nomor pribadi yang dapat dipisahkan menjadi 2
bagian utama, yang dipisahkan oleh suatu garis lurus yaitu :
1. B 9933 QF merupakan informasi plat nomor yang mengikuti peraturan
penomoran.
2. 08.15 merupakan informasi masa berlaku plat nomor yang berisi informasi
bulan dan tahun berakhir STNK (Surat Tanda Nomor Kendaraan).
2.2. Pengolahan Citra[5]
2.2.1. Definisi
Sebuah citra dapat didefinisikan sebagai fungsi dua dimensi f(x,y), dimana x dan y
adalah koordinat spasial dan amplitude dari f pada sembarang pasangan koordinat (x,y)
disebut intensity (intensitas) atau gray level (keabuan) dari citra tersebut. Ketika x, y dan
nilai intensitas dari f adalah semua terbatas, discrete quantities, citra tersebut dapat juga
disebut digital image (citra digital) [5]. Citra digital terdiri dari sejumlah elemen tertentu,
setiap elemen mempunyai lokasi dan nilai tertentu. Elemen–elemen ini disebut picture
element, image element, pels dan pixels.
Sumber noise pada citra digital bisa terjadi sejak pengambilan atau transmisi citra.
Kinerja dari sensor citra dipengaruhi oleh banyak faktor seperti kondisi lingkungan selama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
pengambilan citra dengan kamera webcam, level pencahayaan dan suhu sensor adalah
faktor utama yang mempengaruhi tingkat noise pada citra yang dihasilkan [5].
2.2.2. Model RGB[6]
Dalam model RGB, setiap warna memperlihatkan komponen spectral primary red,
green dan blue. Model ini didasarkan pada sistem koordinat kartesian. Sub space warna
yang dicari adalah kubus yang ditunjukkan pada Gambar 2.2. Nilai RGB pada tiga sudut
adalah cyan,magenta dan yellow. Nilai RGB pada sudut lain adalah hitam adalah origin
dan putih adalah titik yang paling jauh dari origin. Dalam model ini, grayscale (keabuan)
diperluas dari hitam ke putih di sepanjang garis gabungan dua titik. Perbedaan warna
dalam model ini adalah titik yang berada di dalam kubus dan didefinisikan oleh
penyebarannya dari faktor origin
Gambar 2.2 Skema warna RGB dalam kubus
Citra yang dipresentasikan dalam model warna RGB terdiri dari tiga komponen,
masing–masing untuk setiap warna primer (red, green and blue). Jumlah bit yang
digunakan untuk mempresentasikan setiap piksel dalam space RGB disebut pixel dept.
Jumlah bit dalam citra RGB dimana setiap citra red, green dan blue adalah citra 8 bit.
Dalam kondisi setiap warna pixel RGB mempunyai kedalaman 24 bit. Citra full color
sering digunakan untuk menyatakan citra berwarna RGB 24 bit. Total jumlah warna dalam
citra 24 bit adalah ( ) = 16,777,216.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
Gambar 2.3 Kubus berwarna RGB 24 bit
2.3. Pemrosesan Citra
1. Citra Graysacle
Citra beraras keabuan (citra grayscale) adalah citra berwarna yang menggunakan
tingkatan warna abu-abu (gray). Citra grayscale hanya perlu menyatakan intensitas tiap
pixel sebagai nilai tunggal, berbeda dengan citra berwarna yang membutuhkan 3 nilai
intensitas untuk tiap pixel-nya [5]. Proses awal yang dilakukan dalam image processing
adalah mengubah citra berwarna menjadi citra grayscale. Citra RGB diubah ke dalam
grayscale dapat dilakukan dengan menggunakan rumus :
( ) ( ) ( ) (2.1)
Citra grayscale berbeda dengan citra biner, citra biner terdiri dari 2 warna yaitu
hitam dan putih. Citra grayscale disimpan dalam integer 8 bit untuk setiap pixel sehingga
memberikan 256 intensitas keabuan [7].
2. Cropping
Cropping citra merupakan salah satu langkah dalam pengolahan citra yang
dilakukan untuk memotong satu bagian dari citra tertentu untuk memperoleh bagian yang
diinginkan untuk diolah. Hal ini dilakukan untuk mendapatkan data yang tepat sehingga
memudahkan dalam proses pengolahan data [8].
3. Resizing
Rezising citra adalah mengubah besarnya ukuran citra dalam piksel. Tampilan citra
tidak ada yang berubah hanya ukuran pixel dan matriksnya yang dirubah.
Transformasi geometris disebut rubber-sheet transformation karena dapat
ditampilkan seperti pencetakan citra pada lembaran karet dan men-streching lembaran ini
menurut jumlah aturan yang sudah didefinisikan. Transformasi geometris ini digunakan
untuk melakukan image registration, yaitu sebuah proses yang mengambil dua citra dari
scene yang sama dan mengaturnya sehingga dapat digabung untuk visualisasi, atau
perbandingan kuantitatif [9].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Transformasi Geometris Spasial
Jika citra f didefinisikan pada sistem koordinat T(w,z), mengalami distorsi
geometris yang menghasilkan citra g dengan sistem koordinat (x,y) maka transformasi
dapat dinyatakan dengan (x,y) = T{(w,z)} [5]. Contoh dalam trasnformasi spasial sebagai
berikut :
Jika (x,y) =T{(w,z)} = (w/2, z/2), distrosi adalah penyusutan f dengan setengah
dimensi spasial seperti ditunjukkan pada Gambar 2.4
Gambar 2.4 Transformasi Spasial
Bentuk umum yang digunakan pada transformasi spasial adalah affine transform
(Wolberg [1990] ). T adalah matriks Affine, dalam resizing menggunakan tipe scalling.
Matriks Affine dengan menggunakan tipe scalling diperlihatkan pada tabel 2.1.
Tabel 2.1 Jenis-jenis Transformasi Affine
Matriks Affine dengan menggunakan tipe scalling tersebut kemudian dikalikan
dengan koordinat citra sehingga menghasilkan koordinat citra baru yang telah mengalami
resizing. Persamaannya adalah sebagai berikut :
[
] [ ] (2.2)
2.4. Pengenalan Pola[6]
Pengenalan pola adalah suatu ilmu untuk mengklasifikasikan atau menggambarkan
sesuatu berdasarkan pengukuran kuantitatif fitur (ciri) atau sifat utama dari suatu obyek.
Ciri-ciri tersebut digunakan untuk membedakan suatu pola yang lainnya. Ciri yang baik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
adalah ciri yang memiliki daya pembeda tinggi, sehingga pengelompokan pola berdasarkan
ciri yang dimiliki dapat dilakukan dengan keakuratan tinggi. Pengenalan pola bertujuan
menentukan kelompok atau kategori pola berdasarkan ciri–ciri yang dimiliki oleh pola
tersebut [6].
2.5. Ekstrasi Ciri Pengaburan dan Perataan Blok [3]
Ekstrasi ciri dari suatu citra bertujuan untuk mendapatkan representasi yang lebih
kompak atas citra tersebut. Ekstrasi ciri tersebut harus mempunyai 2 sifat, yaitu :
1. Ekstrasi ciri tersebut harus mempunyai variasi dalam membedakan karakter
dalam setiap kelasnya, sehingga lebih membantu dalam membedakan gambar
yang berbeda dalam kelas yang berbeda pula.
2. Ekstrasi ciri harus mempunyai perbedaan variasi untuk karakter yang berbeda
dalam kelas yang sama sehingga akan membantu mengelompokkan gambar
dalam kelas yang sama.
Sebuah metode sederhana untuk mendapatkan representasi citra yang kompak
adalah dengan pengaburan dan perataan blok yang telah diidekan oleh Ethem. Sebuah low
pass filter bisa digunakan untuk mendapatkan gambar yang kabur. Salah satu jenis low
pass filter yang biasa digunakan untuk mengaburkan citra adalah dengan 2D Gaussian
filter, berikut persamaannya :
( ) (
)
, (2.3)
dengan,
( ) (2.4)
Parameter h(x,y) adalah koordinat citra yang akan dikaburkan. Lambang σ adalah standar
deviasi. Parameter s(x,y) adalah skala jarak yang akan dikaburkan.
Sedangkan,
(
) (
) (2.5)
dengan N adalah orde tapis.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
Gambar 2.5 Contoh pengaburan dan perataan blok.(a) Citra asli 64×64 piksel; (b)
Pengaburan dengan tapis Gaussian 2D 8×8 yang deviasi standarnya 12; (c) Partisi dengan
blok partisi 8×8 piksel; (d) Hasil perataan atas setiap blok partisi menghasilkan citra 8×8
piksel.
Algoritma perataan blok adalah sebagai berikut :
1. Untuk citra p(m,n) dengan ukuran piksel (dengan k=1,2,3, …),
tentukan dahulu ukuran blok partisi s(u,v) yang ukuran 2l×2l piksel (dengan l
= 0,1,2, …, ). Parameter p(m,n) adalah koordinat ukuran citra awal.
Parameter s(u,v) koordinat ukuran citra yang akan dipartisi.
2. Partisilah citra dengan blok partisi ( ) tersebut.
3. Hitung nilai perataan di setiap blok partisi :
( )
( )
(2.6)
4. Himpunan nilai dari dari setiap blok partisi adalah ekstrasi ciri citra ( )
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
2.6. Jarak Euclidean[5]
Dalam konteks matematika, jarak Euclidean adalah jarak antara dua titik yang biasa
diukur menggunakan suatu alat, seperti misalnya penggaris. Rumus jarak Euclidean
bersumber dari teorema Phtyagoras.
Gambar 2.6 Diagram jarak antara 2 titik
Pada diagram (lihat Gambar 2.6) dapat terlihat bahwa jarak horizontal antar dua
titik data yaitu (-2,2) dan (-2,-1) adalah sebesar 4 dan jarak vertikalnya sebesar 3. Dengan
menggunakan rumus Phtyagoras, maka didapatkan bahwa jarak hypotenuse dari dua titik
tersebut adalah √ sehingga didapatkan bahwa jarak hypotenuse adalah sebesar 5.
Berdasarkan rumus pengukuran jarak tersebut maka dapat dibuat rumus jarak
dengan metode yang sama, yang disebut jarak Euclidean.
( ) ( ) √( ) ( ) ( ) (2.7)
Dengan d(p,q) adalah titik koordinat jarak Euclidean. Jika rumus jarak pada dua
titik berbentuk segitiga diukur dengan menggunakan rumus Phytagoras, maka untuk
penerapan penghitungan jarak dan kasus yang nyata digunakan rumus jarak Euclidean.
Penerapan ini digunakan karena ada banyak faktor yang menentukan „jarak yang nyata‟
seperti kecepatan dan bentuk permukaan sehingga penerapan jarak Euclidean tersebut lebih
cocok diterapkan pada berbagai kasus.
2.7. Webcam[7]
Webcam atau web camera adalah sebuah kamera video digital kecil yang
dihubungkan ke komputer melalui port USB ataupun port COM. Webcam dapat dipasang
pada bagian atas monitor komputer dan dapat menangkap video serta gambar, kemudian
langsung menyimpannya dalam hard drive komputer. Sehingga banyak digunakan untuk
mengolah image processing yang kemudian akan diolah dengan perangkat lunak untuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
pemrosesan berbasis pixel, RGB dan lain-lain. Sebuah web camera yang sederhana terdiri
dari sebuah lensa standar, yang dipasang di sebuah papan sirkuit untuk menangkap sinyal
gambar, casing (cover), termasuk casing depan dan casing samping untuk menutupi lensa
standar dan memiliki sebuah lubang lensa di casing depan yang berguna untuk
memasukkan gambar, kabel support, yang dibuat dari bahan yang fleksibel. Salah satu
ujung kabel dihubungkan dengan papan sirkuit dan ujung satu lagi memiliki connector,
kabel ini dikontrol untuk menyesuaikan ketinggian, arah dan sudut pandang web camera.
Contoh webcam diperlihatkan pada Gambar 2.7.
Gambar 2.7 Contoh webcam
2.8. Pemrograman Matlab[8]
MATLAB adalah sebuah bahasa dengan kemampuan tinggi untuk komputasi
teknis. Matlab menggabungkan komputasi, visualisasi, dan pemrograman dalam satu
kesatuan yang mudah digunakan di mana masalah dan penyelesaiannya diekspresikan
dalam notasi matematik yang sudah dikenal. MATLAB adalah sistem interaktif yang
mempunyai basis data array yang berkaitan dengan formulasi matriks dan vectors. Dalam
perkembangannya, MATLAB mampu mengintegrasikan beberapa software matriks
sebelumnya dalam satu software untuk komputasi matriks.
Sistem MATLAB terdiri atas lima bagian utama :
1. Development Environment
Kumpulan semua alat-alat dan fasilitas untuk membantu kita dalam menggunakan
fungsi dan file MATLAB. Bagian ini memuat desktop, command window,
command history, editor and debugger, dan browser untuk melihat help,
workspace, files
2. The MATLAB Mathematical Function Library
Koleksi semua algoritma komputasi, mulai dari fungsi sederhana seperti sum,
sine, cosine sampai fungsi lebih rumit seperti, invers matriks, nilai Eigen, fungsi
Bessel dan fast Fourier transform.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
3. The MATLAB language
Bahasa matriks/array level tinggi dengan control flow, fungsi, struktur data,
input/output, dan fitur object programming lainnya.
4. Graphics MATLAB
Fasilitas untuk menampilkan vector dan matriks sebagai grafik. Fasilitas ini
mencakup visualisasi data dua/tiga dimensi, pemrosesan citra (image), animasi,
dan grafik animasi.
5. The MATLAB Application Program Interface (API)
Paket ini memungkinkan kita menulis bahasa C dan Fortran yang berinteraksi
dengan MATLAB.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
BAB III
RANCANGAN PENELITIAN
3.1. Gambaran Sistem
Gambaran sistem pengenalan huruf secara real time secara keseluruhan dapat dilihat
pada Gambar 3.1
Gambar 3.1 Gambaran sistem keseluruhan
Gambar 3.1 memperlihatkan sistem keseluruhan pengenalan karakter huruf pada
kepingan plat terdiri dari software yang ada pada laptop yang berfungsi sebagai user
interface dalam proses pengenalan. Software yang dibuat dalam bentuk user interface
dengan menggunakan software Matlab 7.04 berperan sebagai pusat pengaturan semua
proses pengenalan huruf secara real time, seperti menyimpan database gambar kepingan
plat dan mengenali kepingan plat. Pengambilan gambar dilakukan menggunakan webcam
dan dihubungkan pada komputer.
3.1.1. Fixture
Fixture digunakan sebagai tempat dudukan webcam dan kepingan plat. Fixture
yang digunakan terbuat dari kayu. Posisi kepingan plat tegak lurus dengan posisi webcam
agar didapatkan hasil citra yang simetris. Jarak antara webcam dengan dengan posisi plat
±30 cm. Dalam studi awal sudah dilakukan percobaan pengambilan gambar dengan tiap
ketinggian 5 cm sampai sekitar 50 cm dan hasil pengambilan gambar yang terdekat dan
tidak kabur adalah pada ketinggian ±30 cm.
Pengenalan Huruf
+
Webcam
Kepingan plat Fixture
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
3.1.2. Kepingan Plat
Kepingan plat yang digunakan mirip dengan kepingan plat nomor resmi pada
kendaraan bermotor. Satu kepingan plat hanya memuat satu karakter huruf. Kepingan plat
yang digunakan mempunyai ukuran 6×5 cm dapat dilihat pada Gambar 3.2.
Gambar 3.2 Kepingan plat yang digunakan
3.1.3. Webcam
Webcam yang digunakan adalah webcam dengan merk Logitech seri c 270h.
Contoh webcam yang digunakan dapat dilihat pada Gambar 2.7. Webcam ini sudah
mempunyai dudukan sendiri serta mempunyai software pendukung yang bisa zoom in dan
zoom out sehingga memudahkan pengaturan dari PC. Pada proses pengambilan citra
menggunakan resolusi 640×480 piksel. Spesifikasinya bisa dilihat pada Tabel 3.1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Tabel 3.1. Spesifikasi Webcam Logitech c 270h
High definition video (HD) HD 270p
Photo Quality 3 Megapixel
Video Quality Good
Focus Type Always Focused
Auto Light Correction Standart
3.1.4. Rancangan Software Pengenalan huruf
3.1.4.1. Database Huruf
Sebagai penentuan pengenalan huruf pada kepingan plat harus dibutuhkan
database huruf yang digunakan sebagai acuan dalam pengenalan. Proses pengambilan
sampel huruf merupakan abjad yang digunakan pada plat nomor yaitu dari A–Z. Fokus
webcam menggunakan fokus normal artinya adalah pengaturan default yang sudah
terpasang pada webcam. Proses pengambilan database huruf bisa dilihat pada Gambar 3.3.
Mulai
Perataan Blok =
Capturing
citra
Pemrosesan citra
Keluaran :
Basis data
referensi
LPF =
fspecial(„gaussian‟,[ukuran,ukuran],std);
Selesai
Gambar 3.3 Diagram alir pembentukan database
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Proses pengambilan database huruf harus melalui pengambilan citra huruf,
preprocessing, ekstrasi ciri pengaburan dan perataan blok serta nilai keluaran database
citra huruf. Pengambilan sampel karakter dilakukan dengan menggunakan program Matlab
7.04.
Dalam penelitian ini, terdapat 16 set database huruf yang dibuat berdasarkan
kombinasi nilai–nilai yang akan dievaluasi. Nilai yang dievaluasi tersebut adalah sebagai
berikut :
a. Standar deviasi tapis Gaussian 2D : 2, 6, 10, 14.
b. Ukuran tapis Gaussian 2D : 4×4, 8×8, 12×12, 16×16.
3.1.4.2. Proses Pengenalan Huruf
Mengambil
(capturing citra)
Plot Foto
Pemrosesan Citra
Ekstrasi Ciri
Plot Gambar
(huruf uji)
Penghitungan Jarak
Euclidean
Mulai
Selesai
Masukan :
citra kepingan plat,
basis data referensi
Penentuan
Keluaran
Gambar 3.4 Diagram alir proses pengenalan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Diagram alir Gambar 3.4 menunjukan proses pengenalan huruf yaitu proses dimana
karakter huruf yang dicapture akan dikenali hurufnya. Proses ini terdiri preprocessing,
citra terkoreksi dan ekstrasi ciri (low pass filter dan perataan blok), database huruf, fungsi
jarak dan penentuan keluaran.
(a) Pengambilan Citra Huruf
Proses ini diambil menggunakan webcam, kepingan plat huruf yang dicapture oleh
webcam. Jarak pengambilan gambar antara webcam dengan kepingan plat adalah 31 cm.
Intensitas cahaya yang digunakan adalah keadaan cahaya yang terdapat pada laboratorium.
Fokus webcam menggunakan fokus normal artinya adalah pengaturan default yang sudah
terpasang pada webcam.
Sebelum webcam melakukan pengambilan citra kepingan plat, webcam harus
diinisialisasi dulu didalam program. Fungsi imaqhwinfo yang terdapat dalam Matlab untuk
mengetahui nama adaptor dan device info dalam webcam tersebut. Perintah programnya
adalah sebagai berikut :
Imaqhwinfo;
DefaultFormat: 'RGB24_640x480'
DeviceName: 'Logitech HD Webcam C270'
DeviceID: 1
ObjectConstructor: 'videoinput('winvideo',1)'
Kemudian diinisialisasi sesuai nama adaptornya yaitu „winvideo‟ dan resolusi kamera
yang digunakan yaitu 640×480. Resolusi 640×480 digunakan karena memang spesifikasi
yang terdapat pada adaptor webcamnya. Perintah program untuk mengambil gambar
adalah sebagai berikut :
imaqhwinfo;
vid=videoinput('winvideo',1,'RGB24_640x480');
gmbr= getsnapshot(vid);
Proses pengambilan citra direpresentasikan pada diagram alir Gambar 3.5
1. Masukan proses adalah sebuah citra kepingan huruf.
2. Inisialisasi webcam dalam program dengan menggunakan perintah imaqwhinfo.
3. Proses mengambil citra dengan menggunakan perintah getsnapshoot.
4. Keluaran dari proses pengambilan citra adalah citra input.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Kamera On = imaqhwinfo
Mengambil (Capturing) Citra = getsnapshoot
Mulai
Keluaran : Citra Input
Selesai
Gambar 3.5 Diagram alir pengambilan citra
(b) Preprocessing
Grayscale dilakukan agar citra kepingan plat yang telah diambil dapat berwarna
keabuan. Perintah program yang digunakan dalam matlab adalah dengan menggunakan
rgb2gray yang artinya adalah mengubah format gambar rgb menjadi grayscale. Hal ini
dilakukan agar dapat mempermudah pengolahan citra pada proses selanjutnya yaitu
ekstrasi ciri. Contoh citra hasil grayscale dapat dilihat pada Gambar 3.6.
I = imread('dataA.jpg');
J = rgb2gray(I);
imshow(J)
Gambar 3.6 Contoh hasil citra sebelum dan sesudah dilakukan proses grayscale
(a) Citra kepingan plat dengan RGB ; (b) Citra kepingan plat dengan grayscale
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Cropping dilakukan untuk memotong bagian citra yang tidak diperlukan dalam
pengenalan, seperti background template. Perintah program cropping adalah dengan
imcrop (I,[x y Δx Δy]). Untuk kolom pertama dan kedua adalah koordinat pada
sumbu x dan y kiri atas ditunjukan pada Gambar 3.7 bagian a, kemudian untuk kolom
ketiga adalah selisih antara sumbu x kanan atas ditunjukan pada Gambar 3.7 bagian b
dengan sumbu x kiri atas . Setelah itu, untuk kolom ketiga selisih antara sumbu y kiri
bawah ditunjukan pada gambar 3.7 bagian c dengan sumbu y kiri atas. Pada Gambar 3.7
bagian d adalah hasil dari cropping. Untuk lebih jelasnya bisa dilihat perintah program
untuk cropping dibawah ini :
I = imread('dataT.jpg');
I2 = imcrop(I,[249 96 145 173]);
Imshow(I2)
Gambar 3.7 Proses cropping pada citra kepingan plat
Resizing dilakukan agar citra yang akan diekstrak mempunyai ukuran piksel yang
sama dengan aturan ekstrasi ciri pengaburan dan perataan blok yaitu 64×64 piksel. Contoh
citra hasil resizing diperlihatkan pada Gambar 3.8. Perintah program yang digunakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
dalam Matlab adalah dengan menggunakan perintah imresize. Contoh penggunaan perintah
program adalah sebagai berikut :
I = imread('dataA.jpg');
J = imresize(I,[64,64]);
Imshow(J)
Gambar 3.8 Hasil resizing
(a) Citra asli ; (b) Citra yang telah diresize dengan ukuran 64 x 64 piksel
Proses pemrosesan citra direpresentasikan pada diagram alir Gambar 3.9.
1. Masukan dari proses preprocessing citra adalah citra input.
2. Proses grayscale adalah proses untuk membuat warna keabuan pada citra. Rumus
grayscale bisa dilihat pada persamaan 2.1. Dalam software matlab sudah
dituliskan fungsinya yaitu dengan menggunakan perintah rgb2gray.
3. Proses cropping adalah proses untuk memotong bagian yang tidak diperlukan.
Dalam proses ini menggunakan perintah imcrop (I,[x y Δx Δy].
4. Proses rezising adalah proses mengalikan koordinat posisi citra dengan scalling.
Proses ini menggunakan rumus resizing (lihat persamaan 2.2).
5. Keluaran dari proses pemrosesan citra adalah citra preprocessing.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Cropping = imcrop (I,[x y Δx Δy]
Resizing
Grayscale = 0.299R + 0.587G + 0.114B
Masukan : Citra input
Mulai
Keluaran :
Citra preprocessing
Selesai
Gambar 3.9 Diagram alir pemrosesan citra
(c) Ekstrasi Ciri
Ekstrasi ciri terdiri dari Low Pass Filter dan Perataan Blok. Low Pass Filter bertujuan
untuk mengaburkan citra. Perataan Blok bertujuan untuk membuat blok-blok partisi citra
berukuran 8×8 piksel untuk kemudian mempartisi citra 64×64 piksel yang akan diekstrasi
ciri. Proses dari ekstrasi ciri direpresentasikan pada diagram alir Gambar 3.10
1. Masukan dari proses ekstrasi ciri adalah citra preprocessing.
2. Masukan ukuran dan standar deviasi Low Pass Filter Gaussian 2D
3. Citra preprocesing mengalami pengaburan melalui Low Pass Filter Gaussian 2D.
Pengaburan yang dilakukan sesuai dengan pilihan ukuran dan standar deviasi
Gaussian 2D yang telah dipilih.
4. Citra yang telah dikaburkan kemudian dibagi ke dalam blok–blok matriks 8×8
piksel dan kemudian dicari reratanya dalam setiap blok dengan menggunakan
perintah colfilt(I,[8 8],'distinct',fmean). Proses mencari rata–rata dari
setiap blok adalah dengan menggunakan rumus pada persamaan 2.6 .
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
5. Keluaran dari proses ekstrasi ciri adalah hasil perhitungan ekstrasi ciri.
Mulai
Perataan Blok =
Keluaran :
hasil ekstrasi ciri
Masukan :
Citra preprocessing, ukuran, std
LPF = fspecial(„gaussian‟,[ukuran,ukuran],std);
Selesai
Gambar 3.10 Diagram alir ekstrasi ciri
(d) Fungsi jarak
Proses ini membandingkan karakter huruf yang dicapture dengan database huruf.
Proses penghitungan jaraknya menggunakan fungsi jarak Euclidean. Hasil dari
perbandingan adalah jarak yang kemudian akan digunakan dalam proses selanjutnya.
1. Masukan proses fungsi jarak adalah matriks hasil penghitungan ekstrasi ciri.
2. Proses membandingkan antara hasil ekstrasi ciri citra input dengan ekstrasi ciri
citra database, proses penghitungan dilakukan dari sampai . Rumus untuk
menghitung dapat dilihat pada persamaan 2.7 .
3. Keluaran dari proses ini adalah matriks hasil perhitungan dengan menggunakan
jarak Euclidean. Proses ini direpresentasikan pada diagram alir Gambar 3.11.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Perhitungan Jarak Euclidean
Mulai
Keluaran :
Jarak Minimum
Masukan :
hasil ekstrasi ciri,
basis data referensi
Selesai
Gambar 3.11 Diagram alir menghitung jarak Euclidean
(e) Penentuan keluaran
Proses penentuan adalah subproses terakhir dari proses pengenalan huruf. Pada proses
ini hasil pengenalan huruf ditentukan berdasarkan jarak minimum yang diperoleh setelah
proses penghitungan oleh fungsi jarak. Proses tersebut direpresentasikan pada diagram alir
Gambar 3.12 .
1. Masukan proses penentuan keluaran adalah jarak minimum dari perhitungan jarak
Euclidean.
2. Pada ukuran tapis 4×4 dan standar deviasi 2 apabila menghasilkan jarak minimum
lebih dari 0.96 maka akan menampilkan TIDAK DIKENALI dan bila kurang dari
0.96 maka akan menampilkan sesuai inisialisasi.
3. Keluaran dari proses ini adalah pemanggilan inisialisasi jarak yang paling
minimum yaitu berupa teks.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
Mulai
(ukuran=4) &(std=2)
Masukan :
Jarak Minimum, ukuran, std
Jarak Minimum > 0.96
Selesai
YA
YA
TIDAK
TIDAK
Menampilkan hasil
pengenalan sesuai
jarak minimum yang
telah diinisialisasi
Menampilkan “TIDAK
DIKENALI”
Gambar 3. 12 Diagram alir menghitung penentuan keluaran
3.2. Huruf Uji
Huruf uji diambil setelah user menekan tombol “Capture”. Hasil capture atau sampel
diambil dengan posisi kepingan plat yang sudah diatur secara fix dan cahaya yang juga
sudah diatur tingkat intensitasnya. Proses yang berlangsung meliputi sample karakter,
preprocessing dan pengaburan dan perataan blok. Hasil proses tersebut disimpan dan
kemudian diproses kembali untuk mendapatkan hasil pengenalan huruf kepingan plat
secara real time.
3.3. Perancangan tampilan GUI (Graphical User Interface)
Dalam program yang akan dibangun untuk mengenali huruf pada kepingan plat ini,
terdapat 4 buah menu yaitu home, pengenalan, bantuan dan tentang program. Berikut ini
adalah penjelasan dari menu–menu dari setiap jendela yang ada pada program pengenalan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
1. Tampilan home
Gambar 3.13 memperlihatkan jendela home. Jendela home berisi pilihan untuk
memulai program “Pengenalan Huruf Secara Real Time Menggunakan Webcam Berbasis
Ekstrasi Ciri Pengaburan dan Perataan Blok”. Menu pengenalan adalah menu yang akan
menampilkan program tampilan pengenalan.
Gambar 3.13 Jendela home
2. Tampilan jendela pengenalan
Gambar 3.14 memperlihatkan menu jendela pengenalan yang berisi sistem
pengenalan huruf kepingan plat secara real time menggunakan webcam berbasis ekstrasi
ciri pengaburan dan perataan blok. Jendela ini memuat mengenai plot video, plot hasil
ekstrasi ciri, pemilihan ukuran tapis Gaussian 2D, pemilihan ukuran deviasi standar
Gaussian 2D, proses pengenalan serta output dari hasil pengenalan.
Gambar 3.14 Jendela pengenalan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
3. Tampilan Jendela Bantuan
Gambar 3.15 memperlihatkan jendela bantuan yang berisi petunjuk atau langkah–
langkah dalam pengoperasian program pengenalan huruf. Jendela ini dimaksudkan untuk
pemberian petunjuk agar user yang mengalami kesulitan dapat dengan mudah membaca
panduan yang ada di jendela ini.
Gambar 3.15 Jendela bantuan
4. Tampilan Jendela Tentang
Gambar 3.16 memperlihatkan jendela tentang yang berisi tentang pembuat program
dan spesifikasi hardware yang dapat digunakan untuk mengoperasikan program.
Gambar 3.16 Jendela tentang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
BAB IV
ANALISIS DAN PEMBAHASAN
4.1 Pengujian Program Pengenalan Kepingan Huruf Plat Nomor Kendaraan
Bermotor Roda Dua
4.1.1. Home
Gambar 4.1 Tampilan Home
Gambar 4.1 merupakan jendela yang muncul pertama kali saat user menjalankan
program. Tampilan home terdiri dari 2 push button dan 4 menu editor. Tombol Mulai
adalah untuk memulai program pengenalan huruf sedangkan tombol keluar adalah untuk
mengakhiri program pengenalan huruf. Menu home adalah menu yang akan menampilkan
tampilan home. Menu pengenalan adalah menu yang akan menampilkan program tampilan
pengenalan. Menu bantuan adalah menu yang akan menampilkan langkah–langkah
pengoperasian program. Menu tentang adalah menu yang menampilkan informasi tentang
pembuat program.
a. Tombol Mulai
Tombol mulai adalah tombol untuk memulai program pengenalan huruf, apabila
tombol tersebut ditekan maka akan muncul figure tampilan huruf. Jika tombol Mulai
ditekan maka akan menjalankan perintah program berikut :
delete(figure(tampilan_awal));
figure(tampilan_huruf);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Berdasarkan hasil pengujian tombol mulai dapat berjalan dengan baik. Tombol
dapat menghapus jendela home dan kemudian menampilkan jendela pengenalan.
b. Tombol Keluar
Tombol Keluar adalah tombol untuk mengakhiri program pengenalan huruf, apabila
tombol tersebut ditekan maka akan keluar. Jika tombol keluar ditekan maka akan
menjalankan perintah program berikut :
delete(figure(tampilan_awal));
Berdasarkan hasil pengujian tombol keluar dapat berjalan dengan baik. Tombol
dapat mengeluarkan program dengan menghapus jendela home.
4.1.2. Pengenalan
Gambar 4.2 Tampilan Pengenalan
Gambar 4.2 menjelaskan tentang tampilan pengenalan dari program pengenalan
huruf. Tampilan pengenalan jendela yang berisi tentang proses pengenalan huruf.
Tampilan pengenalan ada sedikit perubahan minor dari perancangan awal, perubahannya
adalah penambahan tombol reset. Di dalam jendela ini yang diproses dengan menggunakan
perintah program adalah 4 push button, 2 pop–up menu, 3 axes dan 2 static text. Tombol
video on berfungsi untuk menghidupkan kamera ke axes 1. Tombol capture berfungsi
untuk mengambil citra kepingan plat yang akan diproses dan akan tertampil ke dalam axes
1 juga. Tombol pengenalan berfungsi untuk melakukan proses pengenalan, proses yang
terjadi di dalam tombol pengenalan antara lain adalah preprocessing, ekstrasi ciri, fungsi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
jarak dan penentuan hasil pengenalan. Pop–up menu yang pertama berisi tentang berbagai
ukuran tapis Gaussian 2D yaitu 4×4, 8×8, 12×12 dan 16×16. Pop–up menu yang kedua
berisi tentang berbagai ukuran standar deviasi tapis Gaussian 2D, yaitu 2, 6, 10 dan 14.
Axes yang pertama memuat video dan cuplikan citra dari webcam. Axes yang kedua
menampilkan hasil pengaburan citra kepingan plat dan axes yang ketiga menampilkan
hasil perataan blok citra kepingan plat. Static text berfungsi untuk menampilkan output
hasil pengenalan.
Cara mengoperasikan jendela pengenalan adalah terlebih dahulu user menekan
tombol video on sehingga didalam axes 1 akan terlihat gambar video kepingan plat.
Kemudian user menekan tombol capture untuk mengambil citra kepingan plat yang akan
dikenali. Setelah itu user harus memilih ukuran tapis Gaussian 2D dan standar tapis
Gaussian 2D. Apabila user tidak melakukan pemilihan tersebut maka program tidak dapat
melakukan pengenalan. Setelah itu user menekan tombol pengenalan untuk mengetahui
hasil pengenalan citra kepingan plat. Apabila tombol pengenalan ditekan maka pada axes 2
akan terdapat gambar pengaburan citra kepingan plat dan axes 3 akan tertampil gambar
perataan blok citra kepingan plat. Kemudian hasil pengenalan akan muncul pada static text
hasil pengenalan. Apabila user telah selesai melakukan pengenalan maka dapat ditekan
tombol selesai untuk keluar dari program pengenalan.
a. Tombol Video on
Tombol video on berisi tentang program untuk menghubungkan antara webcam
dengan Matlab dan kemudian ditampilkan ke dalam program pengenalan. Perintah
program pada tombol video on sebagai berikut :
I=imaqhwinfo;
handles.vid=videoinput('winvideo');
vid=videoinput('winvideo',1 ,'RGB24_640x480');
vidRes = get(vid, 'VideoResolution');
imWidth = 640 ;
imHeight = 480;
nBands = get(vid, 'NumberOfBands');
hImage = image(zeros(imHeight, imWidth, nBands), 'parent',handles.axes1);
Perintah program imaqhwinfo adalah perintah program untuk menampilkan
informasi yang akan disampaikan oleh webcam dan kemudian informasi tersebut akan kita
inisialisasi di dalam program agar antara webcam dengan software Matlab dapat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
melakukan komunikasi. Informasi yang tertampil adalah adaptor camera, port webcam,
jenis warna dan resolusi piksel.
preview(vid, hImage)
Perintah program preview adalah untuk menampilkan video pada saat kamera on
dengan inisialisasi yang telah digunakan.
b. Tombol Capture
Tombol capture adalah tombol yang digunakan untuk mengambil citra kepingan plat
yang akan dikenali dalam program pengenalan. Perintah program pada tombol capture
adalah sebagai berikut :
imaqhwinfo;
info = imaqhwinfo('winvideo');
dev_info = imaqhwinfo('winvideo',1);
vid=videoinput('winvideo',1,'RGB24_640X480');
vid.FramesPerTrigger = 1 ;
vid.ReturnedColorspace = 'grayscale';
triggerconfig(vid, 'manual');
vidRes = get(vid, 'VideoResolution');
imWidth = 640;
imHeight = 480;
nBands = get(vid, 'NumberOfBands');
hImage = image(zeros(imHeight, imWidth, nBands), 'parent',handles.axes1);
Perintah program di atas adalah sama dengan perintah program pada tombol video
on tetapi ditambah perintah grayscale karena pada saat preprocessing citra input harus
mengalami proses grayscale.
start(vid);
pause(1);
trigger(vid);
stoppreview(vid);
capt1=getdata(vid);
Perintah program getdata adalah untuk capturing citra yang diambil pada saat
camera telah on.
handles.a=capt1;
guidata(hObject,handles)
axes(handles.axes1);
imshow(capt1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Citra yang telah mengalami capturing maka akan diinisialisasi dengan
menggunakan handles. Handles adalah sebuah inisialisasi yang digunakan agar dapat
dipanggil dalam file figure maupun file .m .
c. Pop–up menu ukuran tapis Gaussian 2D
Pop–up menu ukuran tapis Gaussian 2D digunakan untuk memilih ukuran tapis mana
yang dipakai untuk pengaburan citra kepingan plat yang akan dikenali. Perintah program
yang digunakan adalah sebagai berikut :
indeks=get(handles.popupmenu1,'Value');
switch indeks
case 1
ukuran=4;
case 2
ukuran=8;
case 3
ukuran=12;
case 4
ukuran=16;
end
handles.ukuran=ukuran;
guidata(hObject,handles)
d. Pop–up menu standar deviasi tapis Gaussian 2D
Pop–up menu standar deviasi tapis Gaussian 2D digunakan untuk memilih standar
deviasi mana yang dipakai untuk pengaburan citra kepingan plat yang dikenali. Perintah
programnya sebagai berikut :
indeks=get(handles.popupmenu2,'Value');
switch indeks
case 1
std=2;
case 2
std=6;
case 3
std=10;
case 4
std=14;
end
handles.std=std;
guidata(hObject,handles);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
e. Tombol Pengenalan
Tombol pengenalan adalah tombol yang berfungsi untuk melakukan pengenalan
mulai dari preprocessing, ekstrasi ciri, jarak Euclidean dan hasil penentuan pengenalan.
Perintah program yang digunakan adalah sebagai berikut :
a=handles.a;
b=imcrop(a,[222 141 115 143]);
x=imresize(b,[64 64]);
Perintah program imcrop adalah untuk memotong gambar yang tidak dibutuhkan
dalam proses ekstrasi ciri. Perintah program imresize adalah untuk membuat citra input
agar berukuran piksel 64×64, hal ini dilakukan karena ekstrasi ciri pengaburan dan
perataan blok hanya bisa dilakukan dengan citra yang mempunyai ukuran piksel 64×64.
ukuran=handles.ukuran;
std=handles.std;
if (ukuran==4) &(std==2)
LPF=fspecial('gaussian',[4,4],2);
elseif (ukuran==4) &(std==6)
LPF=fspecial('gaussian',[4,4],6);
elseif (ukuran==4) &(std==10)
LPF=fspecial('gaussian',[4,4],10);
elseif (ukuran==4) &(std==14)
LPF=fspecial('gaussian',[4,4],14);
elseif (ukuran==8) &(std==2)
LPF=fspecial('gaussian',[8,8],2);
elseif (ukuran==8) &(std==6)
LPF=fspecial('gaussian',[8,8],6);
elseif (ukuran==8) &(std==10)
LPF=fspecial('gaussian',[8,8],10);
elseif (ukuran==8) &(std==14)
LPF=fspecial('gaussian',[8,8],14);
elseif (ukuran==12) &(std==2)
LPF=fspecial('gaussian',[12,12],2);
elseif (ukuran==12) &(std==6)
LPF=fspecial('gaussian',[12,12],6);
elseif (ukuran==12) &(std==10)
LPF=fspecial('gaussian',[12,12],10);
elseif (ukuran==12) &(std==14)
LPF=fspecial('gaussian',[12,12],14);
elseif (ukuran==16) &(std==2)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
LPF=fspecial('gaussian',[16,16],2);
elseif (ukuran==16) &(std==6)
LPF=fspecial('gaussian',[16,16],6);
elseif (ukuran==16) &(std==10)
LPF=fspecial('gaussian',[16,16],10);
elseif (ukuran==16) &(std==14)
LPF=fspecial('gaussian',[16,16],14);
end
Perintah program diatas adalah untuk mengeksekusi pilihan yang telah dipilih user
dalam pemilihan pop–up menu. Apabila user telah memilih 2 pop-up menu maka program
akan menjalankan fungsi low pass filter atau pengaburan sesuai pilihan user.
[o,y]=gui_eciri(x,LPF);
mo=max(o(:));
o=o/mo;
my=max(y(:));
y=y/my;
axes(handles.axes2)
imshow(o);
axes(handles.axes3)
imshow(y);
y=y(:);
Perintah program gui_eciri adalah untuk memanggil fungsi ektrasi ciri. Fungsi
ekstrasi ciri mempunyai masukan x dan LPF. X adalah citra input dan LPF adalah hasil
dari pilihan pop–up menu. Output dari fungsi gui_eciri adalah o dan y. O adalah hasil dari
pengaburan dan y adalah hasil dari perataan blok. Hasil dari fungsi gui_eciri ditampilkan
dalam imshow yang terlebih dahulu diinisialisasi melalui handles.axes .
if (ukuran==4) &(std==2)
load xciri0402;
elseif (ukuran==4) &(std==6)
load xciri0402;
elseif (ukuran==4) &(std==10)
load xciri0410;
elseif (ukuran==4) &(std==14)
load xciri0414;
elseif (ukuran==8) &(std==2)
load xciri0802;
elseif (ukuran==8) &(std==6)
load xciri0806;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
elseif (ukuran==8) &(std==10)
load xciri0810
elseif (ukuran==8) &(std==14)
load xciri0814
elseif (ukuran==12) &(std==2)
load xciri1202
elseif (ukuran==12) &(std==6)
load xciri1206;
elseif (ukuran==12) &(std==10)
load xciri1210;
elseif (ukuran==12) &(std==14)
load xciri1214;
elseif (ukuran==16) &(std==2)
load xciri1602;
elseif (ukuran==16) &(std==6)
load xciri1606;
elseif (ukuran==16) &(std==10)
load xciri1610;
elseif (ukuran==16) &(std==14)
load xciri1614;
end
mz=max(z(:));
z=z/mz;
Perintah program diatas adalah untuk mengeluarkan database yang akan
dibandingkan dalam perhitungan jarak. Pengeluaran database pembanding menyesuaikan
pemilihan pop–up menu yang telah dipilih oleh user.
for n=1:26
r(n)=jarak(y,z(:,n));
end
Perintah program di atas adalah perintah untuk menghitung jarak antara citra input
dengan citra database.
mm=min(r)
Perintah program di atas adalah untuk mencari nilai minimum dari perhitungan
jarak Euclidean.
if (ukuran==4) &(std==2)
if (mm > 0.96)
y1=('TIDAK DIKENALI');
set(handles.text15,'string',y1);
else
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
b1=find(min(r)==r)
x2={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O',
'P','Q','R','S','T','U','V','W','X','Y','Z'};
y1=x2(b1);
set(handles.text14,'string',y1);
end
else
b1=find(min(r)==r);
x2={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P'
,'Q','R','S','T','U','V','W','X','Y','Z'};
y1=x2(b1);
set(handles.text14,'string',y1);
end
Perintah program di atas adalah untuk menentukan hasil pengenalan program. Hasil
pengenalan program terdiri dari 2 macam yaitu “TIDAK DIKENALI” dan mencari nilai
paling minimum dari 26 nilai yang telah diinisialisasi. Berdasarkan pengujian tombol,
tombol pengenalan dapat berjalan dengan baik dan sesuai dengan perancangan.
f. Tombol selesai
Tombol selesai adalah tombol yang digunakan apabila user ingin keluar dari program
pengenalan citra kepingan plat hruf. Perintah programnya adalah sebagai berikut :
delete(figure(tampilan_huruf));
Berdasarkan pengujian tombol, tombol pengenalan dapat berjalan dengan baik dan
sesuai diagram blok pada saat perancangan.
g. Tombol Reset
Tombol reset adalah tombol yang digunakan apabila user ingin mengembalikan ke
tampilan awal program pengenalan. Perintah programnya sebagai berikut :
delete(figure(tampilan_huruf));
figure(tampilan_huruf));
Berdasarkan pengujian tombol, tombol pengenalan dapat berjalan dengan baik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
4.1.3. Bantuan
Gambar 4.3 Tampilan Bantuan
Pada Gambar 4.3 tampilan bantuan menjelaskan tentang langkah–langkah dalam
mengoperasikan program agar user tidak kesulitan ketika menjalankan program
pengenalan.
Berdasarkan pengujian, tombol pada tampilan bantuan dapat berjalan dengan baik
dan sesuai perancangan.
4.1.4. Tentang
Gambar 4.4 Tampilan tentang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Pada Gambar 4.1 tampilan tentang menjelaskan tentang informasi pembuat
program serta spesifikasi komputer yang dapat digunakan untuk menjalankan program
pengenalan.
Berdasarkan pengujian, tombol pada tampilan tentang dapat berjalan dengan baik
dan sesuai perancangan.
4.1.5. Menu Editor
Gambar 4.5 Tampilan menu editor
Pada Gambar 4.5 menu editor menunjukkan sebuah menu yang terdapat dalam setiap
jendela yang ada di program pengenalan. Menu editor berfungsi untuk memudahkan user
agar dapat melompat ke jendela yang lain.
Kesimpulan yang dapat diambil dari hasil pengujian adalah semua fasilitas tombol
dan menu editor dalam program pengenalan dapat berjalan dengan baik dan alur program
telah sesuai dengan perancangan.
4.2 Hasil Pengujian Program Pengenalan Terhadap Tingkat Pengenalan Citra
Kepingan Plat Huruf
Dalam pengujian program pengenalan citra kepingan plat huruf ini dilakukan melalui
3 tahapan pengujian. Tahapan pengujian yang pertama adalah pengujian parameter
pengaturan pengenalan yang terdiri dari ukuran Gaussian 2D dan standar deviasi Gaussian
2D. Tujuan pengujian parameter pengaturan pengenalan adalah untuk mencari nilai dari
setiap parameter yang menghasilkan tingkat pengenalan yang terbaik. Tahapan pengujian
yang kedua adalah mencari batasan jarak optimal yang bisa digunakan oleh sistem
sehingga sistem tidak akan mengenali karakter lain selain karakter huruf. Pengujian yang
ketiga adalah dengan diuji dengan menggunakan citra kepingan plat angka agar dapat
mengetahui apakah program pengenalan mampu tidak mengenali atau tidak.
4.2.1. Pengujian Parameter Pengaturan Pengenalan Citra Kepingan Plat
Percobaan ini untuk melihat seberapa besar tingkat pengenalan yang dapat dikenali
dari setiap parameter pengenalan yang digunakan. Langkah-langkah yang percobaan yang
dilakukan :
1. Melakukan capturing citra huruf dari A sampai dengan Z sebanyak 2 kali.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
2. Percobaan dilakukan dengan menggunakan kombinasi ukuran tapis dan standar
deviasi yang berbeda–beda yaitu :
a. Ukuran tapis Gaussian 2D (LPF) = 4×4, 8×8, 12×12, 16×16
b. Standar deviasi Gaussian 2D (σ) = 2, 4, 6, 10, 14
3. Menentukan kombinasi nilai ukuran tapis dan standar deviasi pengenalan yang
menghasilkan tingkat pengenalan yang terbaik.
Dari Tabel 4.1 maka dapat digambarkan grafik antara ukuran tapis Gaussian 2D
dengan tingkat pengenalan. Dari Tabel 4.1 diperoleh rata–rata tingkat pengenalan yaitu
sebesar 83.84%. Dalam grafik tersebut menunjukan bahwa semakin besar ukuran tapis
Gaussian 2D maka tingkat pengenalan yang didapatkan akan semakin rendah. Semakin
kecil ukuran tapis Gaussian 2D maka tingkat pengenalan yang didapatkan akan semakin
tinggi. Hal ini disebabkan karena semakin besar ukuran tapis Gaussian 2D maka citranya
akan semakin kabur dan tidak tajam sehingga tingkat pengenalannya juga akan semakin
rendah.
Tabel 4.1 Hasil persentase tingkat pengenalan
Persentase Tingkat Pengenalan
Standar
deviasi
Ukuran Tapis Gaussian 2D
4 x 4 8 x 8 12 x 12 16 x 16
2 100 % 100 % 96.15 % 82.3 %
6 100 % 100 % 84 % 61.54 %
10 100 % 100 % 82.69 % 53.85 %
14 100 % 100 % 82.69 % 46.15 %
Dari Tabel 4.1 maka dapat digambarkan melalui grafik Gambar 4.6 yaitu antara
ukuran tapis Gaussian 2D dengan tingkat pengenalan. Dalam grafik tersebut menunjukan
bahwa semakin kecil ukuran tapis Gaussian 2D maka tingkat pengenalan yang didapatkan
akan semakin tinggi. Semakin besar ukuran tapis Gaussian 2D maka tingkat pengenalan
yang didapatkan akan semakin rendah. Hal ini disebabkan karena semakin besar ukuran
tapis Gaussian 2D maka citranya akan semakin kabur dan tidak tajam sehingga tingkat
pengenalannya juga akan semakin rendah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
0
20
40
60
80
100
4 x 4 8 x 8 12 x 12 16 x 16
2
6
10
14
%
Ukuran Tapis
Standar Deviasi :
Tingkat Pengenalan
0
20
40
60
80
100
2 6 10 14
4x4
8x8
12x12
16x16
%
Standar Deviasi
Ukuran Tapis :
Tingkat Pengenalan
Gambar 4.6 Grafik persentase tingkat pengenalan terhadap ukuran tapis
Dari Tabel 4.1 dapat digambarkan melalui grafik Gambar 4.7 yaitu antara standar
deviasi ukuran tapis dan tingkat pengenalan. Dalam grafik tersebut semakin besar standar
deviasi Gaussian 2D maka tingkat pengenalannya akan semakin menurun. Semakin kecil
standar deviasi Gaussian 2D maka tingkat pengenalannya akan semakin tinggi. Hal ini
disebabkan karena semakin besar standar deviasi Gaussian 2D maka tingkat penyebaran
pengaburannya semakin besar sehingga tingkat pengenalannya juga akan semakin rendah.
Gambar 4.7 Grafik persentase tingkat pengenalan terhadap standar deviasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Gambar 4.8 menunjukan contoh hasil berbagai huruf dengan berbagai macam
variasi ukuran tapis dan standar deviasi yang terbesar. Dari gambar tersebut dapat dilihat
bahwa semakin kecil ukuran tapisnya maka tingkat diskriminasi ekstrasi cirinya besar
sehingga tingkat pengenalannya juga tinggi. Semakin besar ukuran tapisnya maka tingkat
diskriminasi ekstrasi cirinya kecil sehingga tingkat pengenalannya juga akan semakin
rendah. Hal ini disebabkan karena semakin besar ukuran tapisnya maka citra yang
dihasilkan akan semakin kabur dan tidak tajam sehingga bentuk citra akan mirip dengan
bentuk huruf lain dan akan lebih susah untuk dikenali.
Gambar 4.8 Contoh citra dengan ukuran tapis bervariasi dan standar deviasi tetap.
(a) Ukuran tapis 4×4, standar deviasi 14. (b) Ukuran tapis 8×8, standar deviasi 14.
(c) Ukuran tapis 12×12, standar deviasi 14. (d) Ukuran tapis 16×16,standar deviasi 14.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Gambar 4.9 menunjukan contoh hasil berbagai huruf dengan berbagai macam
variasi standar deviasi dan ukuran tapis yang terbesar. Dari gambar tersebut dapat dilihat
bahwa semakin kecil standar deviasinya maka tingkat diskriminasi ekstrasi cirinya besar
sehingga tingkat pengenalannya juga tinggi. Semakin besar ekstrasi cirinya maka tingkat
diskriminasi ekstrasi cirinya kecil sehingga tingkat pengenalannya juga akan semakin
rendah. Hal ini disebabkan karena semakin besar standar deviasinya maka citra yang
dihasilkan akan semakin kabur dan tidak tajam sehingga bentuk citra akan mirip dengan
bentuk huruf lain dan akan lebih susah untuk dikenali.
Gambar 4.9 Contoh citra dengan ukuran tapis tetap dan standar deviasi bervariasi.
(a) Ukuran tapis 16×16, standar deviasi 2. (b) Ukuran tapis 16×16, standar deviasi 6.
(c) Ukuran tapis 16×16, standar deviasi 10. (d) Ukuran tapis 16×16, standar deviasi 14.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
4.2.2. Pengujian Untuk Menentukan Batasan Nilai Jarak Yang Optimal
Percobaan ini untuk menentukan nilai batasan jarak optimal yang dapat digunakan
dalam proses pengenalan yang dilakukan dengan menggunakan ukuran tapis Gaussian 2D
(LPF) dan standar deviasi Gaussian 2D (σ) yang menghasilkan pengenalan terbaik.
Langkah percobaan yang dilakukan adalah sebagai berikut :
1. Melakukan capturing setiap huruf dengan LPF = 4×4 dan σ = 2.
2. Mencari nilai maksimum jarak Euclidean dari uji coba sebanyak 10 kali.
3. Mencari nilai maksimum jarak Euclidean untuk semua huruf.
Tabel 4.2 Jarak Euclidean setiap karakter huruf
Karakter Jarak
(pixel) Karakter
Jarak
(pixel) Karakter
Jarak
(pixel)
A 0.7860 J 0.9110 S 0.7607
B 0.6998 K 0.8256 T 0.6060
C 0.681 L 0.9023 U 0.7875
D 0.600 M 0.8910 V 0.6610
E 0.802 N 0.4779 W 0.6485
F 0.771 O 0.6890 X 0.8054
G 0.9084 P 0.7980 Y 0.5636
H 0.6340 Q 0.8046 Z 0.9650
I 0.7620 R 0.7970 - -
Berdasarkan Tabel 4.2 diatas bahwa jarak Euclidean yang paling maksimum adalah
0.9650. Nilai tersebutlah yang akan digunakan sebagai batas atas, apabila suatu citra
mempunyai jarak Euclidean lebih besar dari 0.9650 maka citra tersebut tidak akan dikenali
oleh program pengenalan.
4.2.3. Pengujian Karakter Angka
Tabel 4.3 Jarak Euclidean karakter angka
Karakter Jarak
(pixel)
1 0.7203
2 0.5950
3 0.6251
4 0.5894
5 0.8210
Tabel 4.3 adalah hasil jarak Euclidean dari pengujian karakter angka dengan
menggunakan LPF = 4×4 dan σ = 2. Pada pengujian dengan menggunakan karakter angka
hasil pengenalannya adalah salah. Hal ini disebabkan karena karakter angka yang diuji
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
mempunyai luasan putih yang hampir sama dengan karakter huruf sehingga menghasilkan
jarak Euclidean yang berada di bawah batas atas yang telah ditetapkan oleh program
pengenalan. Selain itu, database untuk karakter angka juga tidak ada dalam program
pengenalan sehingga sistem tidak dapat mengenali karakter angka.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Dari percobaan hasil pengenalan plat huruf bermotor roda dua dapat disimpulkan
sebagai berikut :
1. Rata–rata tingkat pengenalan kepingan plat huruf dengan menggunakan ekstrasi ciri
pengaburan dan perataan blok adalah sebesar 86.84%.
2. Ukuran tapis Gaussian 2D mempengaruhi tingkat pengenalan. Semakin kecil
ukuran tapis Gaussian 2D maka tingkat pengenalan yang dihasilkan akan semakin
tinggi. Semakin besar ukuran tapis Gaussian 2D maka tingkat pengenalan yang
dihasilkan akan semakin rendah.
3. Standar deviasi Gaussian 2D mempengaruhi tingkat pengenalan. Semakin kecil
standar deviasi Gaussian 2D maka tingkat pengenalan yang dihasilkan akan
semakin tinggi. Semakin besar standar deviasi Gaussian 2D maka tingkat
pengenalan yang dihasilkan akan semakin rendah.
5.2. Saran
Saran untuk pengembangan sistem pengenalan kepingan plat huruf bermotor roda
dua adalah sebagai berikut :
1. Pengembangan sistem dengan pengenalan lebih dari satu karakter huruf atau
kombinasi antara huruf dan angka supaya dapat mengenali satu plat nomer secara
utuh.
2. Pengembangan sistem dengan menggunakan cahaya sendiri yaitu dengan
menggunakan cahaya lampu agar tidak bergantung pada cahaya sekitar yang tidak
bisa diatur.
3. Pengembangan sistem dengan menggunakan cropping secara otomatis agar dapat
lebih mudah dalam pengoperasiannya.
4. Pengembangan sistem dengan menggunakan jarak dan posisi webcam yang dapat
berubah–ubah agar dapat lebih fleksibel dalam pengoperasiannya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Daftar Pustaka
[1] Fairhurst, M.C., 1995, Visi Komputer Untuk Sistem Robotik, Universitas Indonesia,
Jakarta.
[2] Ashari H.M.E., 2005, Pengenalan Huruf Menggunakan Model Jaringan Saraf
Tiruan Radial Basis Function dengan Randomize Cluster Decision, Seminar
Nasional Aplikasi Teknologi Informasi, Universitas Islam Indonesia, Yogyakarta.
[3] Sumarno, L., 2009, On the Performance of Blurring and Block Averaging Feature
Extraction Based on 2D Gaussian Filter, Proceeding of International
Conference on Information and Communication Technology and System (ICTS),
Institut Sepuluh November, Surabaya, 261 – 266.
[4] Manurung, P., 2008, Perangkat Lunak Pengenalan Plat Mobil Menggunakan
Jaringan Kompetitif dan Jaringan Kohonen, Universitas Indonesia, Jakarta.
[5] Putra, D., 2010, Pengolahan Citra Digital, Andi Offset, Yogyakarta.
[6] Prasetyo, E., 2011, Pengolahan Citra Digital dan Aplikasinya Menggunakan
Matlab, Andi Offset, Yogyakarta.
[7] Laksmito,B., 2010, Pengertian webcam dan jenis – jenisnya,
http://shaleholic.com/pengertian-webcam-dan-jenisnya , diakses 20 Juni 2013
[8] Saleh, I., 2013, Pengertian Matlab dan fungsi – fungsinya,
http://bisonerich-matlab.blogspot.com/2009/02/pengertian-matlab.html, diakses 28
Juni 2013
[9] Gonzalez, Rafael C.,2005, Digital Image Processing Using Matlab, Prentice Hall,
Upper Saddle River
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 1
LISTING PROGRAM
Home
function varargout = tampilan_awal(varargin)
% TAMPILAN_AWAL M-file for tampilan_awal.fig
% TAMPILAN_AWAL, by itself, creates a new TAMPILAN_AWAL or raises
the existing
% singleton*.
%
% H = TAMPILAN_AWAL returns the handle to a new TAMPILAN_AWAL or the
handle to
% the existing singleton*.
%
% TAMPILAN_AWAL('CALLBACK',hObject,eventData,handles,...) calls the
local
% function named CALLBACK in TAMPILAN_AWAL.M with the given input
arguments.
%
% TAMPILAN_AWAL('Property','Value',...) creates a new TAMPILAN_AWAL
or raises the
% existing singleton*. Starting from the left, property value pairs
are
% applied to the GUI before tampilan_awal_OpeningFunction gets
called. An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to tampilan_awal_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 tampilan_awal
% Last Modified by GUIDE v2.5 22-Nov-2005 12:19:13
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @tampilan_awal_OpeningFcn, ...
'gui_OutputFcn', @tampilan_awal_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 TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 2
% --- Executes just before tampilan_awal is made visible.
function tampilan_awal_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 tampilan_awal (see VARARGIN)
% Choose default command line output for tampilan_awal
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes tampilan_awal wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = tampilan_awal_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;
% --- 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)
% --- 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)
delete(figure(tampilan_awal));
% --------------------------------------------------------------------
function Untitled_1_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
figure(tampilan_awal);
% --------------------------------------------------------------------
function Untitled_2_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(figure(tampilan_awal));
figure(Tampilan_Huruf);
% --------------------------------------------------------------------
function Untitled_3_Callback(hObject, eventdata, handles)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 3
% hObject handle to Untitled_3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(figure(tampilan_awal));
figure(Tampilan_Bantuan);
% --------------------------------------------------------------------
function Untitled_4_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(figure(tampilan_awal));
figure(Tampilan_Tentang);
% --- 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)
delete(figure(tampilan_awal));
figure(tampilan_huruf);
Pengenalan
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)
a=handles.a;
b=imcrop(a,[237 181 111 139]);
x=imresize(b,[64 64]);
ukuran=handles.ukuran;
std=handles.std;
if (ukuran==4) &(std==2)
LPF=fspecial('gaussian',[4,4],2);
elseif (ukuran==4) &(std==6)
LPF=fspecial('gaussian',[4,4],6);
elseif (ukuran==4) &(std==10)
LPF=fspecial('gaussian',[4,4],10);
elseif (ukuran==4) &(std==14)
LPF=fspecial('gaussian',[4,4],14);
elseif (ukuran==8) &(std==2)
LPF=fspecial('gaussian',[8,8],2);
elseif (ukuran==8) &(std==6)
LPF=fspecial('gaussian',[8,8],6);
elseif (ukuran==8) &(std==10)
LPF=fspecial('gaussian',[8,8],10);
elseif (ukuran==8) &(std==14)
LPF=fspecial('gaussian',[8,8],14);
elseif (ukuran==12) &(std==2)
LPF=fspecial('gaussian',[12,12],2);
elseif (ukuran==12) &(std==6)
LPF=fspecial('gaussian',[12,12],6);
elseif (ukuran==12) &(std==10)
LPF=fspecial('gaussian',[12,12],10);
elseif (ukuran==12) &(std==14)
LPF=fspecial('gaussian',[12,12],14);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 4
elseif (ukuran==16) &(std==2)
LPF=fspecial('gaussian',[16,16],2);
elseif (ukuran==16) &(std==6)
LPF=fspecial('gaussian',[16,16],6);
elseif (ukuran==16) &(std==10)
LPF=fspecial('gaussian',[16,16],10);
elseif (ukuran==16) &(std==14)
LPF=fspecial('gaussian',[16,16],14);
end
x;
[o,y]=gui_eciri(x,LPF);
mo=max(o(:));
o=o/mo;
my=max(y(:));
y=y/my;
axes(handles.axes2)
imshow(o);
axes(handles.axes3)
imshow(y);
y=y(:);
if (ukuran==4) &(std==2)
load xciri0402;
elseif (ukuran==4) &(std==6)
load xciri0402;
elseif (ukuran==4) &(std==10)
load xciri0410;
elseif (ukuran==4) &(std==14)
load xciri0414;
elseif (ukuran==8) &(std==2)
load xciri0802;
elseif (ukuran==8) &(std==6)
load xciri0806;
elseif (ukuran==8) &(std==10)
load xciri0810
elseif (ukuran==8) &(std==14)
load xciri0814
elseif (ukuran==12) &(std==2)
load xciri1202
elseif (ukuran==12) &(std==6)
load xciri1206;
elseif (ukuran==12) &(std==10)
load xciri1210;
elseif (ukuran==12) &(std==14)
load xciri1214;
elseif (ukuran==16) &(std==2)
load xciri1602;
elseif (ukuran==16) &(std==6)
load xciri1606;
elseif (ukuran==16) &(std==10)
load xciri1610;
elseif (ukuran==16) &(std==14)
load xciri1614;
end
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 5
mz=max(z(:));
z=z/mz;
for n=1:26
r(n)=jarak(y,z(:,n));
end
mm=min(r)
if (ukuran==4) &(std==2)
if (mm > 0.96)
y1=('TIDAK DIKENALI');
set(handles.text15,'string',y1);
else
b1=find(min(r)==r);
x2={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','
R','S','T','U','V','W','X','Y','Z'};
y1=x2(b1);
set(handles.text14,'string',y1);
end
else
b1=find(min(r)==r);
x2={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','
R','S','T','U','V','W','X','Y','Z'};
y1=x2(b1);
set(handles.text14,'string',y1);
end
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
function Untitled_2_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 6
% handles structure with handles and user data (see GUIDATA)
figure(tampilan_huruf);
% --------------------------------------------------------------------
function Untitled_5_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(figure(tampilan_huruf));
figure(Tampilan_Awal);
% --------------------------------------------------------------------
function Untitled_6_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
figure(Tampilan_huruf);
% --------------------------------------------------------------------
function Untitled_7_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(figure(Tampilan_huruf));
figure(Tampilan_Bantuan);
% --------------------------------------------------------------------
function Untitled_8_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_8 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(figure(Tampilan_huruf));
figure(Tampilan_Tentang);
% --- 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)
delete(figure(tampilan_huruf));
% --- Executes on selection change in popupmenu1.
function popupmenu1_Callback(hObject, eventdata, handles)
indeks=get(handles.popupmenu1,'Value');
switch indeks
case 1
ukuran=4;
case 2
ukuran=8;
case 3
ukuran=12;
case 4
ukuran=16;
end
handles.ukuran=ukuran;
guidata(hObject,handles)
% --- Executes during object creation, after setting all properties.
function popupmenu1_CreateFcn(hObject, eventdata, handles)
% hObject handle to popupmenu1 (see GCBO)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 7
% 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
% --- Executes on selection change in popupmenu2.
function popupmenu2_Callback(hObject, eventdata, handles)
indeks=get(handles.popupmenu2,'Value');
switch indeks
case 1
std=2;
case 2
std=6;
case 3
std=10;
case 4
std=14;
end
handles.std=std;
guidata(hObject,handles);
% --- Executes during object creation, after setting all properties.
function popupmenu2_CreateFcn(hObject, eventdata, handles)
% hObject handle to popupmenu2 (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
% --- 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)
delete(figure(Tampilan_huruf));
figure(Tampilan_huruf);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 8
Bantuan
function varargout = Tampilan_Bantuan(varargin)
% TAMPILAN_BANTUAN M-file for Tampilan_Bantuan.fig
% TAMPILAN_BANTUAN, by itself, creates a new TAMPILAN_BANTUAN or
raises the existing
% singleton*.
%
% H = TAMPILAN_BANTUAN returns the handle to a new TAMPILAN_BANTUAN
or the handle to
% the existing singleton*.
%
% TAMPILAN_BANTUAN('CALLBACK',hObject,eventData,handles,...) calls
the local
% function named CALLBACK in TAMPILAN_BANTUAN.M with the given input
arguments.
%
% TAMPILAN_BANTUAN('Property','Value',...) creates a new
TAMPILAN_BANTUAN or raises the
% existing singleton*. Starting from the left, property value pairs
are
% applied to the GUI before Tampilan_Bantuan_OpeningFunction gets
called. An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to Tampilan_Bantuan_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 Tampilan_Bantuan
% Last Modified by GUIDE v2.5 27-Jun-2013 05:10:48
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Tampilan_Bantuan_OpeningFcn, ...
'gui_OutputFcn', @Tampilan_Bantuan_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
% --- Executes just before Tampilan_Bantuan is made visible.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 9
function Tampilan_Bantuan_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 Tampilan_Bantuan (see VARARGIN)
% Choose default command line output for Tampilan_Bantuan
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes Tampilan_Bantuan wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = Tampilan_Bantuan_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;
% --- 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)
delete(figure(Tampilan_Bantuan));
% --------------------------------------------------------------------
function Untitled_1_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(figure(Tampilan_Bantuan));
figure(Tampilan_Awal);
% --------------------------------------------------------------------
function Untitled_2_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(figure(Tampilan_Bantuan));
figure(Tampilan_huruf);
% --------------------------------------------------------------------
function Untitled_3_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
figure(Tampilan_Bantuan);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 10
% --------------------------------------------------------------------
function Untitled_4_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(figure(Tampilan_Bantuan));
figure(Tampilan_Tentang);
Tentang
function varargout = Tampilan_Tentang(varargin)
% TAMPILAN_TENTANG M-file for Tampilan_Tentang.fig
% TAMPILAN_TENTANG, by itself, creates a new TAMPILAN_TENTANG or
raises the existing
% singleton*.
%
% H = TAMPILAN_TENTANG returns the handle to a new TAMPILAN_TENTANG
or the handle to
% the existing singleton*.
%
% TAMPILAN_TENTANG('CALLBACK',hObject,eventData,handles,...) calls
the local
% function named CALLBACK in TAMPILAN_TENTANG.M with the given input
arguments.
%
% TAMPILAN_TENTANG('Property','Value',...) creates a new
TAMPILAN_TENTANG or raises the
% existing singleton*. Starting from the left, property value pairs
are
% applied to the GUI before Tampilan_Tentang_OpeningFunction gets
called. An
% unrecognized property name or invalid value makes property
application
% stop. All inputs are passed to Tampilan_Tentang_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 Tampilan_Tentang
% Last Modified by GUIDE v2.5 27-Jun-2013 05:12:42
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Tampilan_Tentang_OpeningFcn, ...
'gui_OutputFcn', @Tampilan_Tentang_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 11
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before Tampilan_Tentang is made visible.
function Tampilan_Tentang_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 Tampilan_Tentang (see VARARGIN)
% Choose default command line output for Tampilan_Tentang
handles.output = hObject;
I=imread('1.jpg');
axes(handles.axes1);
imshow(I);
guidata(hObject, handles);
% UIWAIT makes Tampilan_Tentang wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = Tampilan_Tentang_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;
% --- 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)
delete(figure(Tampilan_Tentang));
% --------------------------------------------------------------------
function Untitled_1_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(figure(Tampilan_Tentang));
figure(Tampilan_Awal);
% --------------------------------------------------------------------
function Untitled_2_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 12
delete(figure(Tampilan_Tentang));
figure(Tampilan_huruf);
% --------------------------------------------------------------------
function Untitled_3_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(figure(Tampilan_Tentang));
figure(Tampilan_Bantuan);
% --------------------------------------------------------------------
function Untitled_4_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
figure(Tampilan_Tentang);
dbxciri
function dbxciri
z1=[];
x=imread('A.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('F.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('K.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('P.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('S.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('X.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[4,4],2);y=eciri(x,LPF);z1=[z1 y];
z1
z=z1;
save xciri0402 z
z2=[];
x=imread('A.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('F.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 13
x=imread('K.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('P.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('S.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('X.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[4,4],6);y=eciri(x,LPF);z2=[z2 y];
z2
z=z2;
save xciri0406 z
z3=[];
x=imread('A.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('F.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('K.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('P.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('S.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('X.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[4,4],10);y=eciri(x,LPF);z3=[z3 y];
z3
z=z3;
save xciri0410 z
z4=[];
x=imread('A.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('F.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('K.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 14
x=imread('P.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('S.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('X.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[4,4],14);y=eciri(x,LPF);z4=[z4 y];
z4
z=z4;
save xciri0414 z
%=========================== 8x8 ========================================
z5=[];
x=imread('A.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('F.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('K.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('P.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('S.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('X.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[8,8],2);y=eciri(x,LPF);z5=[z5 y];
z5
z=z5;
save xciri0802 z
z6=[];
x=imread('A.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('F.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('K.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('P.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 15
x=imread('S.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('X.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[8,8],6);y=eciri(x,LPF);z6=[z6 y];
z6
z=z6;
save xciri0806 z
z7=[];
x=imread('A.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('F.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('K.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('P.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('S.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('X.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[8,8],10);y=eciri(x,LPF);z7=[z7 y];
z7
z=z7;
save xciri0810 z
z8=[];
x=imread('A.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('F.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('K.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('P.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('S.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 16
x=imread('X.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[8,8],14);y=eciri(x,LPF);z8=[z8 y];
z8
z=z8;
save xciri0814 z
%===============================12x12======================================
z9=[];
x=imread('A.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('F.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('K.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('P.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('S.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('X.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[12,12],2);y=eciri(x,LPF);z9=[z9 y];
z9
z=z9;
save xciri1202 z
z10=[];
x=imread('A.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('F.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('K.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('P.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('S.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('X.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[12,12],6);y=eciri(x,LPF);z10=[z10 y];
z10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 17
z=z10;
save xciri1206 z
z11=[];
x=imread('A.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('F.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('K.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('P.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('S.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('X.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[12,12],10);y=eciri(x,LPF);z11=[z11 y];
z11
z=z11;
save xciri1210 z
z12=[];
x=imread('A.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('F.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('K.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('P.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('S.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('X.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[12,12],14);y=eciri(x,LPF);z12=[z12 y];
z12
z=z12;
save xciri1214 z
%==============================16x16========================================
z13=[];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 18
x=imread('A.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('F.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('K.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('P.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('S.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('X.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[16,16],2);y=eciri(x,LPF);z13=[z13 y];
z13
z=z13;
save xciri1602 z
z14=[];
x=imread('A.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('F.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('K.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('P.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('S.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('X.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[16,16],6);y=eciri(x,LPF);z14=[z14 y];
z14
z=z14;
save xciri1606 z
z15=[];
x=imread('A.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 19
x=imread('F.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('K.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('P.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('S.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('X.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[16,16],10);y=eciri(x,LPF);z15=[z15 y];
z15
z=z15;
save xciri1610 z
z16=[];
x=imread('A.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('B.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('C.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('D.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('E.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('F.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('G.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('H.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('I.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('J.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('K.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('L.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('M.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('N.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('O.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('P.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('Q.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('R.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('S.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('T.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('U.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('V.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('W.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('X.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('Y.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
x=imread('Z.bmp');LPF=fspecial('gaussian',[16,16],14);y=eciri(x,LPF);z16=[z16 y];
z16
z=z16;
save xciri1614 z
gui_eciri
function [img1,out]=gui_eciri(in,LPF)
% Blurring
img1=imfilter(double(in),LPF);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Lampiran 20
% Averaging
fmean8=@(x) ones(64,1)*mean(x);
out=colfilt(img1,[8 8],'distinct',fmean8);
% Downsampling
out=out(1:8:64,1:8:64);
% Keluaran kolom demi kolom
%out=out(:);
% =========================================================
Jarak
function r=jarak(p,q) r1=p-q; r2=r1.^2; r3=sum(r2); r=sqrt(r3);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJIPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI