OpenCV Pengontrol robot soccer beroda berbasis raspberry PI 3 sebagai prototype ERSBI 2017

Menurut Gonzalez dan Woods 2002 ruang warna adalah suatu spesifikasi sistem koordinat dan suatu sub ruang dalam sistem tersebut dengan setiap warna dinyatakan dengan satu titik di dalamnya. Tujuan dibentuknya ruang warna adalah untuk memfasilitasi spesifikasi warna dalam bentuk standar. Ada berbagai macam ruang warna contohnya adalah RGB dan HSV [8]. Ruang warna HSV mengacu pada hue, saturation, and value value identik dengan luminance, dengan ide merepresentasikan nuansa warna dalam koordinat silindris 3-D. Model HSV disebut hexcone model [9]. Persamaan yang digunakan untuk konversi dari ruang RGB ke HSV adalah seperti berikut: � = � 2.2 = { � � � = − � − � � = − � − + � � = − � − + � � = 2.3 = { � � = � − � � � 2.4 Dengan R = Red, G = Green, B = Blue, Maks = max[R, G, B] dan Min = min[R, G, B] dan A = 60 o jika dalam derajat dan A = � bila dalam radian.

2.7. OpenCV

OpenCV Open Computer Vision adalah sebuah library yang sudah sangat familier pada operasi Pengolahan Citra Computer Vision. Computer Vision itu sendiri adalah cabang dari Bidang Ilmu Pengolahan Citra Image Processing yang memungkinkan komputer dapat melihat seperti manusia. Dengan vision tersebut komputer dapat mengambil keputusan, melakukan aksi, dan mengenali terhadap suatu objek. Beberapa pengimplementasian dari Computer Vision adalah Face Recognition, Face Detection, Face or Object Tracking, dan Road Tracking [10]. Berikut ini adalah beberapa contoh function yang terdapat pada library OpenCV [11]: a. Mengambil video sebagai input Untuk mengambil video, function yang dibutuhkan adalah VideoCapture. Parameter yang diisi dalam function tersebut adalah device index atau nama file video tersebut. Device index sebagai nomor untuk memilih kamera mana yang digunakan, jika hanya menggunakan satu kamera maka cukup mengisi parameter tersebut dengan angka 0. Contoh: Import cv2 vid = cv2.VideoCapture0 whileTrue: Mengambil video per frame ret, frame = vid.read Mengambil video dalam mode hitam-putih abu = cv2.cvtColorframe, cv2.COLOR_BGR2GRAY Menampilkan frame yang dihasilkan cv2.imshow‘frame’, abu if cv2.waitKey1 0Xff == ord‘q’:break menampilkan hasil akhir ketika semua proses telah selesai vid.release cv2.destroyAllWindows b. Mendeteksi objek berdasarkan warna Untuk mendeteksi suatu objek, manusia dapat melakukan hal tersebut dengan cara mengenali bentuk objek ataupun warna objek tersebut. Begitu juga komputer, dengan computer vision maka komputer bisa mendeteksi suatu objek berdasarkan bentuknya Edge Detection atau warnanya Color Detection. Jika mendeteksi suatu objek berdasarkan warna, openCV dapat menggunakan functioncv2.cvtColor untuk mengonversi pemilihan warna berdasarkan metode HSV Hue Saturation Value dari BGR Blue Green Red, pendeteksian warna dengan metode HSV lebih mudah dibandingkan dengan BGR [12]. Selain itu digunakan juga cv2.inRange untuk menentukan warna apa yang ingin dideteksi. Pendeteksian warna dengan HSV menggunakan perhitungan array sehingga dibutuhkan modul NumPy sebagai bantuan. Contoh: import numpy as np import cv2 vid = cv2.VideoCapture0 while1: ret, frame = vid.read konversi BGR ke HSV hsv = cv2.cvtColorframe, cv2.COLOR_BGR2HSV mendefinisikan warna yang dipilih batas_bawah = np.array[110,50,50] batas_atas = np.array[130,255,255] mendeteksi warna yang diinginkan mask = cv2.inrangehsv, batas_bawah, batas_atas c. Mendeteksi pergerakan objek dengan camshift Untuk melakukan tracker mendeteksi pergerakan suatu objek, OpenCV menyediakan suatu function yaitu camshift. Metode ini mendeteksi objek berdasarkan warna dan juga memperhitungkan perubahan warna yang terjadi ketika objek bergerak. Hal tersebut akan mengakibatkan active windows yang mendeteksi objek tersebut berubah besarnya sesuai dengan pergerakan objek tersebut. Contoh pemanggilan fungsi CamShift: ret, track_window = cv2.CamShiftobjek yang ingin dideteksi, batas active window, keadaan tracker berhenti

2.8. Vektor