Vision OpenCV

De Pensée Profonde - Club de robotique
Aller à la navigation Aller à la recherche

Cette page est dédiée à la vision par ordinateur telle que nous la mettons en place. Il s'agit d'applications simples: détecter des objets, déduire leur distance ...

OpenCV ?

OpenCV est un groupe de librairies C/C++ dédiés à la vision temps réel par ordinateur. Développée par Intel, elle est distribuée sous licence BSD.
Mieux qu'une longue présentation, une visite sur le site officiel vous en apprendra d'avantage.


Comment ça se passe ?

Exemple de recherche de balles bleues

Un exemple de recherche de balles bleues fonctionnerait ainsi :

  • Obtenir le flux vidéo de la webcam.
  • Le filtrer, par exemple en faisant un flou gaussien.
  • Le convertir dans un espace colorimétrique moins sensible aux changements de luminosité (HSV, CIE L*a*b* ...)
  • Effectuer un seuillage sur les différentes couleurs (ici seul le bleu nous intéresse vraiment).
  • Un second filtrage destiné à mieux détecter les objets (ouverture/fermeture).
  • Finalement une reconnaissance de forme.

Le tout peut sembler complexe mais OpenCV nous simplifie bien la tâche. Au final un tel programme tiens en quelques lignes de code. La capture d'écran située à droite présente 5 fenêtres vidéos. De gauche à droite et de haut en bas :

  • Le flux vidéo source.
  • Le flux vidéo filtré avec le résultat de la détection d'objet (les cercles rouges incrustés).
  • Le seuillage filtré rouge.
  • Le seuillage filtré vert.
  • Le seuillage filtré bleu.