Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk mencari nilai HSV warna menggunakan OpenCV Python?
Untuk mencari HSV nilai sesuatu warna, kita boleh menggunakan penukaran ruang warna daripada BGR kepada HSV. Mula-mula, kami mentakrifkan nilai warna sebagai numpy.ndarray dalam format BGR dan kemudian menukarnya kepada HSV ruang.
Kita juga boleh mencari had dan atas HSV nilai sebagai [H-10, 100, 100] dan [H+10, 255, dan atas masing-masing boleh digunakan untuk mengesan objek warna tertentu.
Untuk mencari nilaiHSV sesuatu warna, ikut langkah berikut:
LangkahOpenCV dan NumPy Pastikan anda telah memasangnya.
import cv2 import numpy as npTentukan
numpy.ndarray untuk warna, dtype=np.uint8.
green = np.uint8([[[0, 255, 0]]])Tukar warna yang ditakrifkan di atas kepada
HSV.
hsvGreen = cv2.cvtColor(green, cv2.COLOR_BGR2HSV)Cetak nilai warna.
print("HSV of Green:", hsvGreen)Mari kita lihat beberapa contoh program untuk memahaminya dengan jelas.
Contoh 1
HSV untuk warna hijau Nilai BGR hijau ialah [0,255,0]..
# import required libraries import numpy as np import cv2 # define a numpy.ndarray for the color # here insert the bgr values which you want to convert to hsv green = np.uint8([[[0, 255, 0]]]) # convert the color to HSV hsvGreen = cv2.cvtColor(green, cv2.COLOR_BGR2HSV) # display the color values print("BGR of Green:", green) print("HSV of Green:", hsvGreen) # Compute the lower and upper limits lowerLimit = hsvGreen[0][0][0] - 10, 100, 100 upperLimit = hsvGreen[0][0][0] + 10, 255, 255 # display the lower and upper limits print("Lower Limit:",lowerLimit) print("Upper Limit", upperLimit)Output
−
BGR of Green: [[[ 0 255 0]]] HSV of Green: [[[ 60 255 255]]] Lower Limit: (50, 100, 100) Upper Limit (70, 255, 255)Terjemahan bahasa Cina bagi Contoh 2
HSV untuk warna yang BGR nilainya ialah [106,76,89].
# import required libraries import numpy as np import cv2 green = np.uint8([[[0, 255, 0]]]) # convert the color to HSV hsvGreen = cv2.cvtColor(green, cv2.COLOR_BGR2HSV) # here insert the bgr values which you want to convert to hsv bgr = np.uint8([[[106,76,89]]]) hsv = cv2.cvtColor(green, cv2.COLOR_BGR2HSV) print("BGR Value:", bgr) print("HSV Value:", hsv) # compute the lower and upper limits lowerLimit = hsvGreen[0][0][0] - 10, 100, 100 upperLimit = hsvGreen[0][0][0] + 10, 255, 255 # display the lower and upper limits print("Lower Limit:",lowerLimit) print("Upper Limit", upperLimit)Output
−
BGR Value: [[[76 76 89]]] HSV Value: [[[ 60 255 255]]] Lower Limit: (50, 100, 100) Upper Limit (70, 255, 255)
Atas ialah kandungan terperinci Bagaimana untuk mencari nilai HSV warna menggunakan OpenCV Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!