• Tidak ada hasil yang ditemukan

Aplikasi Kamera Web Untuk Mengidentifikasi Plat Nomor Mobil.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Aplikasi Kamera Web Untuk Mengidentifikasi Plat Nomor Mobil."

Copied!
44
0
0

Teks penuh

(1)

i

Aplikasi Kamera Web Untuk Mengidentifikasi Plat Nomor Mobil

Jemmy / 0322042

E-mail : kaiser_jemmy@yahoo.com

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha

Jalan Prof. Drg. Suria Sumantri 65

Bandung 40164, Indonesia

ABSTRAK

Setiap kendaraan memiliki plat nomor sebagai tanda pengenal, dimana plat

nomor dapat menunjukkan asal daerah dan juga informasi data kepemilikan.

Informasi data kepemilikan biasanya terdapat pada kepolisian, sehingga apabila suatu

kejadian yang melibatkan suatu kendaraan, informasi data kepemilikan dapat dilihat.

Pencarian informasi secara manual akan menghabiskan waktu sehingga dengan

memanfaatkan teknologi pengolahan citra dan terknologi computer, pencarian data

kepemilikan dapat dilakukan lebih cepat.

Pada tugas akhir ini dibuat sebuah perangkat lunak dengan judul aplikasi

kamera web untuk mengidentifikasi plat nomor mobil dengan menggunakan simulasi

matlab. Proses ini diawali dengan pengambilan gambar melalui kamera web berupa

gambar berwarna (RGB) kemudian diubah ke bentuk gambar hitam putih. Setelah

itu, gambar dibagi menjadi beberapa bagian secara horizontal, bagian gambar yang

mengandung plat nomor diambil sebagai kandidat gambar untuk proses selanjutnya.

Kandidat gambar tersebut dipisahkan berdasar gambar bentuk karakter. Selanjutnya

gambar kandidat tersebut akan dikorelasikan dengan database sehingga didapat hasil

pengenalan karakter. Proses terakhir adalah pencocokan nomor plat dengan database

kepemilikan yang sudah ada.

Dalam pengujian 10 x pengenalan nomor plat, diperoleh pengenalan plat

sebesar 50 %, dan rata-rata pengenalan per karakter adalah 75.71 %.

(2)

ii

Web Camera Application For Identifying Car

’s

Plate Number

Jemmy / 0322042

E-mail : kaiser_jemmy@yahoo.com

Electrical Engineering, Technic Faculty, Christian Maranatha University

Prof. Drg. Suria Sumantri 65 Street

Bandung 40164, Indonesia

ABSTRACT

Every cars has plate number as an identifier sign, which it can show the area

of the cars came from and also information of the owner. The information usually

exist at an academy, so if that a case involve a cars, the information can be seen. With

manual search will wasting time, so with the image processing and computerize

technology, the search will be faster.

In this Final project, the software with title Application Web Camera For

Identify Car Plate Number using Matlab simulation. Started by capturing image from

Web Camera which that colorful image (RGB) and convert to black and white image.

After that, the image divided into some horizontal parts. Part of image that include

number plat will chosen as image candidate for the next process. Image candidate

will separate into characters. The next process is character correlation, which can

recognize the character from plate number. The last process is to matching the

number plate owner with an exist database..

On ten times experiment, we have 50 % of successful identification and

75.71% for average character identification.

.

(3)

iii

DAFTAR ISI

ABSTRAK……….

i

ABSTRACT………...

ii

KATA PENGANTAR………...

iii

DAFTAR ISI………...

v

DAFTAR TABEL………..

vii

DAFTAR GAMBAR……….

viii

BAB 1 PENDAHULUAN

1.1

Latar Belakang Masalah……….

1

1.2

Identifikasi Masalah………....

1

1.3

Tujuan……….

2

1.4

Pembatasan Masalah………...

2

1.5

Sistematika Penulisan………..

2

BAB 2 LANDASAN TEORI

2.1

Citra………..

4

2.2.1

Citra hitam putih dan keabuan………...

4

2.2.1.1 Citr

a keabuan (Grayscale)………….…………

5

2.2.1.2 Citra hitam putih (Monokrom)..…….………....

6

2.2.2

Citra berwarna……….………….

7

2.3

Ukuran File suatu citra……….………….

8

2.4

Pengolahan citra……….…………...

8

2.5

Ukuran File suatu citra……….…………..

7

2.6

Pengenalan pola……….

9

BAB 3 PERANCANGAN PERANGKAT LUNAK

3.1

Diagram Alir Utama……….………..

12

(4)

iv

3.3

Konversi masukan citra………..…

14

3.4

Pemotongan c

itra………

16

3.5

Pemotongan plat nomor……….

18

3.6

Pemisahan karakter………

21

3.7

Pengenalan karakter dengan metoda korelasi………

24

3.8

Pencocokan nomor plat dengan database kepemilikan………….

27

3.9

Desain dat

abase kepemilikan……….

28

3.10

Graphical User Interface ( GUI )

………

28

BAB 4 PENGUJIAN PERANGKAT LUNAK

4.1

Masukan database kepemilikan………..

30

4.2

Pengujian kamera web………...

33

4.3

Pendeteksian nomor plat..……….

33

4.3.1

Masukan citra dari kamera web…..……….

34

4.3.2

Penentuan kandidat plat nomor……….

34

4.3.3

Pemotongan plat……….

36

4.3.4

Pemisahan karakter………

37

4.3.5 Korelasi karakter dengan karakter p

ada database………..

37

4.3.6

Keluaran database……….

38

4.4

Data pengamatan………

39

BAB 5 KESIMPULAN DAN SARAN

5.1

Kesimpulan……….

35

(5)

v

DAFTAR TABEL

Tabel 4.1

Keteranga

n data kepemilikan 1……….

31

Tabel 4.2

Keterangan data kepemilikan 2………

32

(6)

vi

DAFTAR GAMBAR

Gambar 2.1

Contoh gambar pembagian pixel………..

4

Gambar 2.2

Contoh citra gray……….………….

6

Gambar 2.3

Contoh barcode yang mengandung citra hitam putih..………….

6

Gambar 2.4

Citra hitam putih menurut pembagian piksel……….

7

Gambar 2.5

Sistem warna………..

8

Gambar 2.6

Contoh penge

nalan pola pada pengenalan tanda tangan…………

10

Gambar 2.7

Pengenalan pola pada soal ujian anak-

anak……….

10

Gambar 3.1

Blok diagram proses identifikasi plat nomor kendaraan……….

11

Gambar 3.2

Diagram alir utama……….……….

12

Gamvar 3.3

Konversi

citra RGB ke gray……….

15

Gambar 3.4

Blok diagram alir proses konversi citra………...

16

Gambar 3.5

Blok diagram alir pemotongan citra………

18

Gambar 3.6

Blok diagram alir pengenalan plat nomor……….…..

20

Gambar 3.7

Blok diagram alir

proses pemisahan karakter……….

24

Gambar 3.8

Contoh gambar korelasi karakter………

25

Gambar 3.9

Blok diagram alir proses pengenalan karakter………

26

Gambar 3.10

Blok diagram alir data pemilik plat………...

27

Gambar 3.11 GUI untuk kamera

web……….

28

Gambar 3.12

GUI untuk pendeteksian nomor plat………..

29

Gambar 4.1

Masukan database kepemilikan………

30

Gambar 4.2

Tampilan menu pengujian kamera web..………..

33

Gambar 4.3

Tampilan menu hasil pengambilan citra………...

34

Gambar 4.4

Penentuan kandidat plat nomor………

35

Gambar 4.5

Pemotongan plat………...

36

Gambar 4.6

Hasil pemisahan karakter……….

37

Gambar 4.7

Hasil pengenalan plat nomor mobil………..

38

(7)

LAMPIRAN A

(8)

Tmp_0

Tmp_1

Tmp_2

Tmp_3

.

Tmp_4

Tmp_5

Tmp_6

Tmp_7

Tmp_8

Tmp_9

Tmp_10

Tmp_11

Tmp_12

Tmp_13

Tmp_14

Tmp_15

(9)

Tmp_20

Tmp_21

Tmp_22

Tmp_23

Tmp_24

Tmp_25

Tmp_26

Tmp_27

Tmp_28

Tmp_29

Tmp_30

Tmp_31

(10)

LAMPIRAN B

(11)

Project.m

clear all clc

proyek = figure('Color',[0.8 0.8 0.8], ... 'PaperPosition',[0 70 100 100], ... 'PaperUnits','points', ...

'Position',[100 70 500 122], ... 'Tag','fig11', ...

'ToolBar','none',... 'Menubar','none',... 'Numbertitle','off',... 'Name','Proyek');

tb_show = uicontrol('Parent',proyek, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'Callback','show', ...

'ListboxTop',0, ...

'Position',[220 25.75 120.5 16.5], ... 'String','Show My Webcam', ... 'Tag','Pushbutton9');

tb_tangkap = uicontrol('Parent',proyek, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'Callback','tangkap', ...

'ListboxTop',0, ...

'Position',[120 25.75 67.5 16.5], ... 'String','Capture', ...

'Tag','Pushbutton9');

tb_run = uicontrol('Parent',proyek, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'Callback','my_menu', ...

'ListboxTop',0, ...

'Position',[20 25.75 67.5 16.5], ... 'String','Run', ...

(12)

show.m

imaqhwinfo('winvideo'); imaqhwinfo;

imaqhwinfo('winvideo'); vid=videoinput('winvideo'); preview(vid)

tangkap.m

trig = 1;

set(vid,'FramesPerTrigger',trig); start(vid)

data=getdata(vid); size(data);

figure;

(13)

inputdata.m

clc; clear all;

tot_database=0; no_plat = '';pemilik='';

isi_database = figure('Color',[0.8 0.8 0.8], ... 'PaperPosition',[0 70 100 100], ...

'PaperUnits','points', ... 'Position',[90 100 400 572], ... 'Tag','fig11', ...

'ToolBar','none',... 'Menubar','none',... 'Numbertitle','off',... 'Name','Input Database');

input_noplat = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[1 1 1], ... 'ListboxTop',0, ...

'Position',[120.5 325.75 80.25 20], ... 'Style','edit', ...

'Tag','EditText4');

input_pemilik = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[1 1 1], ... 'ListboxTop',0, ...

'Position',[120.5 280.75 80.25 20], ... 'Style','edit', ...

'Tag','EditText5');

input_alamat = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[1 1 1], ... 'ListboxTop',0, ...

'Position',[120.5 245.75 80.25 20], ... 'Style','edit', ...

'Tag','EditText6');

input_tipe = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[1 1 1], ... 'ListboxTop',0, ...

'Position',[120.5 210.75 80.25 20], ... 'Style','edit', ...

'Tag','EditText8');

input_buat = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[1 1 1], ... 'ListboxTop',0, ...

(14)

'Tag','EditText9');

input_rakit = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[1 1 1], ... 'ListboxTop',0, ...

'Position',[120.5 135.75 80.25 20], ... 'Style','edit', ...

'Tag','EditText10');

input_silinder = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[1 1 1], ... 'ListboxTop',0, ...

'Position',[120.5 95.75 80.25 20], ... 'Style','edit', ...

'Tag','EditText11');

input_warna = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[1 1 1], ... 'ListboxTop',0, ...

'Position',[320.5 325.75 80.25 20], ... 'Style','edit', ...

'Tag','EditText12');

input_rangka = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[1 1 1], ... 'ListboxTop',0, ...

'Position',[320.5 285.75 80.25 20], ... 'Style','edit', ...

'Tag','EditText13');

input_mesin = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[1 1 1], ... 'ListboxTop',0, ...

'Position',[320.5 245.75 80.25 20], ... 'Style','edit', ...

'Tag','EditText14');

input_TNKB = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[1 1 1], ... 'ListboxTop',0, ...

'Position',[320.5 205.75 80.25 20], ... 'Style','edit', ...

'Tag','EditText15');

input_bbakar = uicontrol('Parent',isi_database, ... 'Units','points', ...

(15)

'Position',[320.5 165.75 80.25 20], ... 'Style','edit', ...

'Tag','EditText16');

input_BPKB = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[1 1 1], ... 'ListboxTop',0, ...

'Position',[320.5 125.75 80.25 20], ... 'Style','edit', ...

'Tag','EditText17');

input_masalaku = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[1 1 1], ... 'ListboxTop',0, ...

'Position',[320.5 85.75 80.25 20], ... 'Style','edit', ...

'Tag','EditText18');

t1 = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[20 315 90.25 30.25], ... 'String','Masukkan Nomor Plat', ... 'Style','text', ...

'Tag','StaticText7');

t2 = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[20 275 90.25 30.25], ... 'String','Masukkan Nama Pemilik', ... 'Style','text', ...

'Tag','StaticText8');

t3 = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[20 235 90.25 30.25], ... 'String','Masukkan alamat', ... 'Style','text', ...

(16)

t5 = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[20 200 90.25 30.25], ... 'String','Masukkan tipe', ... 'Style','text', ...

'Tag','StaticText11');

t6 = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[20 165 90.25 30.25], ... 'String','Masukkan tahun buat', ... 'Style','text', ...

'Tag','StaticText12');

t7 = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[20 130 90.25 30.25], ... 'String','Masukkan tahun rakit', ... 'Style','text', ...

'Tag','StaticText13');

t8 = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[20 95 90.25 30.25], ... 'String','Masukkan isi silinder', ... 'Style','text', ...

'Tag','StaticText14');

t9 = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[220.5 325.75 80.25 30], ... 'String','Masukkan warna', ...

(17)

t10 = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[220.5 285.75 80.25 30], ... 'String','Masukkan no rangka', ... 'Style','text', ...

'Tag','StaticText16');

t11 = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[220.5 245.75 80.25 30], ... 'String','Masukkan no mesin', ... 'Style','text', ...

'Tag','StaticText17');

t12 = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[220.5 205.75 80.25 30], ... 'String','Masukkan warna TNKB', ... 'Style','text', ...

'Tag','StaticText18');

t13 = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[220.5 165.75 80.25 30], ... 'String','Masukkan bahan bakar', ... 'Style','text', ...

'Tag','StaticText19');

t14 = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[220.5 125.75 80.25 30], ... 'String','Masukkan BPKB', ...

(18)

t15 = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[220.5 85.75 80.25 30], ... 'String','Masukkan Masa Berlaku', ... 'Style','text', ...

'Tag','StaticText19');

tb_simpan = uicontrol('Parent',isi_database, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'Callback','simpan', ...

'ListboxTop',0, ...

'Position',[120 55.75 67.5 16.5], ... 'String','Simpan', ...

(19)

simpan.m

no_platx = ''; pemilikx = ''; alamatx = ''; tipex = ''; buatx = ''; rakitx = ''; silinderx = ''; warnax = ''; rangkax = ''; mesinx = ''; TNKBx = ''; bbakarx = ''; BPKBx = ''; masalakux = '';

no_platx = get(input_noplat,'string'); pemilikx = get(input_pemilik,'string'); alamatx = get(input_alamat, 'string'); tipex = get(input_tipe, 'string'); buatx = get(input_buat, 'string'); rakitx = get(input_rakit, 'string'); silinderx = get(input_silinder, 'string'); warnax = get(input_warna, 'string'); rangkax = get(input_rangka, 'string'); mesinx = get(input_mesin, 'string'); TNKBx = get(input_TNKB, 'string'); bbakarx = get(input_bbakar, 'string'); BPKBx = get(input_BPKB, 'string'); masalakux = get(input_masalaku, 'string'); tot_database = tot_database + 1;

database(1,tot_database,1).noplat = no_platx; database(1,tot_database,2).pemilik = pemilikx; database(1,tot_database,3).alamat = alamatx; database(1,tot_database,5).tipe = tipex; database(1,tot_database,6).buat = buatx; database(1,tot_database,7).rakit = rakitx; database(1,tot_database,8).silinder = silinderx; database(1,tot_database,9).warna = warnax; database(1,tot_database,10).rangka = rangkax; database(1,tot_database,11).mesin = mesinx; database(1,tot_database,12).TNKB = TNKBx; database(1,tot_database,13).bbakar = bbakarx; database(1,tot_database,14).BPKB = BPKBx; database(1,tot_database,15).masalaku = masalakux; save('database.mat', 'database','tot_database'); msgbox('DATA TELAH DISIMPAN','JEMMY','NONE')

prosescari.m

(20)

hasilll.m

hasill = figure('Color',[0.8 0.8 0.8], ... 'PaperPosition',[0 70 100 100], ... 'PaperUnits','points', ...

'Position',[100 100 500 572], ... 'Tag','fig11', ...

'ToolBar','none',... 'Menubar','none',... 'Numbertitle','off',...

'Name','Hasil Penelusuran Database'); tX1 = uicontrol('Parent',hasill, ...

'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[250 355 200.25 30.25], ...

'String','HASIL PENELUSURAN DATABASE', ... 'Style','text', ...

'Tag','StaticText7');

tX2 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[20 280 90.25 30.25], ... 'String','Nama Pemilik : ', ... 'Style','text', ...

'Tag','StaticText8');

tH2 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName','Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[110 280 230.25 30.25], ... 'String','', ...

'Style','text', ... 'Tag','StaticText14');

tX3 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

(21)

'String','Alamat :', ... 'Style','text', ...

'Tag','StaticText9');

tH3 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName','Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[110 245 230.25 30.25], ... 'String','', ...

'Style','text', ... 'Tag','StaticText15');

tX4 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[20 210 90.25 30.25], ... 'String','Tipe :', ... 'Style','text', ...

'Tag','StaticText10');

tH4 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName','Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[110 210 230.25 30.25], ... 'String','', ...

'Style','text', ... 'Tag','StaticText16');

tX5 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[20 170 90.25 30.25], ... 'String','Tahun buat :', ...

'Style','text', ... 'Tag','StaticText12');

tH5 = uicontrol('Parent',hasill, ... 'Units','points', ...

(22)

'FontName','Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[110 170 230.25 30.25], ... 'String','', ...

'Style','text', ... 'Tag','StaticText17');

tX6 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[20 130 90.25 30.25], ... 'String','Tahun rakit :', ...

'Style','text', ... 'Tag','StaticText13');

tH6 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName','Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[110 130 230.25 30.25], ... 'String','', ...

'Style','text', ... 'Tag','StaticText18');

tX7 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[20 90 90.25 30.25], ... 'String','Isi Silinder :', ...

'Style','text', ... 'Tag','StaticText14');

tH7 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName','Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[110 90 230.25 30.25], ... 'String','', ...

(23)

'Tag','StaticText19');

tX8 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[370 280 90.25 30.25], ... 'String','Warna : ', ...

'Style','text', ... 'Tag','StaticText15');

tH8 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName','Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[460 280 230.25 30.25], ... 'String','', ...

'Style','text', ... 'Tag','StaticText20');

tX9 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[370 240 90.25 30.25], ... 'String','No Rangka : ', ... 'Style','text', ...

'Tag','StaticText16');

tH9 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName','Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[460 240 230.25 30.25], ... 'String','', ...

'Style','text', ... 'Tag','StaticText21');

tX10 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

(24)

'FontSize',12, ... 'FontWeight','bold', ...

'Position',[370 200 90.25 30.25], ... 'String','No Mesin : ', ...

'Style','text', ... 'Tag','StaticText17');

tH10 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName','Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[460 200 230.25 30.25], ... 'String','', ...

'Style','text', ... 'Tag','StaticText22');

tX11 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[370 160 90.25 30.25], ... 'String','Warna TNKB : ', ... 'Style','text', ...

'Tag','StaticText18');

tH11 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName','Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[460 160 230.25 30.25], ... 'String','', ...

'Style','text', ... 'Tag','StaticText23');

tX12 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[370 120 90.25 30.25], ... 'String','Bahan Bakar : ', ... 'Style','text', ...

(25)

tH12 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName','Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[460 120 230.25 30.25], ... 'String','', ...

'Style','text', ... 'Tag','StaticText24');

tX13 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[370 80 90.25 30.25], ... 'String','BPKB : ', ...

'Style','text', ... 'Tag','StaticText20');

tH13 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName','Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[460 80 230.25 30.25], ... 'String','', ...

'Style','text', ... 'Tag','StaticText25');

tX14 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

'FontWeight','bold', ...

'Position',[370 40 90.25 30.25], ... 'String','Masa Berlaku : ', ... 'Style','text', ...

'Tag','StaticText21');

tH14 = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName','Arial', ...

'HorizontalAlignment','Left',... 'FontSize',12, ...

(26)

'Position',[460 40 230.25 30.25], ... 'String','', ...

'Style','text', ... 'Tag','StaticText265');

tb_ok = uicontrol('Parent',hasill, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'Callback','close', ...

'ListboxTop',0, ...

'Position',[120 25.75 67.5 16.5], ... 'String','ok', ...

'Tag','Pushbutton9'); hasil = 'false';

nilai = 0; %pake = 0;

for i=1:tot_database,

nilai = strcmp(my_result,database(1,i,1).noplat); if nilai == 1

set(tH2,'String',database(1,i,2).pemilik); set(tH3,'String',database(1,i,3).alamat); set(tH4,'String',database(1,i,5).tipe); set(tH5,'String',database(1,i,6).buat); set(tH6,'String',database(1,i,7).rakit); set(tH7,'String',database(1,i,8).silinder); set(tH8,'String',database(1,i,9).warna); set(tH9,'String',database(1,i,10).rangka); set(tH10,'String',database(1,i,11).mesin); set(tH11,'String',database(1,i,12).TNKB); set(tH12,'String',database(1,i,13).bbakar); set(tH13,'String',database(1,i,14).BPKB); set(tH14,'String',database(1,i,15).masalaku); hasil = 'true';

nilai = 0; else

if (i==tot_database)&(nilai==0) if hasil==false

msgbox('TIDAK ADA DALAM DATABASE','JEMMY','none'); end;

(27)

get_img.m

clc; clear gbr1;

[namafile,direktori]=uigetfile('*.bmp','Buka file'); eval(['cd ''' direktori ''';']);

gbr1 = imread([direktori,namafile],'bmp'); size(gbr1)

%gbr1 = image(namafile); %gbr1 = rgb2gray(gbr2); colormap(gray);

if isrgb(gbr1)==1

gbr1 = rgb2gray(gbr1); end;

ori_image=imagesc(gbr1,... 'parent',ax1);

set(win1,'CurrentAxes',ax1); [lbr_im,pjg_im]=size(gbr1)

set(ed_file,'string',[direktori,namafile]);

break_img.m

%---% ROUTINE TO GET PLAT AND DIVIDE INTO CHARACTER % this routine generated base on signature method

%---clc;

figure(2); colormap(gray); [brs,klm]=size(gbr1); dvd=6;

a = (brs-rem(brs,dvd))/dvd; aw = 1;

%maks=0; %--->untuk plat terang maks=1000000; %--->untuk plat gelap

%---% BREAK IMAGE AND GET CANDIDATE FOR PLAT %---for i=1:dvd,

ak = i*a;

pc1=gbr1(aw:ak,:); subplot(dvd,2,i+(i*1)-1); imagesc(pc1); %color set(gca,'fontsize',6); [brs,klm]=size(pc1);

thresh=2*(sum(sum(pc1))/(brs*klm)); pc1=(pc1<=thresh);

sum1=sum(sum(pc1));

%--- cari kandidat untuk plat dg latar terang % if (maks <= sum1)

(28)

% end;

%--- cari kandidat untuk plat dg latar hitam if (maks >= sum1)

maks = sum1; cand = pc1; end;

disp(['tresh, peak & min ' num2str(i) ' = ' num2str(thresh) ', ' num2str(sum1) ' & ' num2str(maks) ]);

aw = ak + 1 ;

% subplot(dvd,2,i+(i*1)-1); % imagesc(pc1); %black&white % set(gca,'fontsize',6); subplot(dvd,2,i+(i*1)); plot(sum(pc1),'-r'); set(gca,'fontsize',6); end;

%cand=pc1;

set(win1,'CurrentAxes',ax2); im=imagesc(cand,'parent',ax2);

%---% CROP PLATE FROM CANDIDATE IMAGES %---clc;

[bar,kol]=size(cand); colormap(gray); cw=sum(cand);

%--- left & right cropping

sls=cw-max(cw);% dikurangi dengan nilai maksimum ridge kk=[sls 0];

bkiri=1;

bkanan=length(kk);

%mencari nilai terkecil dr kiri i=1;

while kk(i) > -3, bkiri=i; i=i+1; end;

%mencari nilai terkecil dari kanan i=kol;

while kk(i) > -3, bkanan=i; i=i-1; end;

ccand1=cand; ccand1(:,1:bkiri)=[];

ccand1(:,bkanan-bkiri-1:kol-bkiri)=[]; [br,kl]=size(ccand1);

%--- top & bottom cropping rw=sum(ccand1');

(29)

sls=rw-rw1; ab=sls; maks=0;

for i=1:length(sls)-1, if sls(i) >= maks, maks=sls(i); catas=i-1; batas=i; end; end;

sls(1:catas)=[]; for i=1:length(sls)-1, if sls(i) == min(sls), bbawah= i; end;

end;

ccand2=ccand1; ccand2(1:batas,:)=[]; size(ccand2)

ccand2(bbawah:bar-catas-1,:)=[]; set(win1,'CurrentAxes',ax3); im=imagesc(ccand2,'parent',ax3); plat=ccand2;

get_char.m

%---% CROP CHARACTERS FROM PLATE NUMBER IMAGES

%---clc; figure(2);

[bar,kol]=size(ccand2); cw=sum(ccand2); my_result=[]; punya ='';

%---%--- left & right cropping %mencari nilai terbesar dr kiri bkiri=[1];

bkanan=[]; shift = 0;

for i=1:length(cw), if shift==0,

if cw(i)==max(cw), if cw(i+1)==cw(i), shift=1;

bkanan=[bkanan i]; end;

end; else

(30)

bkiri=[bkiri i]; end;

end; end; end;

%generate char from plat clear sls;

tinggi=0;

for i=1:length(bkanan), subplot(1,length(bkanan),i); chr=ccand2(:,bkiri(i):bkanan(i)); %enhanced cropping for each character %--- top & bottom cropping rw=sum(chr');

filter=((15/100)*max(rw)); rw=[max(rw) rw max(rw)]; rw=(abs(rw-max(rw))>filter).*rw; rw1=[rw max(rw)]; rw1(1)=[]; sls=rw-rw1; batas=0; bbawah=length(sls); ii=1;

while (sls(ii) == 0),

batas=ii+1; % batas atas ii=ii+1;

end;

ii=length(sls)-1; while (sls(ii) == 0), ii=ii-1;

bbawah=ii+1; % batas bawah end;

batas; bbawah;

n_tinggi = bbawah-batas; if n_tinggi < (15*length(sls)/100), n_tinggi=tinggi(length(tinggi)); end;

tinggi=[tinggi n_tinggi];

rat_tinggi = floor(sum(tinggi)/(length(tinggi)-1)); if abs(bbawah-batas-rat_tinggi)>20, bbawah=batas+rat_tinggi; end; chr(1:batas,:)=[]; [bar,kol]=size(chr); chr(bbawah-batas:bar,:)=[]; imagesc(chr); %hasil akhir colormap(gray);

axis off;

bp=sum(sum(chr))/(bar*kol);

% disp(['maks black= ' num2str(bp) '%']); if bp<=0.70,

ocr=my_ocr(chr);

disp(['cek 4 char =' num2str(i) ' is ' ocr]); my_result=[my_result ocr];

(31)

end;

%saving result into different file of char end;

set(ed_result,'String',my_result); %my_result

my_ocr

function [ocr]=my_ocr(im_char)

%fungsi ini dibuat untuk melakukan pengenalan karakter load hrf_tmp.mat;

ocr=im_char; maks=0; i_ocr=0;

[br,kl]=size(ocr); for i=0:35,

eval(['[b0,k0]=size(tmp_' num2str(i) ');']);

%jika iamage yang dikenali ukurannya lebih kecil dari template dilakukan resize image if (b0>br)|(k0>kl)

ocr_r= IMRESIZE(ocr,[b0+1 k0+1]);

eval(['h = normxcorr2(tmp_' num2str(i) ',ocr_r);']); %--disp('resize');

else

eval(['h = normxcorr2(tmp_' num2str(i) ',ocr);']); end;

% disp(['i=' num2str(i) 'maks=' num2str(max(max(h)))]); if maks<max(max(h)),

maks=max(max(h)); i_ocr=i;

(32)

case 20 ocr = 'K'; case 21 ocr = 'L'; case 22 ocr = 'M'; case 23 ocr = 'N'; case 24 ocr = 'O'; case 25 ocr = 'P'; case 26 ocr = 'Q'; case 27 ocr = 'R'; case 28 ocr = 'S'; case 29 ocr = 'T'; case 30 ocr = 'U'; case 31 ocr = 'V'; case 32 ocr = 'W'; case 33 ocr = 'X'; case 34 ocr = 'Y'; case 35 ocr = 'Z'; otherwise

(33)

my_ocr2.m

function [ocr]=my_ocr2(im_char)

%fungsi ini dibuat untuk melakukan pengenalan karakter load hrf_tmp.mat;

ocr=im_char; maks=0; i_ocr=0;

[br,kl]=size(ocr); for i=0:35,

eval(['[b0,k0]=size(tmp_' num2str(i) ');']);

%jika image yang dikenali ukurannya lebih kecil dari template dilakukan resize image if (b0>br)|(k0>kl)

ocr_r= IMRESIZE(ocr,[b0+1 k0+1]);

eval(['h = normxcorr2(tmp_' num2str(i) ',ocr_r);']); %--disp('resize');

else

eval(['h = normxcorr2(tmp_' num2str(i) ',ocr);']); end

subplot(6,6,i+1); imagesc(h); colormap(gray); axis off;

%---switch i

(34)

case 25 txt = 'P'; case 26 txt = 'Q'; case 27 txt = 'R'; case 28 txt = 'S'; case 29 txt = 'T'; case 30 txt = 'U'; case 31 txt = 'V'; case 32 txt = 'W'; case 33 txt = 'X'; case 34 txt = 'Y'; case 35 txt = 'Z'; otherwise txt = num2str(i); end

title(['by tmp ' txt]);;

disp(['i=' num2str(i) 'maks=' num2str(max(max(h)))]); if maks<max(max(h)),

maks=max(max(h)); i_ocr=i;

(35)

ocr = 'J'; case 20 ocr = 'K'; case 21 ocr = 'L'; case 22 ocr = 'M'; case 23 ocr = 'N'; case 24 ocr = 'O'; case 25 ocr = 'P'; case 26 ocr = 'Q'; case 27 ocr = 'R'; case 28 ocr = 'S'; case 29 ocr = 'T'; case 30 ocr = 'U'; case 31 ocr = 'V'; case 32 ocr = 'W'; case 33 ocr = 'X'; case 34 ocr = 'Y'; case 35 ocr = 'Z'; otherwise

(36)

my_menu.m

%clear all; %clc;

load database;

win1 = figure('Color',[0.8 0.8 0.8], ... 'PaperPosition',[18 180 576 432], ... 'PaperUnits','points', ...

'Position',[20 100 900 472], ... 'Tag','Fig1', ...

'ToolBar','none',... 'Menubar','none',... 'Numbertitle','off',... 'Name','My Program'); ax1 = axes('Parent',win1, ... 'Units','pixels', ...

'CameraUpVector',[0 1 0], ... 'Color',[0 0 0], ...

'Fontsize',6,...

'Position',[21 96 385 308], ... 'Tag','Axes1', ...

'XColor',[0 0 0], ... 'YColor',[0 0 0], ... 'ZColor',[0 0 0]);

xl_ax1 = text('Parent',ax1, ... 'Color',[0 0 0], ...

'HandleVisibility','off', ...

'HorizontalAlignment','center', ...

'Position',[0.4973958333333333 -0.07817589576547235 9.160254037844386], ... 'Tag','Axes1Text4', ...

'VerticalAlignment','cap');

set(get(xl_ax1,'Parent'),'XLabel',xl_ax1); yl_ax1 = text('Parent',ax1, ...

'Color',[0 0 0], ... 'HandleVisibility','off', ...

'HorizontalAlignment','center', ...

'Position',[-0.07552083333333333 0.495114006514658 9.160254037844386], ... 'Rotation',90, ...

'Tag','Axes1Text3', ...

'VerticalAlignment','baseline');

set(get(yl_ax1,'Parent'),'YLabel',yl_ax1); ax2 = axes('Parent',win1, ...

'Units','pixels', ...

'CameraUpVector',[0 1 0], ... 'Color',[0 0 0], ...

'Fontsize',6,...

'Position',[437 326 317 45], ... 'Tag','Axes2', ...

'XColor',[0 0 0], ... 'YColor',[0 0 0], ... 'ZColor',[0 0 0]);

xl_ax2 = text('Parent',ax2, ... 'Color',[0 0 0], ...

(37)

'HorizontalAlignment','center', ...

'Position',[0.4968354430379747 -0.5454545454545454 9.160254037844386], ... 'Tag','Axes2Text4', ...

'VerticalAlignment','cap');

set(get(xl_ax2,'Parent'),'XLabel',xl_ax2); yl_ax2 = text('Parent',ax2, ...

'Color',[0 0 0], ... 'HandleVisibility','off', ...

'HorizontalAlignment','center', ...

'Position',[-0.09177215189873422 0.4772727272727271 9.160254037844386], ... 'Rotation',90, ...

'Tag','Axes2Text3', ...

'VerticalAlignment','baseline');

set(get(yl_ax2,'Parent'),'YLabel',yl_ax2); ax3 = axes('Parent',win1, ...

'Units','pixels', ...

'CameraUpVector',[0 1 0], ... 'Color',[0 0 0], ...

'Fontsize',6,...

'Position',[435 209 230 60], ... 'Tag','Axes3', ...

'XColor',[0 0 0], ... 'YColor',[0 0 0], ... 'ZColor',[0 0 0]);

xl_ax3 = text('Parent',ax3, ... 'Color',[0 0 0], ...

'HandleVisibility','off', ...

'HorizontalAlignment','center', ...

'Position',[0.4978165938864627 -0.406779661016949 9.160254037844386], ... 'Tag','Axes3Text4', ...

'VerticalAlignment','cap');

set(get(xl_ax3,'Parent'),'XLabel',xl_ax3); yl_ax3 = text('Parent',ax3, ...

'Color',[0 0 0], ... 'HandleVisibility','off', ...

'HorizontalAlignment','center', ...

'Position',[-0.1266375545851528 0.4745762711864408 9.160254037844386], ... 'Rotation',90, ...

'Tag','Axes3Text3', ...

'VerticalAlignment','baseline');

set(get(yl_ax3,'Parent'),'YLabel',yl_ax3); ed_file = uicontrol('Parent',win1, ... 'Units','points', ...

'BackgroundColor',[1 1 1], ... 'ListboxTop',0, ...

'Position',[10.5 27.75 221.25 15], ... 'Style','edit', ...

'Tag','EditText1');

tb_file = uicontrol('Parent',win1, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'ListboxTop',0, ...

'Position',[237 27 66 16.5], ... 'String','Car Image', ...

(38)

t1 = uicontrol('Parent',win1, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'FontName',' ''Arial', ...

'FontSize',14, ... 'FontWeight','bold', ...

'Position',[14.25 315 527.25 23.25], ...

'String','Proses Identifikasi Plat Nomor Mobil', ... 'Style','text', ...

'Tag','StaticText1');

t2 = uicontrol('Parent',win1, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'HorizontalAlignment','left', ...

'ListboxTop',0, ...

'Position',[327 284.25 172.5 17.25], ... 'String','Kandidat Gambar', ...

'Style','text', ... 'Tag','StaticText2');

t3 = uicontrol('Parent',win1, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'HorizontalAlignment','left', ...

'ListboxTop',0, ...

'Position',[327 200.25 169.5 20.25], ... 'String','Ekstraksi Plat Nomor', ... 'Style','text', ...

'Tag','StaticText3');

t4 = uicontrol('Parent',win1, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'HorizontalAlignment','left', ...

'ListboxTop',0, ...

'Position',[326.25 108 78.75 15.75], ... 'String','Hasil Identifikasi', ...

'Style','text', ... 'Tag','StaticText4');

ed_result = uicontrol('Parent',win1, ... 'Units','points', ...

'BackgroundColor',[0 0 0], ... 'FontSize',20, ...

'FontWeight','bold', ... 'ForegroundColor',[1 1 1], ... 'ListboxTop',0, ...

'Position',[326.25 75 173.25 32.25], ... 'String','', ...

'Style','edit', ... 'Tag','EditText2');

tb_plat = uicontrol('Parent',win1, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'ListboxTop',0, ...

'Position',[327.75 27 70.5 17.25], ... 'String','Find Plate', ...

(39)

tb_ocr = uicontrol('Parent',win1, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'ListboxTop',0, ...

'Position',[402 27 67.5 17.25], ... 'String','Run OCR', ...

'callback','GET_CHAR',... 'Tag','Pushbutton3');

tb_close = uicontrol('Parent',win1, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'Callback','Close', ...

'ListboxTop',0, ...

'Position',[473.25 27.75 67.5 16.5], ... 'String','Close', ...

'Tag','Pushbutton4');

tby = uicontrol('Parent',win1, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'ForegroundColor',[0 0 1], ...

'ListboxTop',0, ...

'Position',[408 314.25 108 12], ... 'String',' By : JEMMY', ... 'Style','text', ...

'Tag','StaticText5');

tpro = uicontrol('Parent',win1, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'ForegroundColor',[0 0 1], ...

'ListboxTop',0, ...

'Position',[416.25 326.25 108 12], ... 'String','Task : TUGAS AKHIR', ... 'Style','text', ...

'Tag','StaticText5');

tb_cari = uicontrol('Parent',win1, ... 'Units','points', ...

'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... 'Callback','hasilll', ...

'ListboxTop',0, ...

'Position',[544 150.75 67.5 25.5], ... 'String','Cari', ...

'Tag','Pushbutton6');

gbr1 = frame2im(gambar); colormap(gray);

if isrgb(gbr1)==1

gbr1 = rgb2gray(gbr1); end;

ori_image=imagesc(gbr1,... 'parent',ax1);

(40)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Pada zaman sekarang, semakin banyak orang yang memiliki kendaraan

bermotor. Setiap kendaraan harus memiliki tanda pengenal dalam bentuk plat nomor.

Plat nomor dapat menunjukkan asal kendaraan tersebut berdomisili.

Plat nomor kendaraan selain menunjukkan asal daerah juga dapat diketahui

identitas pemilik kendaraan tersebut. Informasi data kepemilikan biasanya tercatat di

kepolisian setempat, sehingga apabila suatu kejadian yang melibatkan suatu

kendaraan, informasi kepemilikan kendaraan tersebut dapat dilihat. Seiring dengan

banyak pemilik kendaraan, sehingga apabila pencarian data kepemilikan dilakukan

secara manual akan menghabiskan waktu, dengan memanfaatkan teknologi

pengolahan citra dan teknologi komputer, proses pencarian dapat dilakukan lebih

cepat.

Pada tugas akhir ini akan dibuat suatu sistem yang akan dapat membaca

nomor plat melalui kamera web, kemudian plat nomor tersebut akan diidentifikasi

dan dapat diketahui pemilik dari plat nomor.

1.2 Permumusan Masalah

Bagaimana membuat aplikasi perangkat lunak menggunakan kamera web

(41)

2

1.3 Tujuan

Tujuan dari tugas akhir ini yaitu membuat aplikasi perangkat lunak

menggunakan kamera web yang dapat mencocokkan nomor plat kendaraan dengan

database yang telah ada.

1.4 Pembatasan Masalah

Dalam tugas akhir ini, pembatasan dibatasi sampai hal-hal berikut yaitu :

1.

Hanya dapat mencari plat nomor kendaraan pribadi yang telah ada di

database.

2.

Diasumsikan plat nomor pemilik bukan hasil modifikasi.

3.

Diasumsikan pada bagian kendaraan hanya menggunakan satu plat nomor

asli.

4.

Data pemilik plat nomor kendaraan diasumsikan selalu up to date.

5.

Realisasi dilakukan dalam bentuk simulasi dengan menggunakan Matlab 7.

6.

Proses pengambilan gambar melalui kamera web diasumsikan pada jarak

pantau tertentu.

1.5 Sistematika Penulisan.

Sistematika penulisan tugas akhir ini dibagi menjadi 5 bab, yaitu:

Bab 1 : Pendahuluan.

Bab ini membahas tentang latar belakang, perumusan masalah, tujuan,

pembatasan masalah, dan sistematika penulisan.

Bab 2 : Landasan Teori.

Bab ini membahas tentang landasan teori dari pengolahan citra, dan

(42)

3

Bab 3 : Perancangan Perangkat Lunak.

Bab ini membahas tentang perancangan perangkat lunak dari aplikasi kamera

web untuk mengidentifikasi nomor plat mobil.

Bab 4 : Pengujian Perangkat Lunak.

Bab ini membahas tentang pengujian perangkat lunak dari aplikasi kamera

web untuk mengidentifikasi nomor plat mobil.

Bab 5 : Kesimpulan dan Saran.

(43)

42

BAB 5

KESIMPULAN DAN SARAN

5.1

Kesimpulan

1.

Dalam tugas akhir ini, program yang direalisasi mempunyai tingkat

kebehasilan pengenalan nomor plat sebesar 50 %

2.

Pengenalan tiap karakter pada nomor plat kendaraan adalah 75.71 %

3.

Kesalahan pembacaan karakter disebabkan banyaknya kemiripan korelasi

karakter yang satu dengan yang lain, contohnya karakter 4 diidentifikasi

sebagai Z.

5.2

Saran

1.

Untuk mendapatkan gambar yang lebih kontras, dapat dilakukan proses

pre-processing, misalnya meningkatkan tingkat kualitas kekontrasan

gambar.

2.

Untuk

dapat

diaplikasikan

pada

keadaan

sebenarnya,

perlu

dipertimbangkan proses waktu pengolahan, misalnya pengolahan gambar

(44)

DAFTAR PUSTAKA

1.

Alireza, Taufan, “

Pengenalan Nomor Plat Pada Kendaraan Secara

Statistik

”,

Universitas Kristen Maranatha, Bandung 2005.

2.

ClayM. Thompson and Loren Shure, “

Image Processing-Toolbox for use

with Matlab

”, The MathWorks,Inc., 1995.

3.

Erturk, Sarp,

Digital Image Processing

”, University Of Kocaeli, February

2003.

4.

M.A.Sid-

Ahmed, “

Image Processing Theory, Algorithms, and

Architecture

” McGraw Hill, Inc.

5.

The Mathwork, Inc,

“Image Processing Toolbox User’s Guide,

The

Mathworks, Inc, 1998.

6.

http://www.ilmukomputer.com

7.

http://www.platerecognition.info

Referensi

Dokumen terkait

KAN telah menandatangani Multilateral Recognition Arrangement (MLA) APAC untuk lembaga sertifikasi produk pada tanggal 16 Juni 2009 dan menandatangani Multilateral

hati autoimun yang bersifat kronis dan progresif yang ditandai dengan adanya cholangitis dan destruksi duktus bilier ukuran kecil yang akhir- nya dapat

(5) Usaha Jasa Penyediaan Tenaga Pengamanan (Guard Services) sebagaimana dimaksud dalam Pasal 53 huruf e, memberikan jasa berupa penyediaan tenaga Satpam untuk melakukan pengamanan

Postur yang tinggi merupakan salah satu faktor utama yang harus diperhatikan dalam pengidentifikasian bakat atlet usia dini, karena cabang olahraga bolavoli berhubungan

Walaupun ada yang mengikuti kegiatan suatu kelompok akan tetapi tidak mengarah ke penyalahgunaan narkoba, sebab aktivitas kelompok yang diikuti bersifat kegiatan

Diduga kombinasi antara pupuk organik vermikompos dengan amelioran abu terbang batubara dan pupuk anorganik pada dosis 75% pupuk anorganik dan 25% vermikompos dapat memberikan

dan shalat dhuhur berjama’ah. Dari beberapa kegiatan tersebut seorang guru Pendidikan Agama Islam menjadi teladan yang baik untuk mengajak siswa dalam berjama’ah. Me mberikan

Perangsangan yang datangnya dari lingkungan diluar individu anak adalah stimulasi yang didefinisikan oleh Soetjiningsih. 1 Anak yang banyak mendapatkan stimulasi