BELAJAR ANALISIS DAN BAHASA PEMROGRAMAN

Membuat Color Trackbar Menggunakan Opencv Python


Pada akhir posting ini, kita akan membuat trackbar / slider warna HSV dasar yang cukup menyaring berbagai warna, sehingga kita memiliki rentang warna yang ingin diidentifikasi. HSV adalah singkatan dari 'Hue, Saturation, Value'. Ini terdiri dari 3 nilai terpisah yang menentukan rentang warna yang ingin kita temukan. Kita juga akan mencoba menambahkan salah satu operasi morfologi yaitu erosi. Kemudian nanti kita bisa bereksperimen sendiri untuk membuat trackbar yang diinginkan seperti max min dan lain lain.

Tutorial ini mengasumsikan Anda pernah menggunakan Python dan telah mencoba-coba dengan OpenCV. Jika Anda belum pernah menyentuh OpenCV, tutorial ini masih memiliki tautan ke apa pun yang perlu Anda ketahui untuk menyelesaikan penulisan code ini. Library yang digunakan adalah opencv dan numpy, untuk menginstallnya cukup menggunakan pip install cv2 dan pip install numpy.

1. Membuat Trackbar


OpenCV memiliki tutorial yang cukup bagus untuk membuat trackbars, tetapi disini kita akan memodifikasi sedikit sesuai yang dibutuhkan. kita bisa banyak membaca pada dokumentasi yang disediakan opencv karena saya rasa disana cukup lengkap sehingga nantinya anda cukup untuk memodifikasi sesuai kebutuhan. 
Disini kita akan mencoba menyelesaikan suatu masalah yang berbeda. Anda mungkin bertanya-tanya apa parameter fungsi cv2.createTrackbar (). Jadi parameternya adalah sebagai berikut:

cv2.createTrackbar (trackbar name, window name, minimum, maksimum, argumen)


Pada baris 2-3 kita melakukan pemanggilan packages/library yang kita gunakan yaitu opencv dan numpy. Pada baris 6-10 kita membuat sebuah fungsi yang diberi nama kamera dengan inputan x dimana digunakan untuk memilih kamera dan memberi nama window yaitu gambar. Kernel disini digunakan untuk  mengembalikan array baru dari bentuk dan jenis yang diberikan, diisi dengan nilai satu.

kita menetapkan nama trackbar di baris 13-18 dan kita juga sebenarnya bisa langsung memasukkan nama tersebut saat membuat trackbar. Pada baris 21-26, posisi minimum trackbar untuk semua instance adalah 0. Dalam istilah yang lebih sederhana, ketika kita menggeser slider, itu tidak akan di bawah nilai 0 karena tidak ada nilai HSV negatif. Posisi maksimum bervariasi. Untuk nilai-nilai Hue itu pergi dari 0-180, dan untuk Saturasi dan Val, itu pergi dari 0-255.

2. Proses Trackbar

Jangan khawatir jika Anda tidak mendapatkan kode, tetapi cobalah membaca dan memahami sebanyak yang Anda bisa.
Yang kita lakukan di sini adalah membaca aliran yang sebelumnya ditetapkan sebagai cap. Membaca frame menggunakan fungsi x.read () mengembalikan tuple. Kita dapat mengabaikan nilai pertama untuk saat ini, dan memanggil frame nilai kedua. Variabel frame ini sebenarnya merupakan array nilai. Setiap elemen dari array ini mengandung nilai BGR (Biru, Hijau, Merah). Secara konkret, setiap elemen adalah sebuah pixel.

Kita juga memperkenalkan Gaussian Blur. Ini biasanya diterapkan untuk mengurangi anomali piksel tunggal saat mencari larik. Baca lebih lanjut tentang fungsi Gaussian blur di sini, tetapi demi kesederhanaan, ingatlah bahwa parameter pertama adalah larik piksel yang kita terima dari cap.read (), dan nomor lainnya umumnya tidak tersentuh.

Konversi antara BGR ke HSV adalah diibaratkan mengkonversi antara mp3 dan wav untuk file musik kita. Kita pada dasarnya mengubah data dalam frame sehingga menjadi dapat dibaca dengan cara yang berbeda. Itulah fungsi cv2.cvtColor (). Kemudian menamai array baru 'hsv'.
Kita membaca trackbars dengan cv2.getTrackbarPos () dan menetapkan mereka ke variabel (Kita dapat menamai semuanya).
Di baris 19-10, frame terakhir seharusnya tidak menampilkan seluruh frame, seharusnya hanya menampilkan rentang yang ditentukan oleh trackbar. Untuk melakukan itu, kita harus membuat array numpy dengan nilai HSV yang lebih rendah, dan satu dengan nilai HSV yang lebih tinggi. Kemudian kita harus membuat mask untuk menerapkan rentang ini ke frame. Itulah yang dilakukan cv2.inRange(). Kemudian kita juga akan menampilkan frame erosi yaitu menggunakan fungsi cv2.erode().
Fungsi cv2.bitwise_and memungkinkan kita untuk menampilkan mask (gambar HSV dengan rentang yang difilter) kembali ke frame awal. cv2.imshow () mengambil 2 parameter, yaitu, window name dan image array. Kita akan menyimpan window name, dan akan memilih untuk menampilkan res array, karena itu berisi array yang difilter yang ditampilkan pada frame awal. Baris 6-8 hanya memungkinkan kita untuk keluar dari keseluruhan proses dengan menekan ‘q’. Untuk merunning program cukup dengan menjalankan python Color_trackbar.py. Sekarang coba-coba dengan trackbars untuk menemukan rentang warna yang Anda inginkan. Untuk full codenya bisa download disini.

Untuk saat ini mungkin sekian dulu yang bisa saya share, good luck codeers

Membuat Color Trackbar Menggunakan Opencv Python Membuat Color Trackbar Menggunakan Opencv Python Reviewed by thinkstudio on July 11, 2018 Rating: 5

No comments:

Powered by Blogger.