


Bagaimana untuk membuat peluncur palet warna RGB menggunakan OpenCV Python?
Dalam OpenCV, anda boleh menggunakan fungsi cv2.reateTrackbar() untuk mencipta bar trek. Untuk mengakses nilai kedudukan bar jejak yang dipilih, kami menggunakan fungsi cv2.getTrackbarPos().
Menggunakan dua fungsi ini, kami mencipta tetingkap yang mengandungi bar penjejakan untuk warna R, G, B dan tetingkap warna untuk memaparkan warna yang dipilih. Dengan menukar kedudukan bar trek, warna RGB berubah antara 0 dan 255. Lihat sintaks kedua-dua fungsi ini di bawah.
Tatabahasa
cv2.createTrackbar(trackbar_name, window_name, default_value, max_value, callback_func) cv2.getTrackbarPos(trackbar_name, window_name)
Parameter
trackbar_name - Ini ialah nama trackbar. Nama ini digunakan untuk mengakses nilai kedudukan bar jejak.
window_name - Ini adalah nama tetingkap yang dilampirkan bar penjejakan.
default_value - Nilai lalai yang ditetapkan untuk bar jejak.
maks_nilai - Nilai maksimum bar trek.
callback_func - Fungsi dilaksanakan apabila nilai bar trek berubah.
Langkah
Untuk mencipta bar trek palet RGB, anda boleh mengikuti langkah yang diberikan di bawah -
Langkah pertama ialah mengimport perpustakaan yang diperlukan. Perpustakaan Python yang diperlukan ialah OpenCV dan NumPy. Pastikan anda memasangnya.
import cv2 import numpy as np
Seterusnya, tentukan fungsi panggil balik. Ia mengambil kedudukan bar jejak sebagai parameter lalai. Kami mentakrifkan fungsi ini untuk melakukan apa-apa.
def nothing(x): pass
Tentukan imej hitam dan buat tetingkap yang dipanggil Palet Warna Bar Jejak. Bar trek dan warna akan muncul dalam tetingkap ini.
img = np.zeros((300,650,3), np.uint8) window_name = 'Trackbar Color Palette' cv2.namedWindow(window_name, cv2.WINDOW_AUTOSIZE)
Buat bar jejak untuk perubahan warna dengan semua lima parameter. Nilai bar jejak berjulat dari 0 hingga 255.
cv2.createTrackbar('R',window_name,0,255,nothing) cv2.createTrackbar('G',window_name,0,255,nothing) cv2.createTrackbar('B',window_name,0,255,nothing)
Dapatkan kedudukan bar jejak semasa untuk ketiga-tiga RGB warna.
r = cv2.getTrackbarPos('R',window_name) g = cv2.getTrackbarPos('G',window_name) b = cv2.getTrackbarPos('B',window_name)
Tetingkap imej berwarna dikemas kini dengan warna di atas.
img[:] = [b,g,r]
Kini menunjukkan warna nilai bar trek yang dipilih dalam tetingkap warna.
while(True): cv2.imshow(window_name,img) k = cv2.waitKey(1) & 0xFF if k == ord('q'): break
Contoh 1
Dalam program Python di bawah, kami mencipta tetingkap sebagai palet. Kami mencipta tiga bar trek untuk warna R, G dan B. Luncurkan peluncur untuk memaparkan warna yang sepadan dalam tetingkap warna.
# import required libraries import cv2 import numpy as np def nothing(x): pass # Create a black image, and the window img = np.zeros((300,650,3), np.uint8) window_name = 'Trackbar Color Palette' cv2.namedWindow(window_name, cv2.WINDOW_AUTOSIZE) # create trackbars for color change cv2.createTrackbar('R',window_name,0,255,nothing) cv2.createTrackbar('G',window_name,0,255,nothing) cv2.createTrackbar('B',window_name,0,255,nothing) while(True): cv2.imshow(window_name,img) k = cv2.waitKey(1) & 0xFF if k == ord('q'): break # get current positions of four trackbars r = cv2.getTrackbarPos('R',window_name) g = cv2.getTrackbarPos('G',window_name) b = cv2.getTrackbarPos('B',window_name) img[:] = [b,g,r] cv2.destroyAllWindows()
Output
Apabila anda menjalankan program di atas, anda akan melihat tetingkap Output berikut. Untuk menutup tetingkap output, tekan butang "q".
Nilai lalai untuk ketiga-tiga bar trek ialah sifar dan warna tetingkap adalah hitam. Luncurkan peluncur untuk melihat warna yang sepadan dalam tetingkap warna.
Contoh 2
Dalam program ini kami mencipta tetingkap sebagai palet dengan butang togol.
Kami mencipta empat bar trek, tiga untuk warna R, G, B dan satu untuk butang togol.
Apabila butang suis HIDUP, hanya warna dalam tetingkap warna dipaparkan. Luncurkan peluncur dan warna yang sepadan akan dipaparkan dalam tetingkap warna.
import cv2 import numpy as np def nothing(x): pass # Create a black image, a window img = np.zeros((300,650,3), np.uint8) window_name = 'Trackbar Color Palette' cv2.namedWindow(window_name, cv2.WINDOW_AUTOSIZE) # create trackbars for color change cv2.createTrackbar('R',window_name,0,255,nothing) cv2.createTrackbar('G',window_name,0,255,nothing) cv2.createTrackbar('B',window_name,0,255,nothing) # create switch for ON/OFF functionality # switch = '0 : OFF \n1 : ON' cv2.createTrackbar("switch", window_name,0,1,nothing) while(True): cv2.imshow(window_name,img) key = cv2.waitKey(1) & 0xFF if key == ord('q'): break # get current positions of four trackbars r = cv2.getTrackbarPos('R',window_name) g = cv2.getTrackbarPos('G',window_name) b = cv2.getTrackbarPos('B',window_name) s = cv2.getTrackbarPos("switch",window_name) if s == 0: img[:] = 0 else: img[:] = [b,g,r] cv2.destroyAllWindows()
Output
Apabila anda menjalankan program di atas, ia akan memaparkan tetingkap output berikut. Untuk menutup tetingkap output, tekan butang "q".
Nilai lalai untuk semua bar trek ialah 0. Warna tingkap adalah hitam. Apabila anda menghidupkan suis (pilih 1) dan luncurkan peluncur warna RGB ke nilai yang dikehendaki, tetingkap warna akan memaparkan warna yang sepadan.
Jika anda meluncurkan peluncur apabila suis dimatikan (ditetapkan kepada 0), warna tetingkap tidak akan berubah. Ia akan kekal seperti sedia ada (iaitu hitam).
Atas ialah kandungan terperinci Bagaimana untuk membuat peluncur palet warna RGB menggunakan OpenCV Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Bagaimanakah Uvicorn terus mendengar permintaan HTTP? Uvicorn adalah pelayan web ringan berdasarkan ASGI. Salah satu fungsi terasnya ialah mendengar permintaan HTTP dan teruskan ...

Menggunakan Python di Terminal Linux ...

Di Python, bagaimana untuk membuat objek secara dinamik melalui rentetan dan panggil kaedahnya? Ini adalah keperluan pengaturcaraan yang biasa, terutamanya jika perlu dikonfigurasikan atau dijalankan ...

Fastapi ...
