Voici un petit programme qui permet de calculer le taux d’une couleur (ici le rouge) d’une capture vidéo, ici via webcam.

 

 

Alors à quoi ça pourrait servir? A plein de choses. (Héhé) Par exemple, on pourrait faire une station de samples manipulée avec du papier blanc et de l’encre. Mettons, une caméra filmant une feuille de haut, (et avec un dessinateur à côté qui tâcherait de couleurs la page immaculée). On pourrait partager l’écran de capture en plusieurs zones, et selon le seuil de rouge, de vert, ou de bleu de chacune de ces zones, cela déclencherait des sons.

 

Le code est disponible ici. Par défaut, le blanc prend ces valeurs : fill(255,255,255), c’est à dire rouge = 255, vert = 255, bleu = 255; Si nous avons un écran blanc de 100 pixels fois 100 pixels, alors nous savons que nous avons un taux de rouge de 255 * 100 *100. Mais nous voulons une moyenne de rouge d’une image pouvant comporter moult-frites de nuances (inutile ici pour cet exemple monochrome…).

Reprenons notre code. Le principe est simple: on stocke dans la variable « rouge » toutes les informations colorimétriques de la totalité des pixels de la vidéo (c’est à dire sa hauteur fois sa largeur) via une boucle.

Dans la variable « tauxrouge » on ne récupère que les valeurs de rouge via la fonction red() depuis la variable « rouge » (qui porte mal son nom désolé); Puis on fait la moyenne de rouge contenue dans l’image en divisant la valeur faramineuse de rouge contenue dans l’image par le nombre de pixels de la capture vidéo. Ensuite, arbitrairement, on définit le seuil de rouge qui déclenche une action (255 étant alors logiquement la valeur maximum).