TEKNIK LOKALISASI PLAT NOMOR
MENGGUNAKAN MORFOLOGI
SKRIPSI
Disusun oleh :
ASEP KURNAIVI WARDHANA
NPM. 0934010183
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL
"
VETERAN
"
JAWA TIMUR
SURABAYA
2012
Hak Cipta © milik UPN "Veteran" Jatim :
TEKNIK LOKALISASI PLAT NOMOR
MENGGUNAKAN MORFOLOGI
SKRIPSI
Diajukan Untuk Memenuhi Sebagai Persyaratan Dalam Memperoleh Gelar Sarjana Komputer
Jurusan Teknik Informatika
Disusun oleh :
ASEP KURNAIVI WARDHANA
NPM. 0934010183
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
SURABAYA
LEMBAR PENGESAHAN
TEKNIK LOKALISASI PLAT NOMOR
MENGGUNAKAN MORFOLOGI
Disusun Oleh :
ASEP KURNAIVI WARDHANA
NPM. 0934010183
Telah disetujui untuk mengikuti Ujian Negara Lisan Gelombang II Tahun Akademik 2012/2013
Pembimbing Utama Pembimbing Pendamping
Basuki Rahmat, S.Si, MT Ir. Mu’tasim Billah, MS
NPT. 3 6907 06 0209 1 NPT. 19600504 198703 1 001
Mengetahui,
Ketua Jurusan Teknik Informatika Fakultas Teknologi Industri UPN ”Veteran” Jawa Timur
Dr. Ir. Ni Ketut Sari, MT NIP. 19650731 199203 2 001
Hak Cipta © milik UPN "Veteran" Jatim :
SKRIPSI
TEKNIK LOKALISASI PLAT NOMOR MENGGUNAKAN MORFOLOGI
Disusun Oleh :
ASEP KURNAIVI WARDHANA NPM. 0934010183
Telah dipertahankan di hadapan dan diterima oleh Tim Penguji Skripsi Jurusan Teknik Informatika Fakultas Teknologi Industri
Universitas Pembangunan Nasional ”Veteran” Jawa Timur
Pada Tanggal 23 November 2012
Pembimbing : Tim Penguji :
1. 1.
Basuki Rahmat, S.Si, MT Dr. Ir. Ni Ketut Sari, MT
NPT. 3 6907 06 0209 1 NIP. 19650731 199203 2 001
2. 2.
Ir. Mu’tasim Billah, MS Fetty Tri Anggraeny, S.Kom, M.Kom
NIP. 19600504 198703 1 001 NPT. 3 8202 06 0208 1
3.
Ir. Purnomo Edi Sasongko, MP NIP. 19640714 198803 1 001
Mengetahui,
Dekan Fakultas Teknologi Industri
Universitas Pembangunan Nasional ”Veteran” Jawa Timur
YAYASAN KESEJAHTERAAN PENDIDIKAN DAN PERUMAHAN UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” JAWA TIMUR
FAKULTAS TEKNOLOGI INDUSTRI PANITIA UJIAN SKRIPSI / KOMPREHENSIF
KETERANGAN REVISI
Mahasiswa di bawah ini :
Nama : Asep Kurnaivi Wardhana NPM : 0934010183
Jurusan : Teknik Informatika
Telah mengerjakan revisi/ tidak ada revisi*) pra rencana (design)/ skripsi ujian lisan gelombang II, TA 2012/2013 dengan judul:
“TEKNIK LOKALISASI PLAT NOMOR MENGGUNAKAN MORFOLOGI”
Surabaya, ... November 2012 Dosen Penguji yang memerintahkan revisi:
1) Dr. Ir. Ni Ketut Sari, MT NIP. 19650731 199203 2 001
2) Fetty Tri Anggraeny, S.Kom, M.Kom NPT. 3 8202 06 0208 1
3) Ir. Purnomo Edi Sasongko, MP NIP. 19640714 198803 1 001
Mengetahui,
Pembimbing Utama Pembimbing Pendamping
Basuki Rahmat, S.Si, MT Ir. Mu’tasim Billah, MS NPT. 3 6907 06 0209 1 NIP. 19600504 198703 1 001
{
}
{
}
{
}
Hak Cipta © milik UPN "Veteran" Jatim :
UCAPAN TERIMA KASIH
Ucapan terima kasih ini saya persembahkan sebagai perwujudan rasa syukur atas terselesaikannya Laporan Skripsi. Ucapan terima kasih ini saya tujukan kepada : 1) Allah SWT., karena berkat Rahmat dan berkahNya kami dapat menyusun dan
menyelesaikan Laporan Skripsi ini hingga selesai.
2) Bapak Prof. Dr. Ir. Teguh Soedarto, MP selaku Rektor Universitas
Pembangunan Nasional “Veteran” Jawa Timur.
3) Bapak Sutiyono, MT selaku Dekan Fakultas Teknologi Industri UPN
“Veteran” Jawa Timur.
4) Ibu Dr. Ir. Ni Ketut Sari, MT. selaku Ketua Jurusan Teknik Informatika UPN
“Veteran” Jawa Timur yang telah dengan sabar membimbing dengan segala kerendahan hati dan selalu memberikan kemudahan dan kesempatan bagi saya untuk berkreasi.
5) Bapak Firza Prima Aditiawan, S.Kom., Selaku PIA Tugas Akhir Teknik
Informatika UPN “Veteran” Jawa Timur.
6) Basuki Rahmat, S.Si., MT selaku dosen pembimbing utama pada Proyek
Skripsi ini di UPN “Veteran” Jawa Timur yang telah banyak memberikan
petunjuk, masukan, bimbingan, dorongan serta kritik yang bermanfaat sejak awal hingga terselesainya Skripsi ini.
iv
8) Keluarga tercinta, terutama Bapak Ibuku tersayang, terima kasih atas semua doa, dukungan serta harapan-harapanya pada saat penulis menyelesaikan skripsi dan laporan ini. Yang penulis minta hanya doa restunya, sehingga penulis bisa membuat sesuatu yang lebih baik dari laporan ini.
9) MR.WAHYU SUBANDRIO, yang telah membantu meminjamkan printer selama masa skripsi. Semoga cepat selesai kuliahnya dan medapat jodoh. 10) Adik Kanti Putri Rahayu, yang telah membantu dalam skripsi. Tetap
semangat kuliahnya.
11) Warga Informatic”dhe yang telah membantu dalam penyelesaian Laporan Skripsi ini. Yang telah memberikan dorongan dan doa, yang tak bisa penulis sebutkan satu persatu. Terima Kasih yang tak terhingga untuk kalian semua. Semoga Allah SWT yang membalas semua kebaikan dan bantuan tersebut.
Hak Cipta © milik UPN "Veteran" Jatim :
KATA PENGANTAR
Syukur Alhamdulillaahi rabbil ‘alamin terucap ke hadirat Allah SWT atas segala limpahan Kekuatan-Nya sehingga dengan segala keterbatasan waktu, tenaga, pikiran dan keberuntungan yang dimiliki peneliti, akhirnya peneliti dapat menyelesaikan Skripsi yang berjudul “TEKNIK LOKALISASI PLAT NOMOR MENGGUNAKAN MORFOLOGI” tepat waktu.
Skripsi dengan beban 4 SKS ini disusun guna diajukan sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada jurusan Teknik Informatika, Fakultas Teknologi Industri, UPN ”VETERAN” Jawa Timur.
Melalui Skripsi ini peneliti merasa mendapatkan kesempatan emas untuk memperdalam ilmu pengetahuan yang diperoleh selama di bangku perkuliahan, terutama berkenaan tentang penerapan teknologi perangkat bergerak. Namun, penyusun menyadari bahwa Skripsi ini masih jauh dari sempurna. Oleh karena itu penyusun sangat mengharapkan saran dan kritik dari para pembaca untuk pengembangan aplikasi lebih lanjut.
Surabaya, 30 November 2012
v
DAFTAR ISI
Halaman LEMBAR PENGESAHAN
ABSTRAK ... i
KATA PENGANTAR ... ii
UCAPAN TERIMA KASIH ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... ix
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang... 1
1.2. Rumusan Masalah ... 4
1.3. Batasan Masalah ... 4
1.4. Tujuan ……….. ... 5
1.5. Manfaat ... 5
1.6. Metodologi Penelitian ... 5
1.7. Sistematika Penulisan ... 7
BAB II TINJAUAN PUSTAKA ... 7
2.1 Artificial Intelligence ... 9
2.2. Image ... 9
Hak Cipta © milik UPN "Veteran" Jatim :
2.2.1 Analog Image ... 10
2.2.2 Digital Image ... 10
2.3. Computer Vision ... 11
2.3.1 Normalisasi Ukuran Citra ... 12
2.3.2 Image Enhancement ... 13
2.3.3 Image Segmentaion ... 15
2.3.4 Operasi pada Binary Image ... 21
2.3. Flowchart ... 27
BAB III ANALISIS DAN PERANCANGAN SISTEM ... 33
3.1 Analisis ... 33
3.2 Gambaran Aplikasi secara Umum ... 34
3.3 Perancangan proses ... 36
3.3.1 Resize Image ... 36
3.3.2 Threshold ... 37
3.3.3 Sobel Filtering... 38
3.3.4 Operasi Morfologi ... 39
3.3.5 Pemotongan Plat ... 42
BAB IV IMPLEMENTASI ... 44
4.1 Lingkungan Implementasi ... 44
4.2 Implemantasi Data ... 45
4.3 Implementasi Antarmuka ... 45
vii
4.4.1 Proses Resize Image ... 53
4.4.2 Proses Threshold ... 54
4.4.3 Proses Sobel Filtering ... 54
4.4.4 Proses Opening dan Closing ... 56
4.2.5 Proses Pemotongan plat (Crop) ... 58
BAB V UJI COBA SISTEM ... 60
5.1. Lingkungan Uji Coba ... 60
5.2. Skenario Uji Coba ... 61
5.3. Pelaksanaan Uji Coba ... 61
5.3.1 Uji Coba Load Image ... 61
5.3.2 Uji Coba pada Process ... 64
5.3.3 Uji Coba Save Image ... 66
5.4. Analisa Aplikasi ... 68
5.4.1 Analisa Load Image ... 68
5.4.2 Analisa Process ... 68
5.4.3 Analisa Save Image ... 69
5.4.4 Analisa Proses pendeteksian plat nomor ... 69
BAB VI PENUTUP ... 71
6.1. Kesimpulan ... 71
6.2. Saran ... 72
Hak Cipta © milik UPN "Veteran" Jatim :
JUDUL :TEKNIK LOKALISASI PLAT NOMOR MENGGUNAKAN MORFOLOGI
PENYUSUN : ASEP KURNAIVI WARDHANA
DOSEN PEMBIMBING I : BASUKI RAHMAT, S.Si, MT
DOSEN PEMBIMBING II : Ir. MU’TASIM BILLAH, MS
i
ABSTRAK
Teknik lokalisasi plat nomor merupakan suatu teknik yang bertujuan untuk mendeteksi letak plat nomor pada gambar yang mengandung plat nomor. Dalam mencari letak plat nomor kendaraan, metode yang digunakan adalah morfologi.
Operasi morfologi dalam hal pencarian lokalisasi plat nomor dilakukan dengan cara menebalkan piksel hitam untuk dideteksi sebagai objek plat nomor. Akan tetapi dalam membantu proses morfologi, tedapat juga tahapan-tahapan proses yang diantaranya adalah threshold dan sobel filteirng. Tahapan proses-proses tersebut pada dasarnya untuk merubah gambar piksel berwarna menjadi piksel hitam putih (threshold) untuk memudahkan proses pencarian letak plat nomor. Selanjutnya gambar dideteksi tepi untuk mendapatkan garis tepi pada objek plat nomor (sobel filtering).
Teknik lokalisasi plat nomor ini mempunyai tingkat akurasi keberhasilan 90% dengan hasil yang sempurna ditemukannya plat nomor dengan intensitas gambar yang cerah dan kondisi jarak yang sesuai.
Kata Kunci : Teknik Morfologi, Plat Nomor
Hak Cipta © milik UPN "Veteran" Jatim :
BAB I
PENDAHULUAN
1.1 Latar Belakang
2
Telah banyak dilakukan penelitian dan pengembangan sistem pengenalan plat otomatis (Automatic Number Plate Recognition atau ANPR) ini, salah satu contohnya penelitian Ron (2002), yang menggunakan fitur warna plat. Bahkan banyak yang sudah dikomersialkan di negara-negara di luar Indonesia (Nelson, 1999). Akan tetapi, karena plat nomor kendaraan tergantung pada standar negaranya masing-masing, yang umumnya memiliki perbedaan format, bentuk, dan bahan, banyak ANPR yang dikembangkan khusus untuk negara tertentu. Sehingga setiap penggunaan ANPR harus diadaptasikan dengan format plat dimana sistem ini dipakai (Hofman, 2004), sehingga untuk menggunakan sistem yang dikembangkan di luar tersebut di Indonesia tidak mudah, karena Indonesia memiliki format plat nomor sendiri yang cukup berbeda dengan plat nomor negara lain. Plat nomor kendaraan bermotor yang digunakan di Indonesia mempunyai beberapa warna dan format. Plat nomor kendaraan bermotor milik pemerintah mempunyai warna dasar merah dengan karakter putih, kendaraan komersial menggunakan warna dasar kuning dan karakter hitam, sedangkan plat nomor kendaraan bermotor milik pribadi mempunyai warna dasar hitam dan karakter putih, selain itu juga terdapat beberapa format khusus untuk dinas-dinas khusus pemerintah (Anonim, 2005e). Satu hal lagi yang membedakan adalah format plat nomor Indonesia juga mengandung data tanggal berlaku.
Terjadinya permasalahan-permasalahan tersebut, maka akan dibuat sebuah aplikasi lokalisasi plat nomor secara otomatis. Pembuatan aplikasi ini, hanya menfokuskan pada pecarian lokalisasi plat nomor, hal demikian dikarenakan keterbatasan waktu dalam pembuatannya. Aplikasi ini akan dirancang
Hak Cipta © milik UPN "Veteran" Jatim :
menggunakan cabang ilmu Artificial Intelligence yaitu Computer Vision. Computer Vision akan digunakan dalam pencarian posisi plat nomor. Dengan
berbagai teknik pengolahan citra gambar akan diubah menjadi representasi yang mudah untuk dikenali komputer.
Aplikasi yang akan dibuat menerima masukan berupa gambar kendaraan yang mengandung plat nomor, yang diperoleh dari kamera digital, yang kemudian akan ditransfer menjadi digital image dengan format JPEG ke komputer untuk diproses. Keluaran dari sistem adalah gambar plat nomor yang sudah terpotong dari gambar asal. Gambar plat tersebut akan disimpan ke dalam hardisk pada komputer. Aplikasi pengenal plat nomor otomatis ini pada dasarnya adalah untuk pencarian (identifikasi) posisi plat yang akan menghasilkan gambar plat yang telah terpotong. Pencarian posisi akan dilakukan dengan salah satu metode pengolahan citra biner yaitu operasi morfologi yang dipadukan dengan karakteristik plat, dimana operasi morfologi dapat digunakan untuk mendeteksi objek kecil yang memiliki perubahan brightness yang mencolok, operasi ini dapat digunakan untuk melacak posisi.
1.2 Rumusan Masalah
Adapun permasalahan yang akan dibahas adalah sebagai berikut :
1) Bagaimana menerapkan tahapan proses untuk membuat aplikasi yang dapat melokalisasi plat nomor secara otomatis.
4 1.3 Batasan Masalah
Adapun batasan-batasan masalah yang dibuat agar dalam pengerjaan tugas akhir ini dapat berjalan degan baik adalah sebagai berikut :
1) Bahasa pemrograman yang dipakai adalah visual basic (.net) dengan kompiler microsoft visual studio 2010.
2) Gambar diambil dari sisi depan kendaraan dengan plat nomor terlihat jelas, tidak tertutup oleh bagian kendaraan, serta diambil jarak 1-2 meter dari kendaraan, sejajar dengan plat nomor kendaraan.
3) Sudut gambar yang diambil tidak lebih dari 60 derajat.
4) Gambar yang diambil hanya gambar mobil yang mengandung plat nomor.
5) Posisi plat nomor tidak miring.
6) Plat nomor adalah plat nomor asli dari kepolisian, karakter berwarna putih dengan latar hitam dan bukan buatan pribadi.
7) Jika plat nomor selain karakter berwarna puith dengan latar hitam, maka akan diambil dengan menggunakan kamera digital dengan mode monochrom. Tetapi jika gambar plat berkarakter berwarna putih dengan latar hitam maka menggunakan kamera digital berwarna.
8) Background plat nomor berintensitas terang.
9) Image beresolusi VGA (640 x 480 pixel) berformat jpeg.
10) Teknik lokalisasi plat nomor yang digunakan menggunakan morfologi dan dengan tahapan proses resize, threshold dan sobel.
Hak Cipta © milik UPN "Veteran" Jatim :
1.4 Tujuan
Tujuan dari tugas akhir ini adalah membuat sebuah aplikasi yang dapat melakukan lokalisasi plat nomor secara otomatis dengan tingkat kesalahan seminimal mungkin. Dengan cara inputan gambar kendaraan yang mengandung plat nomor, yang diperoleh dari kamera digital, yang kemudian akan ditransfer menjadi digital image dengan format JPEG ke komputer untuk diproses lebih lanjut menggunakan morfologi.
1.5 Manfaat
Manfaat dari penulisan tugas akhir ini adalah :
1) Sebagai referensi software pembantu untuk pengembangan sistem pengenalan plat nomor otomatis (Automatic Number Plate Recognition atau ANPR).
2) Dapat mengetahui secara lebih detail teknik pengenalan objek oleh komputer, dengan menggunakan morfologi.
3) Dapat dipergunakan sebagai dasar penelitian selanjutnya untuk sistem pengenal plat nomor otomatis khususnya dan pengenalan objek oleh komputer umumnya, yang dapat dipergunakan pada berbagai keperluan.
1.6 Metodelogi Penelitian
Beberapa metode dan teknik yang dipergunakan dalam pengumpulan dan pengolahan data skripsi ini antara lain :
6
Pada tahap ini, mempelajari dan membaca buku diktat, referensi, buletin perpustakaan sebagai acuan yang berkaitan dengan permasalahan yang akan dibahas.
2) Observation
Pada tahap ini akan melakukan pengamatan secara langsung di lapangan untuk memperoleh data.
3) Documentation
Tahap ini melakukan pencatatan terhadap aktifitas yang berhubungan dangan pengamatannya, apabila diperlukan pencatatan. 4) Perancangan dan Pembuatan Sistem
Melakukan analisis awal tentang sistem yang akan dibuat untuk menentukan langkah selanjutnya. Setelah sistem dirancang maka tahap berikutnya adalah pembuatan sistem yang benar, agar sesuai dengan rancangan. Pada tahap ini juga dilakukan perancangan struktur data, algoritma dan diagram alur yang akan digunakan untuk implementasi dalam perangkat lunak yang akan dibuat. Kemudian dilakukan pengimplementasian struktur data dan algoritma yang telah dirancang ke dalam bahasa pemrograman.
5) Pengujian dan Evaluasi Perangkat Lunak
Tahap ini dulakukan pengujian pada perangkat lunak yang telah dibuat, pengevaluasian hasil yang diperoleh serta perbaikan program (revisi), jika hasil belum sesuai dengan tujuan yang diharapkan.
6) Pembuatan Naskah Skripsi
Hak Cipta © milik UPN "Veteran" Jatim :
Pada tahap ini dilakukan pendokumentasian dari semua tahap agar dcatat dipelajari untuk pengembangan lebih lanjut. Memaparkan dasar-dasar teori dan metode yang terlibat di dalamnya, diantaranya desain perangkat lunak dan implementasinya, hasil pengujian sistem termasuk juga perbaikan.
1.7 Sistematika Penulisan
Pada penyusunan tugas akhir, sistematika pembahasan diatur dan disusun dalam enam bab, dan tiap-tiap bab terdiri dari sub-sub bab. Untuk memberikan gambaran yang lebih jelas, maka diuraikan secara singkat mengenai materi dari bab-bab dalam penulisan tugas akhir ini sebagai berikut:
BAB I PENDAHULUAN :
Bab ini berisi latar belakang, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, dan sistematika penulisan pembuatan tugas akhir ini.
BAB II TINJAUAN PUSTAKA :
Bab ini menjelaskan mengenai landasan teori-teori pendukung pembuatan tugas akhir ini.
BAB III ANALISIS DAN PERANCANGAN SISTEM :
Bab ini berisi tentang analisis dan perancangan sistem dalam pembuatan Tugas Akhir aplikasi teknik lokalisasi plat nomor menggunakan morfologi.
8
Pada bab ini akan membahas tentang kerja dari sistem secara keseluruhan.
BAB V UJI COBA DAN EVALUASI :
Pada bab ini menjelaskan tentang pelaksanaan uji coba dan evaluasi dari pelaksanaan uji coba dari program yang dibuat. Uji coba dapat dilakukan pada akhir dari tahap-tahap analisis sistem, desain sistem dan tahap penerapan sistem atau implementasi. Sasaran dari ujicoba program adalah untuk menemukan kesalahn-kesalahan dari program yang mungkin terjadi sehingga dapat diperbaiki.
BAB VI PENUTUP :
Bab ini berisi kesimpulan dan saran dari penulis untuk pengembangan sistem.
DAFTAR PUSTAKA :
Pada bagian ini akan dipaparkan tentang sumber-sumber literatur yang digunakan dalam pembuatan laporan tugas akhir ini.
Hak Cipta © milik UPN "Veteran" Jatim :
BAB II
TINJAUAN PUSTAKA
2.1. Artificial Intelligence
Artificial Intelligence atau Kecerdasan Buatan (disingkat AI) adalah
kemampuan suatu alat untuk melakukan fungsi yang biasanya dihubungkan dengan kecerdasan manusia, seperti penalaran dan pembelajaran melalui pengalaman. AI adalah cabang dari computer science yang berupaya meniru kemampuan penalaran manusia dengan mengorganisasi dan memanipulasi pengetahuan faktual dan heuristik. Bidang aktivitas AI meliputi sistem pakar, pengenalan bahasa alami, pengenalan suara, penglihatan komputer (Computer Vision) dan robotika (Anonim, 1996).
2.2. Image
Data masukan yang diproses adalah suatu image. Image merupakan sebuah representasi khusus dari suatu obyek, baik obyek dua dimensi maupun tiga dimensi, dimana representasi tersebut dinyatakan dalam bentuk dua dimensi. Image dapat berbentuk nyata, maya, ataupun dalam bentuk optik. Selain itu, image juga dapat berupa rekaman, seperti video image, digital image, atau sebuah gambar (Haralick dan Shapiro, 1992, p1). Image dapat dikategorikan sebagai :
2.2.1. Analog Image
10
spasial x dan y dan ketelitian tak terbatas pada intensitas tiap titik spasial (x,y).
2.2.2. Digital Image
Menurut Shapiro dan Stockman (2001, p29), digital image adalah image 2D I[r,c] yang direpresentasikan oleh array diskrit 2D dari intensitas sampel, dimana masing-masing titik direpresentasikan dengan ketelitian terbatas.
Digital image juga didefinisikan sebagai representasi dari gambar dua dimensi sebagai himpunan terbatas dari nilai digital yang disebut picture elements atau pixel. Umumnya pixel disimpan dalam komputer sebagai
gambar raster, yaitu array dua dimensi dari integer. Nilai ini kadang disimpan dalam bentuk terkompresi. Digital image dapat diperoleh dari berbagai macam alat dan teknik pengambil gambar, seperti kamera digital, scanner, radar, dan sebagainya. Dapat pula disintesis dari data seperti fungsi matematika dan lain lain. (Anonim, 2005a). Menurut Jain, Kasturi dan Schunck (1995, p12), pixel adalah sampel dari intensitas image yang terkuantisasi ke dalam nilai integer. Sementara Image merupakan array dua dimensi dari pixel-pixel tersebut. Image inilah yang akan menjadi input awal dalam Computer Vision.
Beberapa bentuk digital image yang sering digunakan dalam Computer Vision (Shapiro dan Stockman, 2001, p30):
Binary image, yaitu digital image dengan nilai pixel 1 atau 0.
Gray scale image, yaitu digital image monochrom dengan satu nilai
intensitas tiap pixel.
Multispectral image, adalah image 2D yang memiliki vektor nilai pada
tiap pixel, jika image berwarna maka vektornya memiliki 3 elemen.
Hak Cipta © milik UPN "Veteran" Jatim :
Labeled image, adalah digital image dimana nilai pixel adalah simbol dari
alfabet terbatas.
2.3. Computer Vision
Computer Vision (sering disebut juga dengan Machine Vision) dapat
dideskripsikan sebagai ilmu yang mempelajari metode yang dapat digunakan untuk membuat komputer mengerti gambar atau data banyak dimensi umumnya (Anonim, 2005b), sementara definisi Computer Vision menurut Kulkarni (2001, p27), adalah penyimpulan (deduksi) otomatis akan struktur atau properti dari dunia tiga dimensi dari satu atau lebih image dua dimensi dunia tersebut dan pengenalan objek-objek dengan bantuan properti-properti ini, atau secara singkatnya yaitu proses mengenali objek tertentu dari suatu image. Menurut Shapiro dan Stockman (2001, p1), tujuan dari Computer Vision adalah untuk membuat keputusan yang berguna tentang objek dunia nyata dan keadaan (scene) berdasarkan image yang diambil. Untuk membuat keputusan akan objek nyata, sangat penting untuk membangun deskripsi atau model objek tersebut dari gambar. Karena itu dapat dikatakan bahwa tujuan dari Computer Vision adalah untuk membangun deskripsi keadaan dari image.
Artificial Intelligence digunakan untuk menganalisis keadaan dengan
memproses representasi simbolik dari isi lingkungan setelah image telah diproses untuk diambil fiturnya. Banyak teknik dari Artificial Intelligence berperan penting didalam seluruh aspek Computer Vision. Pada dasarnya Computer Vision merupakan cabang dari Artificial Intelligence. (Jain, Kasturi dan
12
2.3.1. Normalisasi Ukuran Citra
Proses normalisasi digunakan baik pada citra data pelatihan maupun pada citra yang akan dikenali. Pada citra data pelatihan dan pengenalan, citra plat yang diperoleh dari berbagai sumber memiliki ukuran yang beragam, karena itu harus diseragamkan sehingga memiliki ukuran 240x110 pixel . Proses normalisasi dilakukan dengan menggunakan metode bilinear interpolation. Di sini citra digital dengan dimensi m x n pixel dapat dianggap sebagai matriks dua dimensi. Misalkan nilai dari fungsi yang tidak diketahui f pada titik P = (x, y). Hal ini diasumsikan bahwa kita mengetahui nilai dari f di empat titik Q 11 = (x 1, y 1), Q 12 = (x 1, y 2), Q 21 = (2 x, y 1), dan Q 22 = (2 x, y 2).
Pertama kali lakukan interpolasi linear pada arah-x. Ini menghasilkan
...(2.1)
di mana R 1 = (x, y 1),
...(2.2)
dimana R 2 = (x, y 2).
Lanjutkan dengan interpolasi dalam arah-y.
...(2.3)
Sehingga nilai f (x, y).
Hak Cipta © milik UPN "Veteran" Jatim :
...(2.4)
Jika terdapat sistem koordinat yang empat poin dimana f dikenal adalah (0, 0), (0, 1), (1, 0), dan (1, 1), maka formula interpolasi untuk menyederhanakan
...(2.5)
2.3.2. Image Enhancement
Berdasarkan Kulkarni (2001, p9), setelah digital image diperoleh, tahapan selanjutnya adalah image enhancement yang termasuk dalam tahap prepocessing, image enhancement menyangkut langkah-langkah untuk meningkatkan kualitas image untuk mendukung tahapan selanjutnya. Tujuan dari image enhancement ini secara teknis untuk menghilangkan noise, memperhalus
14 1) Thresholding
Thresholding adalah proses untuk mengelompokkan semua piksel pada
citra dengan nilai tertentu menjadi dua bagian dengan nilai gray level yang telah ditentukan.
Pembuatan citra biner adalah salah satu bentuk thresholding dengan nilai 0 dan 1, yaitu melakukan perubahan semua nilai piksel yang lebih besar atau sama dengan nilai ambang menjadi 1 dan semua nilai piksel yang lebih kecil dari nilai ambang menjadi 0. Pada umumnya ada 2 (dua) jenis Thresholding yang sering di gunakan yaitu : Thresholding tunggal dan Thresholding ganda. Untuk Thresholding tunggal, dapat dilihat melalui fungsi berikut :
{ ...(2.6)
Atau
{ ...(2.7)
Sedangkan untuk thresholding ganda, dapat dilihat melalui fungsi berikut :
{ ...(2.8)
Atau
{ ...(2.9)
Nilai Thresholding (T) dapat di peroleh dengan berbagai cara, salah satu caranya adalah dengan melakukan perhitungan sederhana, dimana nilai rata-rata jumlah piksel yang memiliki nilai dibawah T sama dengan nilai rata-rata jumlah
Hak Cipta © milik UPN "Veteran" Jatim :
piksel yang memiliki nilai diatas T. Untuk perhitungan ini, nilai T yang didapat untuk gambar yang memiliki histogram yang telah ter-equalize adalah berkisar antara 127 dan 128. Nilai dari maksimum T adalah nilai tertinggi dari system warna yang digunakan dan nilai minimum dari T adalah nilai terendah dari system warna yang digunakan. Untuk 256 graylevel maka nilai tertinggi T adalah 255 dan nilai terendahnya adalah 0.
2.3.3. Image Segmentaion
Menurut penjelasan Shapiro dan Stockman (2001, p279), image segmentation merupakan partisi atau pembagian suatu image menjadi sejumlah
region (daerah) yang membangun image tersebut. Segmentation ini dilakukan
dengan tujuan:
o untuk membagi image menjadi bagian-bagian untuk analisis lebih
lanjut, artinya suatu lingkungan menjadi lebih terkendali sehingga proses segmentasi hanya mengambil bagian yang ingin dianalisis saja.
o melakukan perubahan representasi, pixel-pixel dari image harus
disusun dalam unit yang lebih tinggi yang lebih berarti atau lebih efisien untuk analisis lebih lanjut.
Region suatu image berdasarkan Jain, Kasturi dan Schunck (1995, p73)
16
bagian objek. Supaya suatu image dapat diartikan dengan benar, maka harus dibagi menjadi region-region yang berhubungan dengan objek atau bagian dari objek.
Salah satu teknik segmentasi adalah sebagai berikut : 1) Edge based segmentation
Pendekatan ini melakukan segmentasi dengan mencari pixel-pixel yang berada pada batas region. Pixel-pixel ini disebut edge (garis tepi), dapat ditemukan dengan melihat pixel-pixel tetangga. Karena pixel-pixel batas ada di tepi, dan region pada dua sisi dari batas mungkin memiliki nilai keabuan yang berbeda, batas region dapat ditemukan dengan mengukur perbedaan antara pixel-pixel yang bersebelahan. Dasar yang sering digunakan untuk menemukan edge
adalah sifat intensitas, walaupun sifat turunan seperti tekstur dan motion juga bisa digunakan. (Jain, Kasturi dan Schunck, 1995, p75)
Menurut Jain, Kasturi dan Schunck (1995, p140), edge adalah perubahan lokal yang mencolok pada intensitas image, biasanya dihubungkan dengan diskontinuitas pada intensitas image atau pada turunan pertama intensitas
image. Teknik-teknik yang digunakan dalam mendeteksi edge sering
dibedakan berdasarkan operator dari edge detector yang digunakan. Edge detector adalah suatu algoritma yang menghasilkan sejumlah edge dari suatu
image. (Jain, Kasturi dan Schunck, 1995, p143) Edge detector ini akan melakukan
filtering pada image dengan operator tertentu.
Filter image adalah program yang menerapkan metode atau algoritma
tertentu di dalam sebuah image. Filter Sobel adalah termasuk filter image. Filter
Hak Cipta © milik UPN "Veteran" Jatim :
Sobel merupakan algoritma Sobel edge detection di dalam image. Operasi filter ini akan bekerja mendeteksi semua piksel image, mencari batasan warna antara piksel didalam image. Batasan warna yang dimaksud disini adalah perbedaan nilai warna di tepi antara kelompok warna satu dengan yang lain. Selisih perbedaan nilai warna ini yang kemudian yang akan dipertimbagkan sebagai piksel-piksel tepi. Kumpulan piksel ini akan membentuk sutau garis atau edge. Di dalam operasi filter Sobel tidak hanya memperhitugkan nilai warna dari piksel yang diperiksa, akan tetapi juga memperhitugkan nilai piksel sekitar.
Algoritma Sobel
Algoritma Sobel merupakan salah satu pengembangan dari teknik edge detection sebelumnya, juga pengembangan dari operator Prewit. Algoritma ini
18
Gambar 2.1 Matrik 3x3 pada area image
Didefenisikan Gy sebagai arah penelusuran secara vertical :
...(2.10)
...(2.11) dan Gx sebagai penulusuran arah secara horizontal :
...(2.12)
...(2.13) definisi menggunakan nilai mutlak diberikan :
| | | |...(2.14) Membandingkan area diatas dari persamaan (2.1) kita lihat bahwa Gy adalah berbeda antara baris pertama dan ketiga, dimana elemen terdekat aij yakni (a1 dan a5) lebih besar dua kali dibanding nilai yang disekelilignya (hal ini berdasarkan intusi wilayah/area 0 juga pada persamaan (2.2), Gx adalah berbeda antara kolom a3 dan a7. Gx adalah arah dari x dan Gy adalah merupakan arah dari y. persamaan dari (2.1) dan (2.2) dapat diimplementasikan dari operasi sobel didapat nilai hasil dari persamaan (2.3). Teknik spatial filtering menggunakan lagi sebuah matrik yang dinamakan mask. Ukuran
matrik mask sama besar dengan matrik piksel yaitu N x N. Didalam mask ini intinya disimpan jenis operasi yang akan dilakukan terhadap matrik piksel,
Hak Cipta © milik UPN "Veteran" Jatim :
akan tetapi tidak semua filter spatial filtering menggunakan mask untuk menyimpan operasinya. Sobel operator diterapkan dalam dua buah mask, untuk itu perlu diperhatiakn terlebih dahulu
Gambar 2.2 mask vertical Gambar 2.3 mask horizontal
Mask pertama yaitu mask (a) digunakan untuk mengitung selisih titik pada sisi vertical sehingga dihasilkan titik penelusuran arah vertical. Mask kedua yaitu mask (b) digunakan untuk menghitung selisih titik pada sisi horizontal sehingga dihasilkan titik hasil penelusuran arah horizontal.
Hasil akhir filter operator sobel adalah ditemukannya beberapa piksel dengan intensitas yang lebih besar atau tajam. Dan juga ukuran tepi objek yang jauh lebih besar dari ukuran sebelumnya. Keadaan ini dikarenakan titik-titik yang lebih dekat dengan titik tengah (terperiksa) diberi harga yang lebih dominan dalam perhitungan. Perhatikan gambar 2.4, terbukti pada awalnya intensitas piksel image mempunyai range intensitas (nomor warna) antara 0
20
Edge atau garis di tepi objek terlihat lebih terang dari sebelumnya.
Warna grayscale merupakan perpaduan warna dari dua warna dominan, yaitu perpaduan antara warna minimum dan maksimum. Perpaduan warna yang dimaksud disebut sebagai warna medium atau setengah terang atau warna menegah. Bila image menggunakan perpaduan antara warna hitam dan putih, maka warna yang demikian dikenal dengan sebutan warna medium gray atau grayscale. Dengan demikian setiap piksel yang dihasilkan akan disesuaikan
dengan set warna medium ini. Set warna ini dimulai dari warna hitam sebagai warna minimum dan naik secara perlahan-lahan menjadi lebih terang dari sebelumnya sampai pada warna maksimal yaitu berwarna. Bila edge yang ditemukan merupakan sekumpulan piksel signifikan yang membentuk objek image, maka warna piksel tersebut akan dipertegas kembali, artinya piksel ini
akan diperbesar intensitasnya sehingga warna edge ini akan tampak jelas. Keadaan edge yang demikian nantinya akan memeperlihatkan suatu objek dalam image.
Gambar 2.4 Sobel edge detection
Hak Cipta © milik UPN "Veteran" Jatim :
Pada model 256 warna, intensitas warna untuk setiap piksel mempunyai variasi berkisar antara 0 sampai 255. Di dalam operasi filter sobel, setiap komponen warna RGB adalah merupakan komponen-komponen warna dengan intensitas warna medium masing-masing yaitu 128. Untuk mendapatkan
intensitas warna medium dimasing-masing piksel, maka ditambahkannya
intensitas warna medium ini ke dalam intensitas warna setiap piksel, akan
tetapi intensitas warna tetap berada di dalam lingkup range warna antara 0 sampai 255. Bila intensitas warna piksel dimisalkan adalah 4, maka intensitas warna piksel tersebut menjadi : 4 + 128 = 132
Gambar 2.5 Medium warna piksel image baru
Ternyata nilai 132 masih dibawah lingkup intensitas warna maksimum yaitu 255. Apabila nilai yang didapat melebihi 255, maka piksel tersebut akan tetapi mempunyai intensitas warna 255. Intensitas piksel pada mode 256 warna sebenarnya tidak lagi menunjukkan intensitas warna piksel tersebut, akan tetapi sebanarnya menunjukkan nomor warna yang dipilih pada sebuah tabel berukuran 256.
2.3.4. Operasi pada Binary Image
Binary Image diperoleh dengan cara melakukan threshoding pada
Grayscale Image. Pemrosesan Binary Image ini memegang peranan yang
22
Masing-masing tahapan proses dalam Computer Vision dapat memanfaatkan keunggulan operasi pada Binary Image. Keunggulan dari proses pada Binary Image adalah algoritma yang mudah dimengerti, lebih cepat dari pemrosesan pada
gambar grayscale atau warna, dan memerlukan memory dan pemrosesan yang lebih sedikit. Beberapa teori yang berhubungan dengan proses pada Binary Image antara lain :
1) Operasi morfologi (Morphology Operation)
Pengolahan citra secara morfologi adalah alat untuk mengekstrak atau memodifikasi informasi pada bentuk dan struktur dari objek di dalam citra (Daugherty, 2009). Operator morfologi yang umum digunakan adalah erosi dan dilasi, sedangkan operator lainnya adalah pengembangan dari keduanya.
a) Erosion
Erosi adalah salah satu operasi dasar dalam pemrosesan citra secara morfologi. Erosi adalah sebuah operasi yang meningkatkan ukuran dari latar belakang (dan mengikis objek latar depan) pada citra biner (Dougherty, 2009).
Dengan memisalkan A sebagai objek pada citra masukan, B sebagai elemen terstruktur, dan C sebagai objek pada citra keluaran hasil erosi, maka proses erosi dapat dinotasikan dengan:
...(2.15) Erosi dilakukan dengan bantuan elemen terstruktur. Elemen terstruktur membantu menentukan pixel tetangga yang akan ditelusuri dengan proses erosi. Elemen terstruktur yang sering digunakan adalah 4-konektivitas dan 8-konektivitas.
Hak Cipta © milik UPN "Veteran" Jatim :
Gambar 2.6 Elemen terstruktur 4- dan 8- konektivitas
Erosi memiliki karakteristik :
Erosi pada umunya memperkecil ukuran dari objek dan menghilangkan elemen atau anomali kecil dengan mengurangi objek dengan radius yang lebih kecil dari ukuran elemen terstruktur.
Dengan citra binner erosi menghilangkan objek yang lebih kecil dari elemen terstruktur dan mengiliminasi pixel parameter dari objek citra yang lebih besar.
Algoritma yang dilakukan pada erosi adalah sebagai berikut:
o Posisikan elemen terstruktur dibagian atas (menutupi) tiap-tiap piksel dari
citra masukan hingga titik pusat dari elemen terstruktur bertepatan dengan posisi piksel masukan.
o Jika paling sedikit satu piksel pada elemen terstruktur bertemu dengan
24
Gambar 2.7 Erosi dengan menggunakan elemen terstruktur 8-konektivitas
Dengan begitu, piksel latar belakang pada citra masukan akan menjadi latar belakang pada citra keluaran dan juga piksel latar depan pada citra masukan akan menjadi latar belakang pada citra keluaran
b) Dilation
Dilasi adalah salah satu operasi dasar dalam morfologi matematika. Pada citra biner, dilasi adalah sebuah operasi yang mengekspansi atau memperbesar ukuran dari objek latar depan (Daugherty, 2009). Biasanya objek pada citra dilambangkan dengan piksel putih, walaupun untuk beberapa implementasi objek pada citra dilambangkan dengan piksel hitam. Konektivitas antar piksel pusat dengan tetangganya dibuat berdasarkan elemen terstruktur yang terdefini. Memisalkan A sebagai objek pada citra masukan, B sebagai elemen terstruktur, dan C sebagai objek citra keluaran hasil dilasi, maka proses dilasi dapat dinotasikan sebagai :
...(2.16)
Dilasi memiliki karakteristik :
Hak Cipta © milik UPN "Veteran" Jatim :
Dilasi umunya memperbesar ukuran dari objek, mengisi lubang dan area yang rusak, dan menghubungkan area yang dipisahkan oleh jarak yang lebih kecil dari ukuran elemen terstruktur
Dengan citra biner, dilasi menghubungkan area yang dipisahkan oleh jarak yang lebih kecil dari elemen terstruktur dan menambahkan piksel dari setiap objek citra.
Algoritma yang dilakukan pada dilasi adalah sebagai berikut :
o Posisikan elemen terstruktur di bagian atas (menutupi) tiap-tiap piksel dari
citra masukan hingga titik pusat dari elemen terstruktur bertepatan dengan posisi piksel masukan.
o Jika paling sedikit satu piksel pada elemen terstruktur bertemu dengan
piksel latar depan dibawahnya ( yang ditutupinya), maka tetapkan piksel keluaran pada citra baru kenilai latar depan. Begitu juga jika bertemu dengan piksel latar belakang, maka tetapkan piksel keluaran pada citra baru ke nilai latar depan.
Piksel latar depan pada citra masukan akan menjadi latar depan pada citra keluaran dan juga pada piksel latar belakang pada citra masukan akan menjadi latar depan pada citra keluaran.
26
c) Opening and Closing
Operator dasar morfologis dapat dibuat operator baru yang merupakan kombinasi dari keduanya. Pertama adalah operator opening, yaitu operator yang terdiri dari rangkaian operasi operator erosion diikuti oleh dilation, yang diformulasikan sebagai :
...(2.17) Operator closing, yaitu operator yang terdiri dari rangkaian operasi operator dilation diikuti oleh erosion, yang diformulasikan sebagai:
...(2.18)
Operator opening akan menghilangkan pulau-pulau kecil, puncak yang tajam dan garis yang tipis. Sedangkan operator closing akan menyatukan (fuse) patahan-patahan yang sempit, menutup lubang-lubang kecil dan menghaluskan kontur. Jika kita menggunakan operator ini dengan tepat, yaitu diawali dengan operator opening dan selanjutnya diikuti dengan operator closing, maka akan diperoleh sebuah operator baru yang akan menghilangkan derau, yang dikenal sebgai salt and papper noise removal.
Gambar 2.9 Penggunaan operator morfologis untuk menghilangkan derau
Penebalan pixel putih pada plat nomer dapat dilakukan dengan memodifikasi logika edge detection pada morfologi matematis, yakni dengan menerapkan proses opening, closing dan extraksi (irisan) dari keduanya.
Hak Cipta © milik UPN "Veteran" Jatim :
Gambar 2.10 a.image awal b.closing c.irisan dari a dan b
2.4. Flowchart
Flowchart adalah representasi grafik dari langkah-langkah yang harus diikuti dalam menyelesaikan suatu permasalahan yang terdiri atas sekumpulan simbol, dimana masing-masing simbol merepresentasikan suatu kegiatan tertentu. Flowchart diawali dengan penerimaan input, pemrosesan input, dan diakhiri dengan penampilan output.
Gambar 2.11 siklus I-P-O
Penerimaan input, pemrosesan input, dan penampilan output merupakan kegiatan utama yang membentuk siklus dari semua kegiatan yang dilakukan oleh komputer. Siklus ini disebut dengan siklus I-P-O (Input-Proses-Output).
2.4.1. Simbol-simbol flowchart
28 1) Simbol input
Simbol input digambarkan dengan bangun jajar genjang. Simbol ini digunakan untuk melambangkan kegiatan penerimaan input. Dalam simbol ini, kita dapat menuliskan input yang diperlukan pada suatu waktu secara satu per satu maupun secara keseluruhan, tetapi biasanya input yang dimasukkan pada suatu waktu, dituliskan bersamaan secara keseluruhan dengan tujuan efisiensi ruang gambar.
Gambar 2.12 simbol input 2) Simbol proses
Simbol proses digambarkan dengan bangun persegi panjang. Simbol ini digunakan untuk melambangkan kegiatan pemrosesan input. Dalam simbol ini, kita dapat menuliskan operasi-operasi yang dikenakan pada input, maupun operasi lainnya. Sama seperti aturan pada simbol input, penulisan dapat dilakukan secara satu per satu maupun secara keseluruhan.
Gambar 2.13 simbol proses 3) Simbol output
Simbol output digambarkan dengan bangun seperti Gambar 2.13. Simbol ini digunakan untuk melambangkan kegiatan penampilan output. Dalam simbol ini, kita dapat menuliskan semua output yang harus ditampilkan oleh program.
Hak Cipta © milik UPN "Veteran" Jatim :
Sama seperti aturan pada dua simbol sebelumnya, penulisan dapat dilakukan secara satu per satu maupun secara keseluruhan.
Gambar 2.14 simbol output / display 4) Simbol percabangan
Simbol percabangan digambarkan dengan bangun belah ketupat. Simbol ini digunakan untuk melambangkan percabangan, yaitu pemeriksaan terhadap suatu kondisi. Dalam simbol ini, kita menuliskan keadaan yang harus dipenuhi. Hasil dari pemeriksaan dalam simbol ini adalah YES atau NO. Jika pemeriksaan menghasilkan keadaan benar, maka jalur yang harus dipilih adalah jalur yang berlabel Yes, sedangkan jika pemeriksaan menghasilkan keadaan salah, maka jalur yang harus dipilih adalah jalur yang berlabel No. Berbeda dengan aturan pada tiga simbol sebelumnya, penulisan keadaan dilakukan secara satu per satu.
Gambar 2.15 simbol percabangan 5) Simbol prosedur
30
simbol ini, kita cukup menuliskan nama prosedurnya saja, jadi sama seperti jika kita melakukan pemanggilan suatu prosedur pada program utama (main program). Penulisan nama prosedur dilakukan secara satu per satu.
Gambar 2.16 simbol prosedur
6) Simbol garis alir
Simbol garis alir atau flow lines digambarkan dengan anak panah. simbol ini digunakan untuk menghubungkan setiap langkah dalam flowchart dan menunjukkan kemana arah aliran diagram. Anak panah ini harus mempunyai arah dari kiri ke kanan atau dari atas ke bawah. Anak panah ini juga dapat diberi label, khususnya jika keluar dari simbol percabangan.
Gambar 2.17 simbol garis alir
7) Simbol terminator
Simbol terminator digambarkan dengan bangun seperti Gambar 2.17. Terminator berfungsi untuk menandai awal dan akhir dari suatu flowchart. Simbol ini biasanya diberi label START untuk menandai awal dari flowchart, dan label STOP untuk menandai akhir dari flowchart. Jadi dalam sebuah flowchart pasti
terdapat sepasang terminator yaitu terminator start dan stop.
Hak Cipta © milik UPN "Veteran" Jatim :
Gambar 2.18 simbol terminator 8) Simbol konektor
Simbol konektor digunakan untuk menghubungkan suatu langkah dengan langkah lain dalam sebuah flowchart dengan keadaan on page atau off page. On page connector digunakan untuk menghubungkan suatu langkah dengan langkah
lain dari flowchart dalam satu halaman, sedangkan off page connector digunakan untuk menghubungkan suatu langkah dengan langkah lain dari flowchart dalam halaman yang berbeda. Connector ini biasanya dipakai saat media yang kita gunakan untuk menggambar flowchart tidak cukup luas untuk memuat gambar secara utuh, jadi perlu dipisahpisahkan. Dalam sepasang connector biasanya diberi label tertentu yang sama agar lebih mudah diketahui pasangannya.
Gambar 2.19 simbol On-Page Connector
32 9) Simbol komentar
Simbol komentar atau annotation digunakan untuk menuliskan komentar atau keterangan yang dirasa penting. Dalam simbol ini, kita dapat menuliskan komentar apapun dan sebanyak apapun,
Gambar 2.21 simbol komentar
Hak Cipta © milik UPN "Veteran" Jatim :
BAB III
ANALISIS DAN PERANCANGAN SISTEM
Pada bab ini akan dijelaskan mengenai proses pembuatan aplikasi teknik Lokalisasi Plat Nomor menggunakan Mofologi. Proses perancangan aplikasi dalam sub-bab ini akan dibagi menjadi beberapa tahap anatara lain : analisis, gambaran aplikasi secara umum, perancangan proses.
3.1 Analisis
Aplikasi untuk lokalisasi plat nomor kendaraan ini dibuat dengan menggunakan bahasa pemrograman visual basic (.net) dengan kompiler Microsoft visual studio 2010. Pencarian lokalisasi plat nomor dilakukan setelah gambar telah diambil melalui kamera digital dan nantinya akan diproses dengan morfologi. Sebelum sampai ke penerapan operasi morfologi untuk pencarian plat nomer, proses yang pertama adalah resize image. Proses resize image digunakan untuk mengecilkan gambar, karena ukuran gambar yang tertangkap kamera terlalu besar ukurannya maka akan dikecilkan menjadi ukuran 256 x 192 , kemudian proses selanjutnya akan threshold, yaitu sebuah proses pencarian garis ambang untuk memperoleh binary image. Setalah kedua proses tersebut selesai, maka akan dideteksi tepi dengan sobel filtering, selanjutnya pada operasi morfologi akan dicari letak dari plat nomor menggunakan penghitungan structuring element (SE). Proses yang terakhir dalam pembuatan aplikasi adalah
34
Pada pengambilan objek kendaraan, jarak kendaraan terhadap kamera kurang lebih berjarak 1 meter. Dengan posisi mobil lurus dengan posisi kamera agar nantinya objek plat nomor yang akan diproses menghasilkan hasil yang optimal.
3.2 Gambaran Aplikasi secara Umum
Gambar 3.1 Alur pemisahan gambar plat nomor dengan gambar asal Secara garis besar untuk mendapatkan posisi plat nomor kendaraan dan melakukan pemotongan pada plat nomor tersebut. Proses ini terdiri dari:
Hak Cipta © milik UPN "Veteran" Jatim :
1) Image Enhancement :
Resize Image Threshold Sobel Filtering
2) Pencarian Posisi Plat Dengan Operasi Morfologi 3) Pemotongan Plat
Input diperoleh dari pengambilan gambar (image) melalui kamera digital, berupa gambar depan mobil yang mengandung plat nomor (Gambar 3.2). Gambar ini yang menjadi input awal bagi proses-proses selanjutnya.
Gambar 3.2 Gambar input dari kamera digital
Pada implementasinya aplikasi ini pengambilan gambar sample menggunakan kamera digital secara manual. Gambar sample yang diperoleh ini akan dtransfer ke komputer dengan format file JPEG dan ukuran 640 x 480 pixel. 3.3 Perancangan proses
36
3.3.1 Resize Image
Resize Image adalah tahap awal untuk mengecilkan ukuran image yang akan
diproses. Image tersebut akan dikecilkan menjadi ukuran 256 x 192.
Gambar 3.3 Flowchart Resize Image
Langkah awal pada flowchart resize image adalah menetukan ukuran resize.
Kemudian prosesnya dimulai dari width terlebih dahulu untuk dilakukan penghitungan
piksel RGB. Setelah itu akan di lakukan proses yang ke2 yaitu high untuk melakukan Start
Image
Ambil Width dan High
Get piksel image resize
Set pixel Image resize
Terpenuhi Width & High
Tidak
End YA
Image Resize
Hak Cipta © milik UPN "Veteran" Jatim :
penghitungan piksel RGB. Proses tersebut akan terus berlangsung sampai kondisi 256 x
192 terpenuhi dan tidak ada lagi piksel RGB yang akan dihitung.
3.3.2 Threshold
Thresholding merupakan proses pencarian nilai binner, dari gambar
berwana menjadi hitam putih.
Gambar 3.4 Flowchart Threshold
Untuk proses threshold ini sangat dibutuhkan, ini akan sangat berarti dalam melakukan pembacaan pada sebuah citra objek. Karena dalam sistem komputer yang dapat diproses hanya piksel hitam dan putih maka dalam menentukan piksel
Start
>128 Ambil Width
dan High Image Resize
Piksel Hitam Piksel Putih
Terpenuhi Width & High
Cetak Piksel
End Ya
Tidak
Tidak Ya
38
RGB jika sebuah objek memiliki piksel >128 maka akan diindikasi memiliki piksel hitam dan jika sebaliknya maka objek akan menjadi piksel putih.
3.3.3 Sobel Filtering
Pada proses ini akan dideteksi tepi. Deteksi tepi yang digunakan adalah sobel.
Gambar 3.5 Flowchart Sobel filtering
Menggunakan sobel maka pada image akan terlihat jelas garis-garis tepi pada objek image. Matriks yang digunakan adalah 3x3 dan proses dari penghitungannya juga dimualai dari widht kemudian high. Proses sobel ini,
Start Tetapkan Nilai Matrik Ambil Width dan High Hitung piksel Horizontal dan Vertikal
Hasil = piksel horisontal +
vertikal
hasil<128
piksel Hitam piksel Putih
Cetak piksel
Tidak Ya
End Terpenuhi Width & High
Ya Tidak Image Threshold Image Sobel
Hak Cipta © milik UPN "Veteran" Jatim :
dilakukan dua penghitungan yaitu vertikal dan horizontal. Setelah mendapatkan piksel vertikal dan horizontal, image gambar akan dirubah kedalam threshold. Jika terdapat garis pada image akan diberi warna hitam, namun jika daerah image tidak terdeteksi garis, akan diberi warna putih.
3.3.4 Operasi Morfologi
Setelah diperoleh Binary Image langkah selanjutnya adalah pencarian lokasi plat nomor dalam image. Pencarian lokasi plat nomor ini dilakukan dengan memanfaatkan fitur plat nomor yaitu : “Plat Nomor terdiri dari deretan karakter alfanumerik, karakter terdiri dari objek tipis berupa garis dan karakter pada plat umumnya memiliki perbedaan intensitas yang signifikan dengan latar belakangnya”.
Pada dasarnya langkah ini dilakukan untuk menghilangkan noise pada image dan menebalkan daerah plat nomor. Penebalan plat nomor dimaksudkan
agar sistem dapat menemukan lokasi plat nomor (proses selanjutnya). Operasi dasar yang dimiliki morfologi adalah dilation dan erosion. Dari operasi dasar ini akan diperoleh operasi lanjutan yaitu opening dan closing. Opening menerapkan operasi erosion terlebih dahulu kemudian melakukan operasi dilation. Sebaliknya, closing menerapkan operasi dilation terlebih dahulu kemudian melakukan operasi
40
Operasi opening menggunakan structuring element 1x1 piksel. Operasi ini bertugas menghilangkan noise pada image. Sedangkan operasi closing juga menggunakan element 1x1 piksel untuk mempertebal piksel hitam pada bagian plat nomor.
Gambar 3.6 Opening Gambar 3.7 Closing
Pada flowchart gambar 3.6 dan 3.7 terlihat jelas alur dari opening dan closing. Opening dan closing sangat diperlukan untuk ke akurasian dalam
pendeteksian plat nomor. Karena proses yang dilakukan adalah penebelan daerah plat nomor dan menghilangkan noise pada image yang sudah di deteksi tepi menggunakan sobel.
start
erosion
dilation
end
start
dilation
erosion
end
Hak Cipta © milik UPN "Veteran" Jatim :
Gambar 3.8 Erosion dengan SE 1x1 Gambar 3.9 Dilation dengan SE 1x1
Pada proses Erosion akan dilakukan penebalan nilai hitam yaitu yang mepunyai piksel 0. Penebelan tersebut didasarkan pada proses yang sebelumnya sudah terdeteksi garis tepi oleh sobel filtering.
Pada dilation adalah sebaliknya dari proses erosion, yang akan ditebalkan adalah piksel yang berwana putih yaitu yang piksel 255.
Start
Ambil Width dan High
Jika pixel bernilai hitam Tebalkan Nilai pixel yang berwarna hitam Cetak Nilai hitam Terpenuhi Width & High
End Ya Ya Tidak Tidak Start Ambil Width dan High
Jika pixel bernilai Putih Tebalkan Nilai pixel yang berwarna Putih Cetak Nilai Putih Terpenuhi Width & High
End Ya
Ya Tidak
42 3.3.5 Pemotongan Plat
Pemotongan gambar plat nomor berfungsi untuk memotong (crop) plat nomor dari image. Proses sebelumnya untuk menghasilkan pembekakan piksel hitam pada daerah plat nomor. Kemudian dibuat sebuah template berukuran 183x35 pixel untuk mencari letak plat nomor.
Template ini akan scan image untuk mencari jumlah piksel hitam terbanyak dalam ukurannya dan koordinat yang memiliki jumlah piksel hitam terbanyak dianggap sebagai koordinat plat nomor.
Gambar 3.10 Proses pencarian plat nomor
Hak Cipta © milik UPN "Veteran" Jatim :
Gambar 3.11 Flowchart pemotongan plat
Pada flowchart gambar 3.11 dijelaskan bahwa jika image banyak terdapat piksel berwarna hitam maka akan dilakukan pencarian plat dengan posisi L terbalik, akan tetapi sebelum dilakukan proses L terbalik, maka terlebih dahulu akan disesuaikan dengan pencarian piksel warna hitam dengan ukuran 44 x 18. setelah semua kondisi terpenuhi maka plat nomor akan di potong sesuai ukuran tersebut.
Start
Image
Ambil Width dan High
Get piksel image resize
Set pixel Image resize
Terpenuhi Width & High
Tidak
End YA
44
BAB IV
IMPLEMENTASI
Pada bab IV ini akan dijelaskan mengenai implementasi dari rancangan program yang telah dibuat pada bab III. Bagian implementasi aplikasi kali ini meliputi : lingkungan implementasi, implementasi data, implementasi antarmuka dan implementasi proses.
4.1 Lingkungan Implementasi
Pada bagian ini akan dijelaskan mengenai perangkat keras dan perangkat lunak yang digunakan pada implementasi aplikasi ini.
Perankat Keras :
- Komputer dengan processor Intel (R) Core(TM)2Duo CPU P8700 2,5GHz
- RAM (2048MB)
- VGA Card share memory up to 1274 MegaByte - Monitor 16”
- Hard Disk 320 GigaByte
Perankat Lunak :
- Sistem operasi microsoft windows 7 Home Premium (6.1, Build 7601) - Microsoft Visual Studio 2010 (.Net)
- File image JPEG, BMP.
Hak Cipta © milik UPN "Veteran" Jatim :
4.2 Implementasi Data
Seperti yang telah dijelaskan secara konseptual pada Bab 3, maka data yang akan diimplementasikan pada aplikasi ini berupa gambar-gambar mobil yang telah diambil melalui kamera digital yang nantimya akan diproses melalui beberapa tahapan, untuk hanya diambil titik plat nomor mobil. Kemudian nanti hasilnya berupa potongan gambar plat nomor mobil yang sebelumnya telah diproses.
4.3 Implementasi Antarmuka
Pada implementasi antarmuka ini digunakan untuk memudahkan user yang akan melakukan proses lokalisasi plat nomor dengan menggunakan aplikasi yang telah dibuat. Adapun gambaran dari antar muka aplikasi sebagai berikut :
Pada awal kita menjalankan aplikasi, maka gambar aplikasi dibawah akan terlihat. Terdapat dua tombol menu pilihan pada home program application plate location, sebelah kiri tombol plate location dan sebelah kanan tombol about me.
46
Tombol plate location berfungsi untuk menampilkan form uji coba plate location, Sedangkan tombol about me berfungsi untuk menampilkan form data
diri. Pada tampilan awal juga terdapat potongan plat nomor, itu hanya dimaksudkan utuk desain tampilan awal saja dan pada tampilan home awal tidak terdapat menu minimize atau maximaze agar tampilan awal home tetap pada ukuran sebenarnya karena jika nantinya aplikasi di maximaze desain aplikasi akan berubah tidak beraturan. Tampilan awal aplikasi ini akan seperti tampak pada gambar 4.1, aplikasi telah disusun sedemikian rupa dengan tujuan dan dapat diharapkan mempermudah bagi pengguna dan juga mudah dipahami dalam pengoprasiannya, untuk tampilan pada tombol plate location akan menampilkan form plate location seperti tampak pada gambar 4.2 dengan desain berwarna hijau.
Gambar 4.2 Tampilan Menu Plate Location
Hak Cipta © milik UPN "Veteran" Jatim :
Pada menu plate location terdapat tiga tombol yaitu tombol load image, tombol process, dan tombol save. Selain itu juga terdapat 6 kolom yang mempunyai fungsi berbeda-beda. Kolom pertama dengan nama resize berfungsi untuk menampilakan image yang sudah resize, akan tetapi data image sudah di-upload kedalam aplikasi untuk diproses. Kolom kedua adalah kolom dengan nama
thershold, yaitu sebuah kolom yang menampilkan gambar hitam putih dari image.
Selanjutnya pada kolom ketiga diberi nama sobel filtering yaitu sebuah kolom yang menampilkan garis tepi pada image yang sudah di threshold. Kolom ke empat dan kelima ini merupakan inti dari pembuatan aplikasi yaitu teknik operasi morfologi, kolom kelima dengan nama opening dan kolom ke enam dengan nama closing. Kolom terakhir adalah hasil pemotongan gambar plat nomor.
48
Tombol load image pada tampilan menu plate location, berfungsi untuk mengambil image yang sudah tersimpan dikomputer. Image sebelumnya sudah diambil dengan menggunakan kamera digital dan kemudian disimpan dikomputer. Setelah menekan tombol load image akan tampil jendela direktori komputer, dan kemudian cari letak image tersebut kemudian klik dua kali pada image.
Gambar 4.4 Tampilan Load Image
Image yang diambil pada load image adalah file image yang berformat
JPEG atau BMP. Untuk ukuran gambar yang diambil harus berukuran lansdcape, hal demikian dikarenakan program yang dibuat menggunakan ukuran landscape. Pada proses load image, program hanya bisa menjalankan perintah open atau cancel pada menu direktori komputer. Menu tombol aplikasi lainnya tidak bisa
dijalankan sebelum proses direktori load image selesai dijalankan.
Hak Cipta © milik UPN "Veteran" Jatim :
Tombol process pada menu plate location berfungsi untuk menjalankan tahap pemrosesan aplikasi lokalisasi plat nomor. Image yang akan diproses terlebih dahulu tampil pada kolom resize.
Gambar 4.5 Menu Plate Location Setelah Image Upload
Pada gambar 4.5 terlihat jelas kolom resize sudah ada image yang akan siap untuk diproses. Menjalankan tombol process jika pada kolom resize belum terdapat image maka akan muncul sebuah pesan peringatan.
50
Setelah tombol process dijalankan dengan image yang sudah load diaplikasi maka tahapan selanjutnya akan dilakukan proses threshold kemudian sobel filtering, setelah itu proses opening dan closing yaitu proses penebalan
piksel lokasi plat nomor pada image, yang kemudian akan di-crop diambil plat nomornya saja.
Gambar 4.7 Tombol Process dijalankan terdapat Image Upload.
Pada tombol save, berfungsi untuk menyimpan hasil dari pemotongan plat nomor. Penyimpanan plat nomor berdasarkan image crop dari kolom crop. Hasil penyimpanan akan disimpan didrive C dengan nama folder TA. Jadi semua data yang tersimpan dari pemotongan plat nomor akan disimpan di folder tersebut. Namun jika tidak terdapat image di kolom crop maka tidak akan tersimpan data. Nama file image yang tersimpan sesuai dengan nama file image sebelum di-upload.
Hak Cipta © milik UPN "Veteran" Jatim :
Pada gambar 4.8 menunjukan muncul sebuah pesan yang bertuliskan success, hal tersebut berarti image hasil crop plat nomor sudah berhasil disimpan
di Drive C komputer dengan nama image.
Gambar 4.8 Tombol Save dijalankan.
Pada menu plate location juga terdapat form matrik, jika kita mengarahkan kursor dan mengklik dua kali pada kolom yang berisi image. Form matrik bertujuan untuk menampilkan nilai piksel perhitungan dari tiap-tiap proses.
52
Matrik yang ditampilkan hanya bernilai 0 dan 255. Nilai 0 menandakan piksel yang berwarna hitam, sedangkan nilai 255 piksel yang berwarna putih. Lebar matrik sampai 256 baris dan 192 kolom. Hal demikian karena foto yang di-resize ukuranya adalah 256 x 192.
Menu yang terakhir dalam pembahsaan antar muka adalah menu about me. Pada menu ini jika kita mengklik tombol about me pada form awal home, akan muncul biodata diri. Seperti terlihat pada gambar 4.10.
Gambar 4.10 Tampilan menu About Me
Pada form ini hanya berisi data diri dari pembuat aplikasi, dan juga terdapat foto diri.
Hak Cipta © milik UPN "Veteran" Jatim :
4.4 Implementasi Proses
Bagian implementasi proses ini menjelaskan mengenai implementasi proses-proses sesuai dengan konsep yang telah dibuat pada bab 3. Seperti yang telah digambarkan dalam flowchart.
4.4.1 Proses Resize Image
Pada proses resize image ini, yaitu merupakan sebuah proses yang bertujuan untuk mengecilkan image. Ukuran dari resize image ini adalah 256 x 192. Adapun perhitungan dari proses resize image, sebagai berikut codenya :
54 4.4.2 Proses Threshold
Pada proses threshold ini, image yang berwarna citra RGB akan dirubah menjadi image hitam putih. Piksel image akan bernilai 0 hitam dan 255 putih. Hal demikian dilakukan untuk mempermudah proses pendeteksian tepi.
Gambar 4.12 Source Code proses Threshold
Proses ini didasarkan pada pencarian batas ambang. Batas ambang dari proses threshold ini adalah 128. Jika piksel image bernilai lebih dari 128 maka piksel image bernilai 255 putih, sedangkan jika dibawah batas ambang maka piksel image akan bernilai 0 hitam. Seperti yang terlihat pada gambar 4.12. 4.4.3 Proses Sobel filtering
Pada sobel filtering akan dilakukan proses deteksi tepi. Proses ini menggunakan matrik 3 x 3. Matrik yang digunakan dalam proses sobel terdapat dua yaitu matrik vertikal dan horisontal. Kedua matrik tersebut akan dihitung dengan piksel image. Dan kemudian hasil dari matrik horisontal dan vertikal akan dijumlahkan untuk mendapatkan nilai piksel image baru. Berikut adalah source code dari sobel filtering :
Hak Cipta © milik UPN "Veteran" Jatim :
Gambar 4.13 Source Code Sobel Filtering
Pada gambar 4.13 proses yang dilakukan sobel filtering akan dilakukan threshold untuk membuat image hitam putih, namun proses threshold berbeda
dengan yang pertama. Pada sobel filtering jika nilai hasil penjumlahan matrik kurang dari 128 batas ambang maka akan mendapat nilai piksel berwana putih 255, sebaliknya jika lebih besar dari batas ambang akan mendapat nilai piksel hitam. Proses sobel filte