Accueil Floss Manuals francophone

Puredata

Opérer une détection de couleurs

Continuons de visiter les techniques de vision par ordinateur. Cette fois, il s'agit simplement de repérer une zone de couleur (un « blob » en langage technique), et de récupérer ses coordonnées X et Y.

[pix_alpha] : filtrer les couleurs

Pd_DetectionCouleurRouge_3.png

Extrait du patch disponible ici : http://gitorious.org/flossmanuals-fr/pure-data/blobs/raw/master/patchs/GEM/detectiondecouleurrouge.pd

Dans cet exemple, le cercle blanc suit la chemise rouge. Nous pourrions donc réutiliser ces coordonnées pour manipuler d'autres types de médias ou d'effets !

L'astuce, récupérée sur le forum puredata.hurleur.com, consiste à utiliser l'objet [pix_alpha] pour filtrer la couleur que l'on souhaite, en combinaison avec l'objet [pix_blob] déjà traité plus haut. En général, les couleurs détectées sont des couleurs primaires.

Les valeurs passées à [pix_alpha] sont deux seuils de détection (pass et other) avec leurs valeurs en couleurs rouge-vert-bleu. Ainsi les messages [1 0.3 0.3< et [0.5 0 0< signifient que nous détectons la composante rouge entre une intensité moyenne (0.5) jusqu'à son maximum (1). Les autres composantes vertes et bleues sont atténuées, car nous ne prenons en compte que leurs intensités comprises entre 0 et 0.3.

Pour détecter la couleur verte, nous pourrions utiliser les messages [0.3 1 0.3< et [0 0.5 0<.