• Tidak ada hasil yang ditemukan

BAB 3 ANALISIS DAN PERANCANGAN. negara misalnya untuk penegakkan hukum oleh polisi (police enforcement). Sistem ini

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 ANALISIS DAN PERANCANGAN. negara misalnya untuk penegakkan hukum oleh polisi (police enforcement). Sistem ini"

Copied!
26
0
0

Teks penuh

(1)

ANALISIS DAN PERANCANGAN

3.1 Analisis Kebutuhan User

Beberapa aplikasi pengenalan plat nomor sudah banyak digunakan di beberapa negara misalnya untuk penegakkan hukum oleh polisi (police enforcement). Sistem ini untuk di negara Jerman diberi nama TraffiCapture yang mulai digunakan pada tahun 2008. Negara Ukraina juga melakukan hal serupa yakni mengembangkan sistem yang diberi nama OLLI TECHNOLOGY oleh Departemen Inspeksi Lalu Lintas Negara. Negara Inggris juga telah melakukan penelitian untuk pengenalan plat nomor otomatis dan mulai digunakan sejak tahun 1997. (Wawrzyniak, H. K., 2002)

LPR pertama kali diciptakan pada tahun 1976 pada Cabang Polisi Pembangunan Ilmiah di Inggris. Sistem prototipe bekerja pada tahun 1979, untuk menghasilkan sistem industri, pertama di EMI Electronics, dan kemudian pada Sistem Pengenalan Komputer (CRS) di Wokingham, Inggris. Sistem percobaan awal dikerahkan di jalan A1 dan di Terowongan Dartford. Penangkapan pertama melalui deteksi mobil curian dibuat pada tahun 1981. (Sorin Draghici, 2004)

ALPR juga berkembang di negara Iran. Aplikasi ALPR di Negara ini dapat mendeteksi plat nomor kendaraan Iran yang mengandung huruf persia. Sistem ini diimplementasikan untuk TCT Company dan telah di tes pada 400 kendaraan di Iran. (A.Broumandnia, M., 2005)

Automated License Plate Recognition (ALPR) tumbuh dalam penerimaan di seluruh dunia, karena karakteristik peningkatan kinerja dan pengakuan dari manfaat yang diberikan. Dalam istilah sederhana, ALPR melibatkan penggunaan kamera khusus

(2)

dan perangkat lunak yang mengenali plat, menangkap gambar dari plat, dan menafsirkan karakter dari plat menjadi data yang kemudian dapat digunakan untuk satu atau lebih tujuan. (Nelson,L.J, 2007)

ALPR terus menunjukkan perkembangan dari tahun ke tahun di negara spanyol. Banyak orang melakukan riset untuk mendapatkan hasil ALPR yang lebih baik. Salah satu metode yang berkembang dalam membuat sistem ALPR adalah menggunakan OCR. (Juan J. Rodr´ıguez dan Jes´us Maudes, 2007)

Sistem ALPR juga banyak berkembang di India. ALPR dikembangkan dengan prinsip-prinsip matematika dan algoritma tertentu sehingga dapat mengatasi kemiringan gambar pada plat nomor yang diambil oleh kamera. Gambar yang semula miring membentuk sudut tertentu, dilakukan proses deskewing sehingga plat nomor dapat dideteksi. (Shishir Kumar, 2008) 

License Plate Recognition (LPR) dapat digunakan untuk menyimpan gambar yang diambil oleh kamera dan juga teks atau karakter pada plat nomor kendaraan. Sistem biasanya menggunakan pencahayaan inframerah untuk memungkinkan kamera untuk mengambil gambar. Teknologi LPR cenderung menjadi wilayah yang spesifik, karena variasi plat nomor kendaraan dari masing-masing daerah atau negara. (Federal Signal Public Safety System Corporation, 2008)

Seiring dengan perkembangannya, sistem ALPR bersama dengan OCR berkembang secara hampir bersamaan yang digunakan untuk Intelligent Transportation System (ITS) di berbagai negara termasuk di Indonesia. (Riza Prasetya Wicaksana, 2008)

(3)

Dari berbagai uraian tentang penelitian dan penggunaan pengenalan plat nomor kendaraan secara otomatis yang telah dilakukan oleh berbagai negara di dunia memang dibutuhkan dalam kehidupan saat ini.

3.2 Analisis Kebutuhan Sistem

Berdasarkan penjelasan mengenai penelitian-penelitian terdahulu mengenai ANPR maka dapat dikatakan bahwa sistem ANPR memang dibutuhkan dalam kehidupan saat ini. Menurut Liam Keilthy dalam Measuring ANPR System Performance pada tahun 2008, sistem ANPR akan dibutuhkan dalam berbagai bidang seperti:

1. Pengecekan kecepatan kendaraan

a. Berhubungan dengan kecepatan kendaraan dan sistem denda b. Rata-rata waktu perjalanan

2. Manajemen parkir

a. Masalah kehilangan tiket b. Masalah kehilangan kendaraan c. Masalah pencurian kendaraan d. Durasi pemantauan tetap e. Pendapatan audit

f. Akses parkir tanpa tangan (hands-free access) 3. Manajemen lalu lintas

a. Penentuan jalur yang sesuai bagi taksi dan bus b. Manajemen pembayaran bagi pelanggar lalu lintas c. Pencarian pelanggar lalu lintas

(4)

a. access control dan monitoring

b. Kontrol kepatuhan pengendara di jalan raya

3.3 Analisis Program Aplikasi

Dalam proses pengenalan karakter pada citra plat nomor, banyak ditemui masalah. Masalah yang ditemui itu diantaranya adalah deteksi tepi (edge detection) yang harus benar-benar tepat untuk menentukan letak plat nomor kendaraan roda empat, adanya noise pada citra plat nomor sehingga sulit dikenali, banyaknya jenis font dan style plat nomor kendaraan, serta pencahayaan yang cukup sehingga citra plat nomor dapat dikenali. Untuk masalah pencahayaan sudah dibatasi dalam pembatasan masalah bahwa diasumsikan mendapat cahaya yang cukup sehingga plat nomor dapat dikenali, sedangkan untuk jenis font dan style plat nomor yang diteliti menggunakan font dan style plat nomor kendaraan yang umum digunakan di Indonesia.

Adanya noise pada citra plat nomor kendaraan mengakibatkan karakter angka dan huruf yang ada pada plat nomor sulit dikenali. Untuk itu, diperlukan proses filtering untuk menghilangkan noise yang ada pada image.

Namun sebenarnya yang menjadi masalah utama dalam pembuatan program aplikasi ini adalah dalam melakukan deteksi tepi (edge detection) plat nomor kendaraan roda empat. Deteksi tepi plat nomor kendaraan harus benar-benar tepat sehingga karakter-karakter huruf dan angka yang ada pada plat nomor dapat dikenali.

Dalam analisis dan perancangan sistem program aplikasi ini, akan dijelaskan proses rancangan program pengenalan plat nomor kendaraan roda empat. Dimulai dari analisis program aplikasi yang akan dirancang, dilanjutkan dengan rancangan layar (user interface) untuk program aplikasi yang akan dibangun.

(5)

Diagram alir (flow chart) untuk program ini dapat dilihat di bawah ini. ya ya ya tidak tidak tidak         

Gambar 3.1 Flow Chart program

Input Citra Plat Nomor

Proses Preprocessing

Deteksi Kontur

Deteksi Persegi Panjang

sudut persegi  panjang < ‐45  atau >  45 derajat?  Pengenalan karakter pada plat Noise Filtering Ulangi proses menggunakan citra lain? Perbaiki sudut = 90 derajat

Persegi panjang memiliki range perbandingan antara 2

sampai 3?

Plat nomor ditemukan dan plat nomor dikotakkan pada

(6)

Berdasarkan flow chart di atas, secara garis besar program ini terdapat empat proses utama yang ditunjukkan diagram di bawah ini.

Gambar 3.2 Global flowchart proses dalam sistem

Dalam tiap-tiap tahapan di atas, dilakukan analisis dan modifikasi terhadap citra digital yang pada akhirnya menghasilkan citra yang telah terseleksi pada bagian plat nomor kendaraan.

3.3.1 Preprocessing

Tahap pertama yang digunakan adalah preprocessing. Tahap preprocessing perlu dilakukan untuk menyesuaikan apa yang dibutuhkan untuk proses selanjutnya. Tahapan pada proses preprocessing adalah sebagai berikut.

Gambar 3.3 Tahapan proses preprocessing image Detection Recognition Preprocessing Image Grayscale Noise Filtering Selection

(7)

Proses dimulai dengan mengubah objek RGB menjadi objek grayscale dengan cara:

Gray = (R+G+B) / 3

Proses tersebut dilakukan pada setiap piksel pada citra, dengan cara ini maka setiap piksel memiliki satu jenis warna dengan intensitas yang berbeda-beda.

Gambar 3.4 (a) Citra mobil sebelum dilakukan grayscale

Gambar 3.4 (b) Citra mobil setelah dilakukan grayscale 3.3.2 Detection

Tahap selanjutnya yang dilakukan adalah detection atau bisa juga disebut plate localization. Tahap ini merupakan tahap yang paling memegang peranan penting dalam

(8)

kasus pengenalan plat nomor (License Plate Recognition). Pada tahap deteksi ini dilakukan pencarian terhadap letak plat nomor kendaraan roda empat, yang dapat diuraikan lagi menjadi dua subproses.

3.3.2.1 Deteksi Kontur

Pada subproses pertama ini, dari citra yang telah melalui tahapan preprocessing akan dicari konturnya. Proses pencarian kontur bertujuan untuk menemukan garis pada citra.

Deteksi tepi pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari objek-objek citra. Tepi-tepi ini akan menandai bagian detail citra. Tepi-tepi pada gambar tersebut terletak pada titik-titik yang memiliki perbedaan tinggi. Keberadaan tepi unsur ditandai dengan tingginya perubahan nilai piksel atau kontras.

Pada proses ini menggunakan metode ekstraksi kontur yaitu canny edge detection yang pertama kali dikembangkan oleh John F Canny pada tahun 1986.

Algoritma canny edge detection berjalan dalam 5 langkah terpisah sebagai berikut.

1) Smoothing : memburamkan gambar untuk menghilangkan noise.

2) Finding gradients : proses mencari gradien piksel untuk menentukan kekuatan tepi dengan menggunakan rumus:

,

Atau dapat digunakan rumus pendekatan di bawah untuk mengurangi kompleksitas komputasi (Bill Green, 2002):

(9)

Selanjutnya dicari arah gradien dari masing-masing piksel yang bertujuan untuk menentukan arah tepi dengan menggunakan rumus:

,

Proses pencarian arah tepi diilustrasikan sebagai berikut:

Gambar 3.5 Piksel dari sebuah gambar 5x5

Kemudian dengan melihat piksel ‘a’ hanya ada kemungkinan 4 arah yang mungkin terbentuk dari piksel di sekitarnya yaitu 0 derajat (arah horisontal), 90 derajat (arah vertikal), 45 derajat (sepanjang diagonal positif), dan 135 derajat (sepanjang diagonal negatif). Jadi orientasi tepi harus ditentukan ke dalam satu dari empat arah tersebut tergantung kemana arah itu menuju yang paling dekat. Misalnya jika arah gradien 3 derajat, maka orientasi tepinya adalah 0 derajat karena 3 derajat lebih dekat ke 0 derajat. Untuk lebih jelasnya, arah orientasi tepi dapat dilihat dari ilustrasi berikut.

(10)

• Arah tepi yang jatuh pada warna kuning (0-22,5 dan 157,5-180 derajat) diatur menjadi 0 derajat.

• Arah tepi yang jatuh pada warna hijau (22,5-67,5) diatur menjadi 45 derajat.

• Arah tepi yang jatuh pada warna biru (67,5-112,5) diatur menjadi 90 derajat.

• Arah tepi yang jatuh pada warna merah (112,5-157,5) diatur menjadi 135 derajat.

3) Non-maximum suppression.

Setelah arah tepi diketahui, proses non-maximum suppression siap diterapkan. Non-maximum suppression untuk melacak atau menelusuri di sepanjang arah tepi dan menekan setiap nilai piksel menjadi 0 jika piksel tersebut dianggap bukan tepi. Hal ini akan memberikan garis tipis pada output gambar.

Gambar 3.7 Citra mobil setelah melalui tahap non-maximum supression 4) Hysteresis threshold.

Setelah melalui tahapan non-maximum suppression, tepi yang terbentuk bisa jadi tepi yang sebenarnya atau bisa juga tepi yang terbentuk karena noise atau

(11)

goresan. Hysteresis merupakan proses untuk menghilangkan goresan. Goresan adalah tepi kontur yang putus yang disebabkan oleh nilai yang berfluktuasi di atas dan di bawah threshold (nilai ambang). Jika hanya digunakan single threshold T1 diterapkan ke gambar, maka akibat noise akan ada kejadian dimana garis masih terlihat putus-putus. Untuk menghindari hal ini, hysteresis menggunakan double threshold yaitu threshold atas (Threshold High =TH) dan threshold bawah (Threshold Low = TL). Pada tahap sebelumnya. Rasio antara TH:TL adalah 2:1 atau 3:1.

• Jika gradien piksel < TL maka ditandai sebagai bukan tepi (ditolak) • Jika gradien piksel > TH maka langsung ditandai sebagai tepi (diterima)

dan dianggap sebagai tepi kuat (strong edge).

• Jika gradien diantara TL dan TH, akan TH maka dianggap sebagai tepi lemah (weak edge).

(12)

Gambar 3.8 (b) Weak edge

Tepi kuat (strong edge) dianggap sebagai tepi yang sudah pasti secara langsung dianggap sebagai tepi final. Sedangkan tepi lemah (weak edge) dianggap sebagai tepi final jika terhubung ke tepi kuat. Hasil penentuan tepi final dapat dilihat pada gambar di bawah ini.

Gambar 3.8 (c) Citra mobil setelah dilakukan final canny edge detection 3.3.2.2 Deteksi Persegi Panjang

Dengan memanfaatkan ciri khusus dari plat nomor yaitu persegi panjang, maka langkah selanjutnya adalah pendeteksian persegi panjang. Pada proses deteksi persegi panjang ini bergantung pada proses deteksi garis yang telah dilakukan sebelumnya karena penyusun dari persegi panjang adalah kumpulan dari garis. Digunakan pendeteksian persegi panjang (rectangle detection) untuk mencari kandidat plat nomor

(13)

k m t a y m p m p p s y kendaraan k mudah diken Prose terhadap dua akan dihubu yang terben menjadi 90 d Hasi panjang yan masukkan un Gam 3.3.3 Prose panjang yan perbandinga Perb setelah dilak yang akan d karena bentu nali sebagai es mendete a buah pasa ungkan sehin ntuk akan d derajat. l dari detek ng akan dipil ntuk proses mbar 3.9 Citr 3 Proses Sele es seleksi pl ng telah terd an rasio plat andingan pl kukan prose dipilih. Bata uk fisik pla persegi panj eksi persegi angan garis y ngga terbent ditandai seb ksi persegi p lih sebagai p seleksi plat n ra mobil ya eksi Plat No lat nomor in eteksi pada = panjang / lat nomor In s pembagian asannya ada at nomor di jang. i panjang a yang paralel tuk sebuah j bagai perseg panjang ini m plat nomor. B nomor.

ang telah dil omor ni dilakukan tahap sebelu lebar. ndonesia ber n, maka dibe alah dengan Indonesia adalah deng l. Kemudian jajar genjan gi panjang menghasilka Berdasarkan lakukan det n dengan me umnya deng rada pada ra eri batasan u melakukan yang mend gan melaku n garis-garis ng. Selanjutn dan dinorm an beberapa n beberapa ka teksi perseg elakukan sele gan cara men

ange 2 samp untuk menen pengecekan dukung dan ukan pengec yang berde nya jajar gen malisasi sudu kandidat pe adidat ini se gi panjang eksi pada pe nggunakan r pai 3. Selanju ntukan mana n apakah pe lebih cekan ekatan njang utnya ersegi ebagai ersegi rumus utnya a plat ersegi

(14)

panjang yang terdeteksi tersebut memiliki karakter atau tidak. Dengan asumsi plat nomor memiliki minimal 5 karakter, maka jika kurang dari 5 karakter berarti tidak termasuk dalam region plat nomor.

Gambar 3.10 Citra mobil yang telah dilakukan seleksi persegi panjang 3.3.4 Noise Filtering

Proses ini dibutuhkan untuk memenuhi parameter-parameter yang dibutuhkan untuk proses selanjutnya yaitu proses pengenalan karakter plat nomor menggunakan Optical Character Recognition (OCR). Proses ini dilakukan untuk memperbaiki objek plat nomor sehingga dapat dimasukkan pada tahap pengenalan (recognition).

Pada proses ini digunakan canny edge detection sekali lagi supaya tepi-tepi pada karakter angka dan huruf dapat terdeteksi. Selanjutnya dilakukan proses erosi dan dilatasi.

Erosi adalah suatu operasi yang akan mengurangi piksel pada batas antar objek dalam suatu citra digital. Cara kerjanya adalah dengan melakukan pengecekan piksel hitam yang akan dierosi dengan melewatkan mask yang ada pada piksel hitam tadi, jika memenuhi semua syarat pada mask maka piksel hitam diubah menjadi putih.

(15)

Sedangkan dilatasi adalah suatu operasi yang akan menambahkan piksel pada batas antar objek dalam suatu citra digital. Cara kerjanya adalah dalam binary image, jika ada piksel tetangga yang bernilai 1 maka output piksel diset menjadi 1.

Erosi dan dilasi dapat digunakan bersama ataupun digunakan secara sendiri-sendiri tergantung dari hasil yang telah kita peroleh apakah sudah cukup memenuhi harapan atau tidak. Hasil yang diharapkan adalah masing-masing karakter yang dikenai proses ini memberikan bentuk yang valid.

Erosi dan dilatasi digunakan bersama-sama untuk menyatukan piksel yang terpisah sehingga dapat memperjelas bentuk dari huruf atau angka dan juga menghilangkan noise serbuk pada piksel.

Gambar 3.11 (a) Citra plat (b) Citra plat dilakukan binary threshold invers Misalkan setelah dilakukan canny edge detection, masih terdapat piksel yang terpisah seperti ditunjukkan gambar di bawah ini.

Gambar 3.12 Citra plat mobil yang telah dilakukan canny edge detection Berdasarkan gambar hasil canny edge detection, piksel karakter masih ada yang belum terhubung, bisa dilakukan penggabungan proses erosi dan dilatasi yang hasilnya ditampilkan di bawah ini.

(16)

s m Gambar 3.3.5 Setel siap dengan menggunaka se no ek r 3.13 Citra 5 Recognitio

lah noise tel n tahap pe an engine tes egmentasi ormalisasi kstraksi fitur Ga a plat mobil on lah dihilangk engenalan ( sseract ocr. ambar 3.14 Ch Pe Asos Ad H yang telah kan melalui (recognition Pengenalan hopping char misahan Ka Terhubun siasi Karakte daptive Clas Hasil Pengen dilakukan p proses nois ). Tahap p n pada tesse racter arakter g er Patah ssifier nalan proses erosi e filtering, s pengenalan ract ocr i dan dilata selanjutnya s plat nomo si sudah or ini

(17)

G ( Prose 1. Perta karak (a) Gambar 3.1 (b) Pelabela 2. Chop Setel (pem secar 3. Pemi Selan diper dipis esnya adalah ama akan di kter adalah s 15 Pencaria an pada Kar pping atau p lah outline k motongan) ka ra umum. Ga isahan Karak njutnya bila rbaiki pada sahkan. Kan h sebagai ber icari outline sebagai berik (b) an Outline K rakter (c) B emotongan k karakter dip arakter yang mbar 3.16 H kter Terhubu karakter ha tahap ini. B didat untuk rikut. dari sebuah kut. Karakter (a) Blob membe karakter peroleh, mak g merupakan Hasil segme ung. sil segmenta lob-blob yan titik-titik pe h karakter. P (c) ) Karakter y ntuk Outlin ka selanjutny bagian dari entasi karak asi masih ad ng terbentuk emisahan di Proses penca yang ingin d ne (d) Outlin ya akan dila i tahap segm kter plat da yang tump k saling tum itemukan da arian outline (d) dicari outlin ne Karakter akukan chop mentasi pada pang tindih, mpang tindih ari simpul ce e dari nenya r pping OCR akan akan ekung

(18)

dari pendekatan poligonal outline dan mungkin saja terdapat titik cekung berlawanan lainnya atau segmen garis.

4. Asosiasi Karakter Patah

Bila karakter yang saling tumpang tindih sudah berhasil dipisahkan, dicek apakah masih ada karakter yang patah atau agak rusak. Jika ada, karakter yang rusak tersebut diperbaiki outlinenya dengan menggunakan pencarian terbaik (Best First Search).

5. Adaptive Classifier

Feature merupakan komponen pendekatan poligonal dari outline sebuah bentuk. Pada pengenalan, elemen-elemen poligon dipecah menjadi bagian-bagian yang lebih pendek dengan panjang yang sama, sehingga dimensi panjang dieliminasi dari vektor fitur. Beberapa fitur pendek dicocokkan dengan setiap fitur prototipikal dari training yang telah dilakukan oleh tesseract dalam file .traineddata, hal ini membuat proses klasifikasi lebih kuat terhadap karakter yang terputus. Pada tahap ini intinya karakter pada plat dicocokkan dengan prototype karakter yang ada di data training tesseract. Bila mendekati kemiripan maka karakter akan dimunculkan.

6. Hasil Pengenalan

Bila karakter yang dicocokkan mendekati kemiripan dengan prototype karakter dalam data training tesseract, maka karakter tersebut akan ditampilkan. Hasil pengenalan dari karakter plat nomor sebagai berikut.

(19)

Gambar 3.17 Hasil pengenalan karakter plat nomor

Citra (image) yang dibuka adalah hendaknya citra digital yang mengandung plat nomor kendaraan, dan harus berukuran lebih dari 240x180 piksel karena ukuran ini dapat menghasilkan tingkat akurasi yang lebih baik dari tesseract ocr.

3.4 Perancangan Program Aplikasi

Program aplikasi pengenalan plat nomor kendaraan ini dibuat dengan menggunakan perangkat lunak Microsoft Visual Studio 2010 dengan bahasa pemrograman C#. Untuk dapat melakukan proses pengenalan plat nomor digunakan library emgu-cv yang berisi kumpulan library untuk computer vision dan artificial intelligence. Emgu-cv merupakan wrapped opencv yang dapat digunakan untuk bahasa pemrograman C#. Selanjutnya untuk melakukan proses pengenalan (recognition) terhadap karakter pada plat nomor digunakan tesseract ocr.

Dari beberapa model proses yang ada dalam software engineering, dipilih model proses prototyping untuk diaplikasikan dalam pembuatan skripsi ini karena dalam model proses prototyping dituntut lebih cepat dalam tahapan pembuatan software sehingga lebih cocok diterapkan untuk menyelesaikan skripsi yang memerlukan waktu pembuatan software tidak banyak. Software yang dihasilkan nanti hanya dalam bentuk prototype sederhana yang masih bisa dikembangkan lebih lanjut.

(20)

Proses perancangan menggunakan model prototyping yang dapat dijelaskan sebagai berikut.

a. Tahap Communication.

Sebelum mulai merancang program aplikasi, dilakukan proses pencarian kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam program aplikasi. Calon pengguna aplikasi dan pengembang bertemu bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.

b. Tahap Planning.

Melakukan perencanaan (planning) terhadap pembuatan perangkat lunak secara cepat. Pada tahap ini dibuat format input dan output.

c. Tahap Modelling.

Melakukan pemodelan (modelling) sistem. Pada tahap ini dibuat flow chart sistem.

d. Tahap Construction.

Mengubah desain dari flow chart menjadi bentuk yang dapat dimengerti oleh komputer, yaitu ke dalam bahasa pemograman C# melalui proses pengkodean. e. Tahap Deployment.

Melakukan pengujian (testing) terhadap program yang sudah dibuat dan memastikan hasilnya sesuai kebutuhan yang sudah didefinisikan sebelumnya. Bila perangkat lunak yang dihasilkan sudah sesuai dengan yang diharapkan, maka perangkat lunak telah siap untuk digunakan.

(21)

3.4.1 Desain Use Case Diagram

Use case diagram digunakan untuk mengetahui interaksi apa saja yang dilakukan antara user dengan program aplikasi dapat dilihat di bawah ini.

Gambar 3.18 Use case diagram program pengenalan plat nomor 3.4.2 State Diagram

State diagram untuk program pengenalan plat nomor ini disajikan sebagai berikut.

input preprocessing deteksi kontur

deteksi persegi panjang

noise filtering seleksi

Gambar 3.19 State diagram program pengenalan plat nomor

Citra Citra hitam putih Persegi panjang Tepi pada citra Plat nomor ditemukan Pengenalan

(22)

3.4.3 Perancangan Modul

Modul yang digunakan dalam program ini terdiri dari lima buah modul utama, dengan rincian sebagai berikut:

• Modul LicensePlateDetector

Modul ini digunakan untuk mendaftarkan angka dan huruf pada OCR serta mengenali karakter pada plat nomor kendaraan dengan menggunakan Optical Character Recognition (OCR).

• Modul GetWhitePixelMask

Modul ini digunakan untuk melakukan preprocessing terhadap citra yang dimasukkan.

• Modul DetectLicensePlate

Modul ini digunakan untuk mendeteksi letak plat nomor kendaraan roda empat.

• Modul FindLicensePlate

Modul ini digunakan untuk melakukan seleksi terhadap kandidat plat nomor yang akan dipilih.

• Modul FilterPlate

Modul ini digunakan untuk melakukan noise filtering terhadap plat nomor yang telah terdeteksi supaya karakter angka dan huruf pada plat nomor dapat dikenali.

(23)

3.4.4 Perancangan Pseudocode

Program ini terdiri lima modul, maka akan dijelaskan pseudocode (kode semu) untuk masing-masing modul tersebut. Pseudocode dari modul preprocessing adalah sebagai berikut.

Awal modul

//Convert citra ke warna abu-abu Set gray = (R+G+B )/ 3

// proses threshold Set warna putih = 255 Set warna hitam = 0 Akhir modul

Dilanjutkan dengan pseudocode untuk melakukan deteksi plat nomor kendaraan sebagai berikut.

Awal modul

//menentukan kontur

Contours = canny.findContours //Menentukan persegi panjang

MCvBox2D box = contours.GetMinAreaRect()

Jika persegi panjang kemiringan sudutnya < -45 atau > 45 derajat Mulai

Perbaiki sudut persegi panjang = 90 derajat Selesai

Akhir modul

Kemudian akan dilakukan proses seleksi plat nomor berdasarkan persegi panjang yang telah terbentuk. Berikut pseudocode untuk melakukan seleksi terhadap kandidat plat nomor.

Awal modul

//mencari perbandingan plat nomor

Rasio plat = panjang / lebar persegi panjang Akhir modul

Selanjutnya adalah pseudocode untuk melakukan proses noise filtering supaya citra bebas dari noise.

(24)

Awal modul

//melakukan canny edge detection pada karakter plat nomor Image = image.Canny(new Gray(100), new Gray(50))) //melakukan threshold binary invers

Image = setBinaryThresholdInvers(new gray(120), new gray(255)) // melakukan proses erosi

thresh._Erode(1)

// melakukan proses dilatasi

// jika ada pikses tetangga yang bernilai 1, set output piksel menjadi 1 thresh._dilate(1)

selesai

Akhir modul

Tahap terakhir adalah melakukan pengenalan terhadap karakter angka dan huruf pada plat nomor kendaraan. Pseudocode akan ditampilkan sebagai berikut.

Awal modul

Set bahasa pada ocr = bahasa Inggris Daftarkan huruf A-Z dan angka 0-9

jika karakter pada plat nomor kurang dari 5 karakter maka

bukan kandidat daerah plat nomor

selain itu

kandidat daerah plat nomor selesai

Akhir modul

3.4.5 Perancangan Layar Aplikasi

Antarmuka (user interface) sangat diperlukan supaya pengguna dengan komputer dapat saling berinteraksi. Dalam program aplikasi ini hanya ada satu form namun di dalamnya terdapat bagian-bagian yang dapat melakukan tugasnya masing-masing. Berikut merupakan rancangan antarmuka untuk program aplikasi ini.

(25)

Gambar 3.20 Rancangan form tampilan awal program

Program aplikasi akan mulai bekerja bila ditekan button load image. Program aplikasi akan melakukan proses pendeteksian tepi plat nomor kendaraan, filtering, dan pengenalan karakter angka dan huruf pada plat nomor kendaraan. Gambar hasilnya akan ditampilkan pada kotak yang besar pada gambar 3.18 di atas.

Sedangkan kandidat plat nomor yang telah dipotong dan diinvers akan ditampilkan pada kotak sebelah kiri atas, dan kandidat plat nomor yang telah dipotong tersebut selanjutnya dilakukan binary threshold invers yang hasilnya ditampilkan pada kotak sebelah kiri bawah. Bagian yang diambil hanya plat nomornya saja.

Hasil pengenalan karakter angka dan huruf pada plat nomor kendaraan akan ditampilkan pada sebelah kiri paling atas. Namun bila program tidak bisa menemukan letak plat nomor secara tepat, maka karakter angka dan huruf pada plat nomor kendaraan tidak bisa ditampilkan.

_ Tutorial About License: File Load Image License Plate Recognition Time : X

(26)

A R S b Prog About. Saat Rancangan t Seda Saat button berikut.

gram ini jug Button Tuto tampilan but Gamb angkan butto about dikl Gamb Indonesian Ve Bagaimana m 1. Klik button 2. Pilih citra y 3. tunggu unt layar 4. Jika Anda b  Tutorial dan  English Versio How to use th 1. Click button 2. Choose ima image 3. wait for the 4. If You confu About to see  ga terdapat orial diklik tton Tutorial bar 3.21 Ra on About ber lik, maka a bar 3.22 Ra ersion Tutorial menggunakan p  Load Image yang Anda ingi tuk mendapatk bingung bagaim klik button Ab on Tutorial his program: n Load Image age that You w e result, and th use how to use the profile abo dua buah b akan muncu l sebagai ber ancangan tam risi informas akan muncul ancangan tam l program ini: n kenali plat n kan hasilnya, d mana menggun out untuk mel want to recogn he result will b e this program out the progra button yaitu ul cara untuk rikut. mpilan butt si tentang p l kotak dia mpilan butt omornya pada an hasilnya ak nakan program lihat profil pro ize the license be show on the m, click at butto ammer of this p button Tut k mengguna ton tutorial embuat prog log yang d ton about a folder testing kan ditampilka m ini, klik pada ogramer progra e plate at folde e screen on Tutorial and program torial dan b akan program gram aplikas dirancang se g image  n pada  button am ini er testing d click button  X button m ini. si ini. ebagai

Gambar

Diagram alir (flow chart) untuk program ini dapat dilihat di bawah ini.                                                                                                                       ya       ya  ya  tidak                              tidak
Gambar 3.2 Global flowchart proses dalam sistem
Gambar 3.4 (b) Citra mobil setelah dilakukan grayscale  3.3.2 Detection
Gambar 3.7 Citra mobil setelah melalui tahap non-maximum supression  4)  Hysteresis threshold
+7

Referensi

Dokumen terkait

Hasil ini berbeda nyata dengan pertambahan tinggi pada perlakuan T2 yang dilakukan pemberian perlakuan abu serbuk gergaji dan pupuk hijau jenis leguminoceae

Faktor risiko berupa jumlah pasangan seks dalam satu minggu terakhir, bilas vagina yang dilakukan sendiri dan/atau petugas kesehatan, dan kelompok usia yang lebih

pois, sillä se johtaisi niin sanotusti taistelutekniseen tarkasteluun ja suuntaisi huomion pois toi- minnan tavoitteista ja sanomasta, jota propagandalla pyritään välittämään.

Melihat pentingnya penilaian pelanggan yang ditimbulkan karena proses komunikasi khususnya komunikasi antarpribadi dan pelayanan lainnya yang terjadi pada Apotik Pahlawan

Untuk itu literatur Kristen sebagai bagian dari misi gereja harus mampu menjadi jembatan dalam pemberitaan Injil yang hendak disampaikan kepada seluruh umat

Dalam upaya menuju e-government sudah sepatutnya Dinas Kependudukan dan Pencatatan Sipil sebagai SKPD yang memberikan pelayanan publik terhadap setiap penduduk sejak

Sehubungan dengan Pengumuman Pelelangan Umum Panitia Pelelangan Umum pada Bagian Administrasi Pembangunan Setda Kabupaten Sarolangun nomor: _________________ tanggal

Begitu juga ketika seseorang mempunyai komitmen yang tinggi terhadap organisasinya, maka orang tersebut akan melakukan apapun untuk memajukan perusahaannya karena