Lompat ke konten Lompat ke sidebar Lompat ke footer
Sabar OM masih Loading... . GET LINK

Kode Program Pendeteksi Plat Kendaraan Bermobil Menggunakan MATLAB

PENDETEKSI PLAT KENDARAAN BERMOBIL PADA GAMBAR MENGGUNAKAN MATLAB 

 PENDETEKSI PLAT KENDARAAN BERMOBIL PADA GAMBAR MENGGUNAKAN MATLAB

Proyek ini merupakan proyek untuk percobaan pendeteksi plat kendaraan bermobil yang ada pada sebuah gambar. Proyek dibuat menggunakan program MATLAB dengan timeline pengerjaan, Metode yang digunakan pada pembuatan PENDETEKSI PLAT KENDARAAN BERMOBIL PADA GAMBAR MENGGUNAKAN MATLAB adalah metode segmentasi. Proses segmentasi citra bertujuan untuk memisahkan antara objek (foreground)  dengan background. Pada umumnya keluaran hasil segmentasi citra adalah berupa citra biner di mana objek (foreground) yang dikehendaki berwarna putih (1), sedangkan background yang ingin dihilangkan berwarna hitam (0). Proses segmentasi citra bersifat eksperimental dan subjektif. Beberapa metode segmentasi adalah sebagai berikut :

  1. Thresholding : Thresholding merupakan salah satu metode segmentasi citra di mana prosesnya didasarkan pada perbedaan derajat keabuan citra. Dalam proses ini dibutuhkan suatu nilai batas yang disebut nilai threshold. 
  2. Active Contour : Metode segmentasi menggunakan model kurva tertutup yang dapat bergerak melebar ataupun menyempit. 
  3. Segmentasi Warna : Segmentasi warna merupakan salah satu metode segmentasi citra yang memisahkan antara objek dengan background berdasarkan ciri warna tertentu dari objek tersebut. Proses segmentasi warna,salah satunya dapat dilakukan dengan cara mengkonversi ruang warna citra yang semula RGB (Red, Green, Blue) menjadi ruang warna HSV (Hue, Saturation, Value). Komponen Hue merupakan komponen yang merepresentasikan warna dari berbagai panjang gelombang cahaya. Komponen Hue dari ruang warna HSV kemudian diekstrak dan dibagi-bagi menjadi beberapa daerah warna. 
  4. Deteksi Tepi : Deteksi tepi berfungsi untuk mengidentifikasi garis batas (boundary) dari suatu objek yang terdapat pada citra. 

  • BAHAN YANG DIGUNAKAN 

Pengerjaan pendeteksi plat kendaraan bermobil pada gambar menggunakan beberapa gambar kendaraan yaitu mobil dengan tampak belakang maupun depan yang memiliki plat kendaraan terpasang. Beberapa gambar yang digunakan adalah sebagai berikut. 



 PENDETEKSI PLAT KENDARAAN BERMOBIL PADA GAMBAR MENGGUNAKAN MATLAB


  •  KODE PROGRAM :

clear
close all
clc

I=imread('%NAMA FILE GAMBAR YANG DIGUNAKAN');

figure,
imshow(I); %menampilkan gambar asli title('original image');

Im1 = rgb2gray(I); %merubah gambar menjadi abu abu figure(2),
subplot(1,2,1), %penataan gambar grid pertama imshow(Im1); %menampilkan gambar pada variable Im1 title('graylevel');
figure(2),
subplot(1,2,2), %penataan gambar grid kedua
imhist(Im1); %menampilkan histogram dari gambar pada varialbel Im1 title('histogram');

Im2 = imadjust(Im1,[0.2,0.8],[0,1]); %mempertinggi tingkat warna figure(3),
subplot(1,2,1),
imshow(Im2);

title('enhanced graylevel');
figure(3), subplot(1,2,2), imhist(Im2); title('histogram');

Im3 = edge(Im2,'sobel',0.15,'both'); %memproses deteksi tepi pada gambar figure(4),
imshow(Im3);
title('edge detection');

se = [1;1;1];
Im4 = imerode(Im2,se);
se = strel('rectangle',[25,25]);

Im5 = imclose(Im4,se); %memperhalus gambar

Im6 = double((Im5)>230);
Im6 = bwareaopen(Im6,2000); [y,x,z] = size(Im6);
Im7 = double(Im6); Blue_y = zeros(y,1); for i = 1:y
for j = 1:x
if (Im7(i,j,1) == 1)
Blue_y(i,1) = Blue_y(i,1) + 1;
end


end


end

[temp,MaxY] = max(Blue_y); PY1 = MaxY;
while ((Blue_y(PY1,1)>=5)&&(PY1>1))
PY1 = PY1 - 1;
end
PY2 = MaxY;
while ((Blue_y(PY2,1)>=5)&&(PY2<y)) PY2 = PY2 + 1;
end
IY = I(PY1:PY2,:,:); Blue_x = zeros(1,x); for j = 1:x
for i = PY1:PY2 if(Im7(i,j,1) == 1)
Blue_x(1,j) = Blue_x(1,j) + 1;




end

end

end
PX1 = 1;
while ((Blue_x(1,PX1)<5)&&(PX1<x)) PX1 = PX1 + 1;
end
PX2 = x;
while ((Blue_x(1,PX2)<5)&&(PX2>PX1)) PX2 = PX2 - 1;
end

PY = PY2 - PY1; PX = PX2 - PX1;

dw = I(PY1:PY2,PX1:PX2,:);
figure(5), subplot(1,2,1), imshow(IY),
title('horizontal shearing');
figure(5), subplot(1,2,2), imshow(dw),
title('vertical shearing');



b = rgb2gray(dw);

figure(6), subplot(2,2,1), imshow(b),
title('gray-level image'); g_max = double(max(max(b))); g_min = double(min(min(b)));
T = round(g_max-(g_max-g_min)/3);

d = double((b)>=T);

figure(6), subplot(2,2,2), imshow(d), title('binary image');
h = fspecial('average',3);
d = im2bw(round(filter2(h,d)));

figure(6), subplot(2,2,3), imshow(d),
title('after mean-filter');



e=cutting(d); subplot(2,2,4), imshow(e),
title('edge cutting');

  • OUTPUT 

Output pada program yang sudah dibuat terdapat gambar pada beberapa langkah. Langkah

langkah serta output nya adalah sebagai berikut. 

1. Gambar asli


2. Gambar greylevel


3.Gambar enchanced greylevel


4. Gambar Deteksi Tepi


5. Gambar pemotongan secara horizontal dan vertical


6. Gambar graylevel, binary, aft


Demikian yang bisa saya bagikan, Semoga bermanfaat. Jika memiliki kritik, saran dan pertanyaan, jangan sungkan untuk menambahkannya pada kolom komentar di bawah ini. Terima kasih sudah berkunjung :)