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