Maison > développement back-end > Tutoriel Python > Comment trouver la valeur HSV d'une couleur en utilisant OpenCV Python ?

Comment trouver la valeur HSV d'une couleur en utilisant OpenCV Python ?

王林
Libérer: 2023-08-19 14:25:14
avant
1000 Les gens l'ont consulté

如何使用OpenCV Python找到一种颜色的HSV值?

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 :

É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
Copier après la connexion

Définissez un numpy.ndarray pour la couleur, dtype=np.uint8.

green = np.uint8([[[0, 255, 0]]])
Copier après la connexion

Convertissez la couleur définie ci-dessus en HSV.

hsvGreen = cv2.cvtColor(green, cv2.COLOR_BGR2HSV)
Copier après la connexion

Imprimez les valeurs de couleur.

print("HSV of Green:", hsvGreen)
Copier après la connexion

Regardons quelques exemples de programmes pour le comprendre clairement.

Exemple 1

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)
Copier après la connexion

Sortie

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)
Copier après la connexion
La traduction chinoise de

Exemple 2

est :

Exemple 2

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)
Copier après la connexion

Sortie

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)
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal