Daftar Isi:
- Perlengkapan
- Langkah 1: Mengimpor Perpustakaan
- Langkah 2: Membuat Track Bar
- Langkah 3: Membuat TrackBars untuk Hue, Saturation dan Value
- Langkah 4: Cara Membaca dan Mengubah Ukuran Gambar
- Langkah 5: Membaca Nilai Track Bar untuk Menerapkannya ke Gambar
- Langkah 6: Menampilkan Gambar dan Mengatur Batas Atas dan Bawah
- Langkah 7: Sekarang Langkah Terakhir
- Langkah 8: Hasil Akhir
Video: Deteksi Warna dengan Python Menggunakan OpenCV: 8 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Halo! Instruksi ini digunakan untuk memandu tentang cara mengekstrak warna tertentu dari gambar dengan python menggunakan pustaka openCV. Jika Anda baru mengenal teknik ini maka jangan khawatir, di akhir panduan ini Anda akan dapat memprogram program deteksi warna Anda sendiri.
Berikut ini adalah fungsi atau bisa kita katakan teknik yang akan Anda pelajari, 1. Cara membaca gambar
2. Cara membuat Track Bar
3. Bagaimana mengatur nilai Hue, Saturation dan nilai dari sebuah gambar menggunakan track bar
4. Dan kemudian akan ada hasil akhir Anda
Anda dapat menonton video dari output yang saya lampirkan di bawah ini.
Jadi mari kita mulai
Perlengkapan
- Python 3
- perpustakaan openCV
- perpustakaan numpy
Langkah 1: Mengimpor Perpustakaan
Gambar ferrari kuning seperti yang ditunjukkan dan kami akan memprogram untuk mengekstrak hanya warna kuning dari gambar itu
Langkah pertama adalah mengimpor perpustakaan kami
1. Termasuk perpustakaan openCV. Itu disebut cv2 di python
2. Termasuk perpustakaan numpy sebagai np. The "as" memungkinkan kita untuk numpy sebagai np jadi tidak perlu menulis numpy lagi dan lagi
Langkah 2: Membuat Track Bar
Track Bar dibuat untuk menyesuaikan nilai Hue, Saturation dan Value dalam sebuah gambar.
cv2.namedWindow("TrackBars") Baris kode ini digunakan untuk membuat jendela keluaran baru dan nama jendela diberikan sebagai TrackBars (Anda dapat memberikan nama apa pun yang Anda inginkan)
cv2.resizeWindow("TrackBars", 600, 250) Fungsi ini digunakan untuk mengubah ukuran jendela. "TrackBars" adalah jendela mana yang ingin Anda ubah ukurannya karena saya ingin mengubah ukuran jendela TrackBars Saya telah menulis nama itu. Diikuti oleh dua bilangan bulat. Kedua bilangan bulat itu adalah lebar dan tinggi. Anda dapat bermain-main dengan dua angka itu untuk mengubah ukurannya
Langkah 3: Membuat TrackBars untuk Hue, Saturation dan Value
Sekarang kita akan membuat total 6 TrackBars untuk Hue, Saturation dan value. Masing-masing akan memiliki dua yaitu 1 untuk minimum dan 1 untuk maksimum. Kami akan menggunakan fungsi createTrackbar dari openCV. Pertama kita akan melihat sintaks dari fungsi ini.
cv2.createTrackbar("WINDOWNAME", "MAINWINDOWNAME", "RANGE"). Ini mungkin membingungkan tapi jangan khawatir kita akan melalui setiap langkah. Ingatlah satu hal bahwa dalam openCV nilai hue adalah 179, saturasi adalah 255 dan nilainya adalah 255
1. Membuat TrackBar untuk rona min:
cv2.createTrackbar("Hue min", "TrackBars", 0, 179, kosong)
Dalam Hue min ini adalah nama trackbar, TrackBars adalah jendela utama, 0 adalah posisi dimana slider kita akan berada dan 179 adalah range yang berarti silder akan bergerak dari 0-179
2. Membuat TrackBar untuk hue max:
cv2.createTrackbar("Hue max", "TrackBars", 179, 179, kosong)
Dalam Hue max ini adalah nama trackbar, TrackBars adalah jendela utama, 179 adalah posisi dimana slider kita akan berada dan 179 adalah jangkauan maksimum yang berarti silder akan bergerak dari 179-0
3. Demikian pula ulangi langkah-langkah untuk sat min, sat max, val min dan val max seperti yang ditunjukkan pada gambar
Gambar dengan latar belakang putih adalah gambar keluaran. Beginilah tampilan bilah trek Anda
Langkah 4: Cara Membaca dan Mengubah Ukuran Gambar
cv2.imread() memungkinkan Anda membaca gambar. Satu pemikiran penting yang perlu Anda ingat bahwa lokasi gambar Anda harus berada di folder yang sama dengan tempat program disimpan. Kita akan memasukkan while loop karena harus dijalankan sampai sedang membaca gambar atau bisa kita katakan sampai kondisinya benar
img = cv2.imread("ferrari.jpg")
- Dalam hal ini saya telah membuat nama variabel " img " di mana saya menyimpan gambar
- Di dalam cv2.imread tulis nama gambar dengan ekstensi di dalam tanda kutip ganda
Untuk mengubah ukuran gambar kita akan menggunakan fungsi cv2.resize. Bagian ini opsional, jika Anda ingin mengubah ukuran maka Anda dapat menggunakan fungsi ini
Di dalam cv2.resize pertama tulis nama variabel di mana gambar disimpan dan kemudian lebar dan tingginya
Langkah 5: Membaca Nilai Track Bar untuk Menerapkannya ke Gambar
Ok jadi sekarang kita akan membaca nilai trackbar bar sehingga kita bisa menerapkannya pada gambar kita. Kita akan mendapatkan nilai menggunakan fungsi cv2.getTrackbarPos().
Mari kita mulai dengan bagian itu…
h_min = cv2.getTrackbarPos("Hue min", "TrackBars")
Dalam pernyataan di atas saya membuat nama variabel h_min di mana saya akan menyimpan nilai Hue min. Jadi di dalam cv2.getTrackbarPos argumen pertama adalah " Hue min " karena saya ingin nilai hue min (Ejaannya harus sama persis dengan fungsi createTrackbar) dan argumen kedua adalah nama jendela trackbar tempatnya.
- Ulangi proses yang sama untuk h_max dan fungsi lainnya seperti yang ditunjukkan pada gambar di atas dan kemudian cetak semua nilai menggunakan print()
- Outputnya ditunjukkan pada gambar kedua. Itu mencetak nilai h_min, h_max, s_min, s_max, v_min, s_max
Langkah 6: Menampilkan Gambar dan Mengatur Batas Atas dan Bawah
Sekarang kita memiliki nilai min dan max dari hue, saturation dan value, kita akan menggunakan nilai ini untuk memfilter gambar sehingga kita bisa mendapatkan output warna tertentu dari sebuah gambar.
Kami akan membuat topeng untuk ini menggunakan fungsi cv2.inRange. Dan sebelum itu kita akan mengatur batas atas dan bawah dari hue, saturation dan value
Jadi buat nama variabel " lebih rendah " dan gunakan fungsi array numpy atur rentang min untuk ketiganya sebagai berikut
lebih rendah = np.array([h_min, s_min, v_min])
Ulangi langkah yang sama untuk bagian atas
atas = np.array([h_max, s_max, v_max])
Sekarang kita akan membuat topeng sebagai berikut
mask = cv2.inRange(resize, lower, upper) Di dalam cv2.inRang argumen pertama akan menjadi variabel di mana gambar terakhir saya disimpan, argumen ke-2 akan menjadi batas bawah dan argumen ke-3 akan menjadi batas atas.
Sekarang kita akan menampilkan gambar utama dan topeng. Untuk menampilkan kita akan menggunakan fungsi cv2.imshow()
cv2.imshow("img", ubah ukuran) Ini untuk menampilkan gambar utama. Argumen pertama adalah nama jendela yang dapat Anda beri nama apa pun yang Anda inginkan dan argumen kedua adalah variabel di mana gambar utama saya disimpan yang ingin Anda tampilkan.
Demikian pula ulangi langkah untuk topeng
cv2.imshow("Keluaran", topeng)
Langkah 7: Sekarang Langkah Terakhir
Pada langkah terakhir ini kita akan mengekstrak warna mobil dan tampilannya.
Saya telah membuat hasil nama variabel. Sekali lagi Anda dapat memberikan nama yang Anda inginkan. Jadi kita akan menggunakan fungsi cv2.bitwise_and() di mana kita akan menambahkan gambar bersama-sama dan membuat gambar baru. Dan di mana pun piksel di kedua gambar ada, itu akan dianggap sebagai ya atau " 1 ".
hasil = cv2.bitwise_and(mengubah ukuran, mengubah ukuran, mask=mask)
- Dalam argumen 1 ini akan menjadi gambar kita
- Argumen ke-2 juga akan menjadi gambar asli kami tetapi diikuti oleh topeng yang diterapkan yang kami buat sebelumnya
- Dan akhirnya hanya menampilkan hasilnya menggunakan fungsi imshow
Cukup salin tempel langkah terakhir ini hanya penundaan dan Anda dapat keluar dari jendela output dengan menekan " a " pada keyboard
Langkah 8: Hasil Akhir
Direkomendasikan:
Cara Menggunakan Deteksi Warna TCS3200 Dengan SkiiiD: 9 Langkah
Cara Menggunakan Deteksi Warna TCS3200 Dengan SkiiiD: Tutorial untuk mengembangkan Deteksi Warna TCS3200 dengan skiiiD
Mesin Cat Deteksi Warna: 4 Langkah
Mesin Cat Deteksi Warna: Mesin cat pendeteksi warna menyalin warna di sekitar Anda dan membiarkan Anda menggambar dengannya. Jika Anda memiliki cat warna primer, Anda dapat menggunakan sensor warna RGB untuk merasakan warna yang Anda inginkan dan mencampurnya. Tapi ingat, gunakan objek berwarna cerah
Deteksi Warna Sederhana Menggunakan OpenCV: 6 Langkah
Deteksi Warna Sederhana Menggunakan OpenCV: Hai! Hari ini saya akan menunjukkan metode sederhana untuk mendeteksi warna dari video langsung menggunakan OpenCV dan python. Pada dasarnya saya hanya akan menguji warna yang diperlukan ada di bingkai latar belakang atau tidak dan menggunakan modul OpenCV saya akan menutupi wilayah itu dan
Deteksi Objek W/ Dragonboard 410c atau 820c Menggunakan OpenCV dan Tensorflow.: 4 Langkah
Deteksi Objek W/ Dragonboard 410c atau 820c Menggunakan OpenCV dan Tensorflow.: Instruksi ini menjelaskan cara menginstal OpenCV, Tensorflow, dan kerangka kerja pembelajaran mesin untuk Python 3.5 untuk menjalankan aplikasi Deteksi Objek
Deteksi Warna Menggunakan LED RGB: 4 Langkah
Deteksi Warna Menggunakan LED RGB: Pernahkah Anda menginginkan cara otomatis untuk mendeteksi warna suatu objek? Dengan menyinari cahaya dengan warna tertentu pada objek dan melihat seberapa banyak cahaya yang dipantulkan kembali, Anda dapat mengetahui apa warna objek tersebut. Misalnya, jika Anda menyinari lampu merah