Le système de couleur HSV représente un vecteur de couleur avec trois composantes: Teinte, Saturation et Valeur. Dans ce système, l'information est codée de façon que seule la teinte peut être utilisé pour comparer deux couleurs de similarité. Pour utiliser le système HSV dans le filtre de couleur est nécessaire, d'abord, de savoir comment convertir une couleur dans le système RVB habituel de HSV. La formule est ci-dessous et il prend en entrée la couleur en RVB. Toutes les valeurs sont nécessaires pour être normalised.
M = max (r, g, b) m = min (r, g, b) si M = r; H = 60 * (g - b) /(M - m) si M = g; H = 60 * (b - r) /(M - m) si M = b; H = 60 * (r - g) /(M - m) S = (M - m) /m V = M Pour développer un filtre qui accepte uniquement les pixels arbitrairement similaires à une couleur désirée on peut convertir la couleur à la couleur HSV système et puis appliquer la formule suivante
|. H (x, y) - H (DesiredColor) |
Avec cela, il est possible de classer un pixel comme appartenant ou non appartenant à la couleur souhaitée.
Nous pouvons également vérifier la valeur et la saturation pour éviter d'accepter des pixels qui sont Exemple trop sombre ou trop light.An utilise FlashHere est un exemple réalisés dans ActionScript3 de détecter les pixels bleus sur le imagem capturée à partir d'une webcam. Le côté droit utilise la différence HSV, tandis que le côté gauche utilise la distance euclidienne en RVB. Visitez ce site pour apprendre comment compiler le flash code source dans un swf.