Maison >développement back-end >Tutoriel Python >Comment trouver la valeur HSV d'une couleur en utilisant OpenCV Python ?
Pour trouver la valeur HSV d'une couleur, nous pouvons utiliser la conversion de l'espace colorimétrique de BGR en HSV. Tout d'abord, nous définissons les valeurs de couleur comme numpy.ndarray au format BGR, puis les convertissons en espace HSV.
Nous pouvons également trouver les limites inférieures et supérieures de la valeur HSV sous la forme [H-10, 100, 100] et [H+10, 255, 255] respectivement. peut être utilisé pour suivre un objet d'une couleur particulière.
Pour trouver la valeur HSV d'une couleur, suivez ces étapes :
Importez les bibliothèques requises. Dans tous les exemples Python suivants, les bibliothèques Python requises sont OpenCV et NumPy Assurez-vous de les avoir déjà installées.
.import cv2 import numpy as np
Définissez un numpy.ndarray pour la couleur, dtype=np.uint8.
green = np.uint8([[[0, 255, 0]]])
Convertissez la couleur définie ci-dessus en HSV.
hsvGreen = cv2.cvtColor(green, cv2.COLOR_BGR2HSV)
Imprimez les valeurs de couleur.
print("HSV of Green:", hsvGreen)
Regardons quelques exemples de programmes pour le comprendre clairement.
Dans cet exemple, nous trouvons la HSV valeur de la couleur verte. La BGR valeur du vert est [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)
Lorsque vous exécutez le programme Python ci-dessus, il produira le résultat suivant −
BGR of Green: [[[ 0 255 0]]] HSV of Green: [[[ 60 255 255]]] Lower Limit: (50, 100, 100) Upper Limit (70, 255, 255)La traduction chinoise de
Dans cet exemple, on retrouve la HSV valeur d'une couleur dont la BGR valeur est [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)
Lorsque vous exécutez le programme Python ci-dessus, il produira le résultat suivant −
BGR Value: [[[76 76 89]]] HSV Value: [[[ 60 255 255]]] Lower Limit: (50, 100, 100) Upper Limit (70, 255, 255)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!