Retour

Pour toute remarque concernant cette page : maintainer CHEZ deb-indus POINT org

Sommaire

Introduction
Installation des composants
Développement
Exemples d’applications


Introduction

La vision industrielle...quel vaste sujet. Aujourd’hui on utilise énormément de systèmes de vision pour remplir des fonctions très variées. Cela va du contrôle de code barre sur une ligne de production jusqu’à la régulation du traffic routier en passant par des contrôles dimensionnels sur des pièces dans l’industrie manufacturière et la reconnaissance de visage pour rentrer dans les locaux d’une entreprise.
Bref, Big Brother nous regarde.
Etant donné les implications de ce type de technologie il est nécessaire que le logiciel libre s’en occupe un peu.
Pourquoi ? Imaginez tous ces logiciels qui vous regardent quand vous circulez dans la rue, dans une gare, ou les logiciels qui contrôlent les freins de votre voiture. Préférez-vous qu’ils soient ouverts, robustes, stables et sans trop de failles de sécurité ou bien propriétaires, fermés, opaques et qu’ils renvoient des informations à leur concepteur ou qu’ils plantent et laissent passer un jeu de frein défectueux. Je passe sur le logiciel proprio qui appelle la police dès qu’il voit quelqu’un avec un tee-shirt debian.
Bon en gros la vision est un domaine de l’informatique, libérons-la.

C’est ce qu’a commencé à faire notre grand ami fabricant de micro-processeurs Intel. Et oui, il a développé et libéré une librairie openComputerVision (opencv) permettant de remplir de nombreuses tâches de vision. Cela va des tâches simples (binarisation d’une image, capture sur une webcam) jusqu'à des tâches compliquées comme la reconnaissance d’objets complexes, comme un visage.

Dans les pages qui suivront je vais essayer de vous détailler mon périple de développeur d’application de vision libre.

sommaire

Installation des composants

Comme d’habitude tout se passera sur une DEBIAN ETCH avec le noyau du moment. Pour ma part j’ai fait des choses sous gnome avec anjuta ou juste sous X avec icewm et ça se passe toujours bien. Donc pas de stress avec des pensées du genre : "C’est encore mon KDE qui fout la ***". Vous aurez besoins de quelques paquetages et de pas mal de patience.
Pour l’installation :

su + password
apt-get install libcv0.9.7-0 libcvaux0.9.7-0 libcvaux-dev libcv-dev libhighgui0.9.7-0 libhighgui-dev opencv-doc

Cela va vous ramener plein de monde en dépendance mais c’est le prix à payer pour développer un peu.

sommaire

Développement

Personnellement je développe sous gnome avec Anjuta, je sais c’est mal, mais j’ai vu pire.
Bon, anjuta est un mauvais garçon, pour avoir le droit d’utiliser opencv il vous faudra faire la manipulation suivante (venant d’une doc ubuntu).
Dans le menu Configuration du projet--bibliothèques rajoutez les 3 lignes :

PKG_CHECK_MODULES(OPENCV, opencv)
AC_SUBST(OPENCV_CFLAGS)
AC_SUBST(OPENCV_LIBS)

Soit
Config Anjuta 1

Et dans le menu Préférences -- Compilateur et éditeur de liens -- options

Config Anjuta 2

Relancez un automake (menu construire -- autogénération et puis c’est parti !

Si vous faites vos makefile vous même pensez à renseigner vos CFLAGS et LDFLAGS.

sommaire

Exemples d’applications

Dans un premier temps je n’ai le temps de vous présenter qu’une application très simple : visicolor.
C’est un petit soft que j’ai fait pour analyser les données RGB (Red Green Blue) et HLS (Hue Lightness Saturation) sur un flux video venant d’une webcam.
Il a le mérite d’une part d’être complet (empaqueté en tar.gz prêt à compiler et installer) et de prendre tous les éléments de base d’opencv. Il s’agit donc d’un tutoriel orienté sur les premiers pas sous opencv.


Une version 0.2 permet maintenant de faire de la reconnaissance de couleur dans une IHM GTK.


sommaire

Valid HTML 4.01 Transitional