Détecter les objets verts avec des valeurs de seuil dans OpenCV
La détection d'objets de couleur spécifiques est une tâche courante dans le traitement d'image. Cette question montre comment définir des valeurs de seuil pour isoler les objets de couleur verte dans une image à l'aide d'OpenCV.
Définition de la valeur de seuil
Pour détecter les objets verts, vous pouvez définir un plage de valeurs de seuil dans l’espace colorimétrique Teinte (H), Saturation (S) et Valeur (V). La valeur H détermine la teinte de la couleur, tandis que S et V indiquent respectivement la saturation et la luminosité.
Méthode 1 : Espace colorimétrique HSV
Une approche consiste à utiliser le Espace colorimétrique HSV, qui fournit une représentation des couleurs plus précise que RVB. Pour le vert, vous pouvez spécifier une plage telle que :
Méthode 2 : cv2.inRange
Une autre méthode consiste à utiliser la fonction cv2.inRange(), qui prend deux arguments : un seuil de limite inférieur et une limite supérieure seuil. Par exemple, pour détecter le vert :
Exemple d'implémentation
Le code Python suivant illustre cela en utilisant OpenCV :
<code class="python">import cv2 import numpy as np # Read image img = cv2.imread("image.jpg") # Convert to HSV hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # Define threshold values lower_bound = (36, 25, 25) upper_bound = (70, 255, 255) # Create mask mask = cv2.inRange(hsv, lower_bound, upper_bound) # Extract green objects green = np.zeros_like(img, np.uint8) imask = mask > 0 green[imask] = img[imask] # Display cv2.imshow("Green Objects", green) cv2.waitKey(0)</code>
Ce code montre comment définir des valeurs de seuil pour isoler les objets verts d'une image d'entrée, présentant l'image résultante avec uniquement les régions vertes identifiées.
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!