ir Pembuatan ROI
('opy Image ROl
Gambar 3. 87
Daia Fhrw Diaaram Dari Pembuatan ROI
Penjelasan dari pembuatan ROI:
- Ukuran ROI
Pertama ditentukan terlebih dahulu berapa besar ROI yang ingin dibuat.
- Pembuatan ROI
Membuat ROI berdasarkan size ROI yang telah ditentukan dengan menggunakan Set Jmage ROl yang terdapat di open source computer vision library.
- Copy lmageR.01
ROI yang telah dibuat di copy ke image yang dikehendaki.
Untuk menggambarkan ROI di dalam image dipergunakan fungsi cvRectansle.
116
Langkah-langkah pembuatan ROI dilakukan sebanyak 10 (sepuluh) kali denuan si:c vans* diineinkan.
Sumbu y
SetelahROI dibuat maka pada masing-masing ROI putih yang terdapat di masing-masing ROl.
m\a\pixel
Fhnvchari dari pencarian/>/.rc-7 putih
Menghitung jumlah pixel putih
r
Menghitung jumlah pixel hitam
<
Jumlah pixel hitam < nilai vans diset
Y
R O I = 1
( End Dari Mencari Pixei
Flowchart
Gambar 3. 89 Dari Pencarian 7
Putih J)
'ixe! Putih
ROI = 0
Penjelasan dari algoritma pencarian pixel putih : Menghitung jumlah/7/.ve/ putih.
ROI yang telah di copy kan ke image dari jalan terpendek. dicari nilai dan pixel putih dengan fungsi cvCountNonZero yang terdapat di open source
computer vision Iikraty.
118
• Menghitung jumlah pi.rcl hitam
Setelah nilai pixel putih didapatkan, maka jumlah pixel di dalam ROI dikurangkan dengan nilai pi.xcl puiih yang didapatkan, sehingga diketahui pixel hitam. Bila hasilnya lebih kecil dari suatu nilai yang telah ditentukan, maka ROI diberi nilai 1. tetapi bila hasilnya >= niiai yang telah ditentukan, maka ROI bernilai 0 (noll
Setelah nilai ROI telah diketahui. maka dibuat algoritma robot mobil berjalan.
Sebelum robot mobii berjalan, program akan mengecek posisi robot pada waktu pertama kali start. Sebelum robot mobil berjalan, diperiksa apakah titik tengah robot mobil sudah mencapai tempat fmish. bila belum sampai ke tempat /vn/.v/?, robot mobil akan meneruskan berjalan sampai ke tempat finish dengan memeriksa apakah robot mobil berjalan sejajar sumbu x atau sejajar sumbu y. Tetapi setelah robot mobil mencapai tempat finish, maka robot mobil akan berhenti dan program akan berhenti.
Titik teneah = Fuush
Robot mobil berhenti jalan
Program selesai )
y = sumbu y - sumbu (y-1) x = sumbu x - sumbu (x-l)
C End Dari Pengecekan Posisi Robot Mobil
Gambar3. 90
Daia Flcnv Dari Peneecekan Posisi Robot Mobil Pada Waktu Siart
120
Bila Robotroobil berialan sejajar sumbu x pada waktu pertama kali start
Simpul-(simpul - l ) > 0
Jalan lurus sementara
Jumlah looping jalan lurus sementara > nilai vane di sel
T
— • ] Y
Belok kanan
Belok
r
Y
Belok kiri
T Jalan lurus sumbu
X
negatif
Jalan Jurussementara
Jumlah loopmg jalan lurus sementara > nilai vane di set
Gambar 3. 91
Robot Mobil Berjalan Sejajar Sumbu x
Algoritma dari robot mobil jalan lurus sementara : - Untuk sejajar sumbu x positif.
Bila Roi 1 = 1. maka robot mobil akan belok kiri saja.
- Bila Roi 1 = 1 dan Roi 2 = 1 , maka robot mobil akan belok kiri saja.
- Bila Roi 1 = 1. Roi 2 = 1 dan Roi 3 = 1, maka robot mobil akan belok kiri saja.
- Bila Roi 5 = 1 , maka robot mobil akan belok kanan saja.
- Bila Roi 4 = 1 dan Roi 5 = 1, maka robot mobil akan belok kanan saja.
\
- Bila Roi 3 = 1, Roi 4 = 1 dan Roi 5 = 1, maka robot mobii akan belok kanan saja.
- Untuk kondisi selam kondisi diatas. maka robot mobil akan bergerakmaju.
Untuk sejajar sumbu x negatif.
Bila Roi 1 = 1, maka robot mobil akan belok kanan saja.
- Bila Roi 1 = 1 dan Roi 2 = 1 , maka robot mobil akan belok kanan saja.
- Bila Roi 1 = 1, Roi 2 = 1 dan Roi 3 = 1 , maka robot mobil akan belok kanan saja.
- Bila Roi 5 = 1, maka robot mobil akan belok kiri saja.
Bila Roi 4 = 1 dan Roi 5 = 1, maka robot mobil akan belok kiri saja.
- Bila Roi 3 = 1, Roi 4 = 1 dan Roi 5 = 1 , maka robot mobil akan belok kiri sa\u.
Untuk kondisi selam kondisi diatas, maka robot mobil akan bergerak maju.
Untuk sejajar sumbu y positif.
- Bila Roi 6 = 1 , maka robot mobil akan belok kiri saja.
Bila Roi 6 = 1 dan Roi 7 = 1 , maka robot mobil akan belok kiri saja.
Bila Roi 6 = 1 , Roi 7 = 1 dan Roi 3 = 1 , maka robot mobil akan beiok kiri saja.
Bila Roi 9 = 1 , m lka robot mobil akan belok kanan saja.
124
- Bila Roi 8 = 1 dan Roi 9 = 1 , maka robot mobil akan belok kanan saja.
- Bila Roi 3 = 1, Roi 8 = 1 dan Roi 9 = 1, maka robot mobil akan belok kanan saja.
- Untuk kondisi selain kondisi diatas, maka robot mobil akan bergerak maju.
Untuk sejajar sumbu y negatif.
- Bila Roi 6 = 1 , maka robot mobil akan belok kanan saja.
Bila Roi 6 = 1 dan Roi 7 = 1 , maka robot mobil akan belok kanan saja.
Bila Roi 6 = 1, Roi 7 = 1 dan Roi 3 = 1, maka robot mobil akan belok kanan saja.
- Bila Roi 9 = 1 , maka robot mobil akan belok kiri saja.
- Bila Roi 8 = 1 dan Roi 9 = 1 , maka robot mobil akan belok kiri saja.
- Bila Roi 3 = 1 , Roi 8 = 1 dan Roi 9 = 1 , maka robot mobil akan belok kiri saja.
- Untuk kondisi selain kondisi diatas, maka robot mobil akan bergerak maju.
Algoritma dari robot mobil berjalan sejajar sumbu x positif:
- Bila Roi 2 = 1 , Roi 3 = 0 dan Roi 4 = 0, maka robot mobil akan belok kiri saja.
- Bila Roi 2 = 0. Roi 3 = 1 dan Roi 4 = 0, maka robot mobil akan maju.
- Bila Roi 2 = 0, Roi 3 = 0 dan Roi 4 = 1. maka robot mobil akan belok kanan saja.
- Bila Roi 2 = 1 , Roi 3 = 1 dan Roi 4 = 0, maka robot mobil akan belok kiri saja.
- Bila Roi 2 = 0, Roi 3 = 1 dan Roi 4 = 1 , maka robot mobil akan belok kanan saja.
Untuk kondisi seiain kondisi diatas, maka robot mobil akan bergerak maju.
Algoritma dari robot mobil berjalan sejajar sumbu x negatif:
- Bila Roi 2 = 1 , Roi 3 = 0 dan Roi 4 = 0, maka robot mobil akan belok kanan saja.
- Bila Roi 2 = 0, Roi 3 = 1 dan Roi 4 = 0, maka robot mobil akan maju.
- Bila Roi 2 = 0, Roi 3 = 0 dan Roi 4 = 1 , maka robot mobil akan belok kiri saja.
Bila Roi 2 = 1 , Roi 3 = 1 dan Roi 4 = 0, maka robot mobil akan belok kanan saja.
- Bila Roi 2 = 0, Roi 3 = 1 dan Roi 4 = 1 , maka robot mobil akan belok kiri saja.
Untuk kondisi selain kondisi diatas, maka robot mobil akan bergerak maju.
126
Robot mobil berjalan sejajar sumbu Y pada pertama kali sturi
\
Jalan lurus sementara
Jumlah looping jalan lurus sementara > nilai yang di sei
Y
Belok kiri
T
Jalan lurus sumbu y negatif
128
Jalan lurus sementara
Jumlah looping jalan lurus sementara > nilai vana di sei
Gambar 3. 92
Robot mobil berjalan sejajar sumbu Y
Algoritma dari robot mobil berjalan seiaiar sumbu y positif:
- Bila Roi 7 = 1 , Roi 3 = 0 dan Roi 8 = 0, maka robot mobil akan belok kiri saja.
- Bila Roi 7 = 07 Roi 3 = 1 dan Roi 8 = 0, maka robot mobil akan maju.
Bila Roi 7 = 0. Roi 3 = 0 dan Roi 8 = 1 , maka robot mobil akan belok kanan saja.
- Bila Roi 7 = 1 , Roi 3 = 1 dan Roi 8 = 0, maka robot mobil akan belok kiri saja.
- Bila Roi 7 = 0, Roi 3 = 1 dan Roi 8 = 1, maka robot mobil akan belok kanan saja.
- Untuk kondisi seiain kondisi diatas, maka robot mobil akan bergerak maju.
Algoritma dari robot mobil berjalan sejajar sumbu y negatif:
- Bila Roi 7 = 1 . Roi 3 = 0 dan Roi 8 = 0, maka robot mobil akan belok kanan saja.
- Bila Roi 7 = 0, Roi 3 = 1 dan Roi 8 = 0, maka robot mobil akan maju.
Bila Roi 7 = 0, Roi 3 = 0 dan Roi 8 = 1, maka robot mobil akan belok kiri saja.
- Bila Roi 7 = 1 . Roi 3 = 1 dan Roi 8 = 0, maka robot mobil akan belok kanan saja.
- Bila Roi 7 = 0, Roi 3 = 1 dan Roi 8 = 1 , maka robot mobil akan belok kiri saja.
Untuk kondisi selain kondisi diatas, maka robot mobil akan bergerak maju.
Setelah robot mobil berjalan sesuai perintah, maka program akan melakukan looping untuk mengetahui posisi robot pada terakhir kali. Untuk mengetahui posisi robot mobil terakhir kali, maka PoslnitTrack atau posisi robot harus diperbaharui.
130
Flowchar/ dari perhitungan updaie PosInitTrack dari wama biru pada robot mobil:
/ Inisialisasi awal PosInitTrack \
\ warna bini dari mouse J
Image probabilitas warnabiru
cvCamShift
Output box warna biru
Updale PosInitTrack warna biru
GambarS. 93
llpdate PosInitTrack Dari Warna Biru
Penjelasan algoritma dari perhitungan updaie PosInitTrack dari warna biru pada robot mobil :
- cvCamShift
Image probabilitas unage warna biru yang telah didapatkan dan Inisialisasi awal PosInitTrack wama biru dari mouse dilakukan proses CamShift untuk mendapatkan outpul box warna biru.
- Output bux wama biru
Outpui box warna biru mempunyai informasi mengcnai batas-batas dari warna biru pada bagian atas hody robot yang digunakan program untuk
meneenali wama bi; u.
Setelah ouipul box warna biru telah didapatkan, maka PosfnitTrack warna biru dihitung ulang berdasarkan informasi output hox warna biru yang terbaru, dimana PosInitTrack yang baru ini digunakan untuk menghitung CamShift yang berikutnya.
Flowchart dari perhitungan updale PosInitTrack dari warna kuning pada robot mobil:
Inisialisasi awal PosInitTrack warna kunins dari mouse
Image probabilitas
Ontpiii box warna kuning r
Update PosInitTrack warna kuning
GambarS. 94
Updale PosInitTrack Dari Warna Kuning
132
Penjeiasan algoritma dan perhitungan npdate PoslnitTrack dari warna kuning pada robot raobil:
- cvCamShift
Image probabilitas image warna kuning yang telah didapatkan dan Inisialisasi awal PoslnitTrack warna kuning dari mouse dilakukan proses CamShift untuk mendapatkan onipvt box warna kuning.
- Oniput box wama kuning
Ouiput box warna kuning mempunyai informasi mengenai batas-batas dari wama kuning pada bagian atas body robot yang digunakan program untuk mengenali waraa kuning.
- Update PosInitTrack warna kuning
Setelah output box wama kuning telah didapatkan, maka PosInitTrack wama kuning dihitung ulang berdasarkan informasi outpnt box warna kuning yang terbaru, dimana PosInitTrack yang baru ini digunakan untuk menghitung CamShift yang berikutnya.
Proses ini akan berhenti sampai robot mobil menemukan titik finish.