Détermination des limites HSV pour la détection des couleurs avec cv2.inRange dans OpenCV
Lors de l'utilisation de la fonction cv2.inRange dans OpenCV pour la détection des couleurs, Il est crucial de choisir les limites HSV (teinte, saturation, valeur) supérieures et inférieures appropriées pour identifier avec précision la cible. couleur.
Identification du problème :
Prenons l'exemple d'une image contenant une canette de café avec un couvercle orange, comme indiqué ci-dessous.
[Image d'une canette de café avec un couvercle orange]
L'objectif est de déterminer les limites du HSV pour isoler le couvercle orange. Initialement, une plage de (18, 40, 90) à (27, 255, 255) a été tentée, mais elle a donné des résultats inattendus.
Solution 1 : Conversion d'échelle
Il est important de noter que différentes applications peuvent utiliser différentes échelles pour les valeurs HSV. OpenCV utilise une échelle de H : 0-179, S : 0-255, V : 0-255, tandis que certaines autres applications peuvent utiliser une échelle de H : 0-360, S : 0-100, V : 0-100. Par conséquent, il est nécessaire de convertir les valeurs HSV en conséquence.
Solution 2 : Conversion de l'espace colorimétrique
OpenCV utilise le format de couleur BGR (Bleu, Vert, Rouge) par par défaut, tandis que l'image peut être au format RVB (Rouge, Vert, Bleu). Pour convertir correctement l'image en HSV, il est essentiel d'utiliser cv2.COLOR_BGR2HSV au lieu de cv2.COLOR_RGB2HSV.
Code révisé :
import cv2 import numpy as np image = cv2.imread('kaffee.png') # Revised HSV boundaries considering scale conversion ORANGE_MIN = np.array([5, 50, 50], np.uint8) ORANGE_MAX = np.array([15, 255, 255], np.uint8) # Convert image to HSV color space hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) # Apply color filtering mask = cv2.inRange(hsv, ORANGE_MIN, ORANGE_MAX) # Save the masked image cv2.imwrite('kaffee_out.png', mask)
Cette approche révisée devrait fournissent des résultats plus précis en isolant le couvercle orange de la boîte de café.
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!