3.2.2. Pengambilan Citra Rambu
Tahap pengambilan citra rambu adalah proses mengambil gambar capture rambu lalu lintas menggunakan webcam yang diletakan sejajar dengan gambar rambu lalu-lintas
dengan jarak dan sudut yang bervariasi. Webcam akan dihubungkan ke perangkat laptop komputer menggunakan sambungan USB 2.0 sehingga gambar yang telah di-capture dapat
dikirimkan dan diterima oleh laptop komputer yang kemudian diolah menggunakan Matlab
.
Sebelum melakukan pengambilan citra rambu, webcam harus di-inisialisai terlebih dahulu oleh Matlab dengan cara membuat suatu fungsi di dalam Matlab. Perintah
‘winvideo’berfungsi untuk meng-inisialisasi webcam agar dapat dikenali oleh Matlab. Selanjutnya menggunakan perintah
‘getsnapshoot’ untuk mengambil citra, seperti yang diperlihatkan diagram alir pada Gambar 3.6.
Gambar 3.6. Diagram alir pengambilan citra
Tahap pengambilan citra rambu menggunakan webcam merupakan tahap awal dari sistem pengenalan rambu lalu-lintas. Input citra dari tahap ini berasal dari gambar rambu
lalu-lintas berukuran 60 cm x 60 cm. Proses pertama tahap ini adalah menyalakan webcam dengan menggunakan fungsi
‘vidobj’, sedangkan untuk inisialisasi webcam menggunakan fungsi
‘winvideo’ yang sudah tersedia pada Matlab. Setelah webcam menyala, proses selanjutnya adalah pengambilan citra capture rambu lalu-lintas
menggunakan fungsi ‘getsnapshoot’. Citra hasil capture akan dijadikan input untuk
tahap selanjutnya yaitu tahap preprocessing. Contoh program untuk mengambil citra rambu dapat dilihat dibawah ini.
vidobj = videoinput winvideo
,1, YUY2_640x480
; previewvidobj;
pause frame = getsnapshotvidobj;
stopvidobj deletevidobj
gambar=yuy2torgbframe; imshowgambar
3.2.3. Tahap Preprocessing
Tahap preprocessing merupakan tahap kedua dari sistem pengenalan rambu lalu- lintas, yang mana tahap ini berfungsi untuk mengolah citra agar mempermudah pengolahan
citra ke tahap selanjutnya yaitu tahap ekstraksi ciri. Tahap preprocessing terdiri dari empat
proses yaitu proses grayscale, proses cropping, proses bounding box dan proses resizing.
- Proses grayscale
Proses ini bertujuan untuk mengubah citra menjadi berwarna keabuan sehingga dapan memudahkan dalam proses selanjutnya yaitu ekstraksi ciri. Proses ini
menggunakan perintah yang sudah tersedia di Matlab yaitu perintah rgb2gray. Perintah rgb2gray merupakan perintah untuk mengubah format gambar rgb
menjadi grayscale. Contoh programrgb2gray dapat dilihat dibawah ini dan citra grayscale
bisa dilihat pada Gambar 3.7. X=imread
filename ;
X1=doublergb2grayX; X2=X1255;
imshowX2
a b
Gambar 3.7. konversi citra rgb ke grayscale a citra masukkan rgb, b citra hasil grayscale
- Proses cropping
Proses ini merupakan proses untuk mendapatkan data yang diinginkan dengan cara memotong bagian tertentu dari suatu citra sehingga memudahkan dalam
pengolahan data untuk proses selanjutnya. Matlab telah menyediakan suatu
perintah untuk cropping, yaitu imcrop ‘variabel’
,[x y Δx Δy].Kolom pertama dan kedua yaitu x dan y merupakan koordinat pada sumbu x
dan y kiri atas. Kolom ketiga yaitu Δx merupakan selisih antara sumbu x kanan atas
dengan sumbu x kiri atas . Sedangkan kolom ketiga yaitu Δy merupakan selisih
antara sumbu y kiri bawah dengan sumbu y kiri atas. Seperti yang diperlihatkan pada contoh program dibawah ini, dimana X2 merupakan variabel dari output
grayscale sedangkan untuk nilai-nilai dari x, y
, Δx, dan Δy didapat dari nilai koordinat seperti yang ditampilkan pada Gambar 3.8.
X3=imcropX2,[200 100 400 400]; imshowX3
Nilai x dan y dapat dilihat pada sumbu koordinat yang diperlihatkan pada Gambar 3.8. bagian a, dimana terlihat sumbu x dan y berada pada sumbu koordinat
200,100. Nilai Δx didapat dari selisih sumbu x bagian kanan Gambar b dengan
sumbu x bagian kiri Gambar a sehingga Δx = 600 – 200 = 400. Nilai Δy didapat
dari selisih sumbu y bagian kiri bawah Gambar c dengan sumbu y bagian kiri atas Gambar a, sehingga didapat
Δy = 500 – 100 = 400. Setelah nilai-nilai x, y, Δx, dan