Deteksi warna adalah mengenali objek berdasarkan warna tertentu pada sebuah gambar atau video.- OpenCV (cv2)
Digunakan untuk :
a. Mengolah gambar dan video
b. Mengakses kamera
c. Melakukan deteksi dan analisis objek
2. Numpy
Digunakan untuk :
a. Mengelola data dalam bentuk array (kumpulan data yang disimpan dalam satu variabel. Anggap saja kotak yang isinya banyak angka)
b. Menyimpan nilai batas bawah dan batas atas warna
- Konsep warna (Color Space)
a. BGR
BGR ini terdiri dari Blue, Green, Red. Pada smartphone, laptop, tablet yang kamu pegang saat ini sebenarnya terdiri warna biru, hijau dan merah yang akhirnya disatukan dan menghasilkan satu warna. Namun, BGR ini kurang cocok digunakan untuk mendeteksi warna, karena BGR ini sensitif cahaya.
b. HSV (Hue, Saturation, Value)
HSV lebih sering digunakan dalam deteksi warna karena lebih stabil terhadap perubahan cahaya dibandingkan BGR. HSV terdiri dari:
a. Hue: jenis warna
b. Saturation: tingkat kejenuhan warna
c. Value: tingkat kecerahan. 0 artinya Hitam.
Gambar atau video yang ditangkap oleh webcam awalnya memakai BGR, lalu mengubahnya ke HSV dengan memisahkan warna tertentu dari gambar atau video dan mengubah piksel yang sesuai rentang warna menjadi putih, apabila terdapat piksel di luar rentang warna maka akan menjadi hitam. 1. Membuka webcam
2. Menganalisa warna objek
3. warna objek BGR diubah ke HSV
4. Menampilkan hasil dengan HSV
1. Buatlah folder terlebih dahulu di File Explorer untuk meletakkan projek kalian.
2. Buka VSCode dan save, namai file tersebut, pilih python pada save as type, dan letakkan file projek kalian ke folder yang kalian buat tadi.
3. Pastikan python kalian versi 3.10 karena mediapipe paling stabil di python versi 3.10.
4. Buka terminal di VSCode, jika belum masuk folder yang sudah kita buat, maka ketik perintah cd "C:nama folder kalian"
Jika kalian malas mengetik manual folder kalian, cukup klik folder di File Explorer, klik kanan pada touchpad, klik copy as path.
Setelah itu, paste ke terminal.
5. Ketik kode programnya untuk akses membuka webcam.
6. Kita kembali ke terminal dan ketik perintah
pip install opencv-python untuk menginstall opencv dan tunggu hingga prosesnya selesai.
7. Jika sudah, ketik perintah pip install mediapipe. Mediapipe ini merupakan library dari Google untuk deteksi berbasis AI. Mediapipe digunakan untuk deteksi tangan (hand tracking), deteksi pose tubuh, deteksi wajah, landmark tracking ecara real-time.
8. Setelah itu, kita kembali ketik script kode codingan
Setelah itu, ketik perintah di terminal
pip install numpy. Numpy ini merupakan library untuk komputasi numerik di python. Numpy biasanya digunakan untuk memngolah data dalam bentuk array, perhitungan cepat dan efisien, menyimpan dan memanipulasi data gambar atau video.
9. Selanjutnya, ketik perintah python -m venv venv. venv ini digunakan untuk membuat virtual environment pada python. venv ini juga digunakan untuk mengisolasi library, menghindari konflik versi, menjaga python sistem tetap bersih.
10. Setalah install venv, kita akan mengaktifkan fungsi venv ini dengan ketik perintah .\venv\Scripts\Activate, hingga keluar (venv) seperti gambar dibawah ini.
11. Ketik perintah
dir untuk melihat repositor untuk memastikan venv berada dalam 1 folder.
nah disini venv sudah ada di folder.
12. Menentukkan rentang warna terlebih dahulu untuk mendeteksi warna yang akan kita setting. Disini saya ingin mendeteksi warna biru, jadi saya memakai rentang 85-135.
13. Ukur Hue, Saturation dan Value. untuk Value 0 artinya Hitam, ±20 artinya Sangat Gelap, 255 artinya Sangat Terang.
Bagian bawah yang ditandai merupakan rentang warna (hue)
Bagian kiri yang ditandai merupakan rentang saturasi
Jika sudah menentukan rentang yang akan dipilih, tulis ke codenya
14. Script dibawah ini untuk mengakses webcam supaya dibuka.
15. Lakukan looping. Kode ini
digunakan untuk mengambil satu frame gambar dari webcam, di mana succes menandakan berhasil atau tidaknya pengambilan gambar dan img berisi hasil tangkapan kamera.16. Kode ini berfungsi untuk mengubah citra dari format BGR ke HSV, lalu menyaring warna dari kamera berdasarkan rentang HSV yang telah ditentukan lalu diubah ke mask warna (Hitam Putih).
17. Baris kode dibawah ini digunakan untuk menampilkan hasil mask dan menampilkan tampilan webcam asli pada dua jendela yang berbeda.
18. Kode dibawah ini berfungsi untuk
memberi waktu sebentar agar layar bisa memperbarui tampilan sehingga video dapat berjalan dengan lancar. Apa jadinya apabila kita tidak memakai kode ini?
jendela OpenCV tidak akan tampil atau tidak responsif, sehingga video
tidak bisa diperbarui dan terlihat macet, bahkan jendelanya saja yang terbuka namun kameranya tidak bisa alias jendela dengan warna hitam.
19. Berikut tampilan full script.
20. Selanjutnya jalankan program dengan ketik perintah
python "namafilekamu.py" di terminal.
21. Tunggu sampai kamera on dan keluar.
22. Apabila ingin meng-off-kan kamera. klik keyboard kamu
Ctrl C maka kamera dan program deteksi warna kamu mati.
Ini hasil pendeteksi warna biru
ini hasil pendeteksi warna kuning dan orange.
TERIMA KASIH
SEMOGA ILMU YANG KITA PELAJARI SAMA SAMA BISA BERMANFAAT