De ses cinq sens, celui que l'homme utilise le plus est la vue.
C'est par nos yeux que nous percevons la majorité des informations qui nous permettent de comprendre et d'interagir avec le monde qui nous entoure.
Avec l'avancée de la technologie, les appareils d'acquisition d'images se fondent dans notre quotidien : appareils photo numériques, webcams, téléphones 3G... tout passe désormais par l'information visuelle !
Dans ce cas,
pourquoi ne pas donner des yeux à notre ordinateur ?
C'est vrai, quoi ! Ça pourrait être diablement utile d'avoir une machine qui fait des comptages, des mesures, du suivi et de la reconnaissance pour nous, sans subir les méfaits de la fatigue ou des illusions d'optique...
C'est ce à quoi s'attelle la vision par ordinateur : un domaine technologique très dynamique et en pleine effervescence, tant du point de vue de la recherche scientifique que des applications dans notre vie quotidienne.
Certains d'entre vous se sont déjà amusés à retoucher des photos avec un logiciel du type
Photoshop. Si c'est le cas (et je pense que ça l'est pour beaucoup), vous vous êtes nécessairement demandés, à un moment ou à un autre, comment fonctionnent les traitements d'image comme le
lissage, la
détection des contours et le
rehaussement des couleurs.
Sachez que cela fait partie de ce que vous apprendrez dans ce tutoriel.
Mais nous n'allons pas nous borner à refaire un
Photoshop : ce serait résumer la vision à la fabrication de lunettes !
Vous allez aussi apprendre à
détecter et caractériser des objets de plusieurs manières différentes, à
suivre des cibles dans une vidéo, et d'autres joyeusetés qui agrémenteront cette introduction à la vision par ordinateur.
Il est fortement recommandé d'avoir lu les tutoriels de M@teo21 sur le C et le C++ avant de se lancer dans celui-ci.
Pour suivre, vous devrez déjà connaître (au moins un petit peu) la programmation, et ne pas être trop allergiques aux maths.
Les exemples que nous allons développer seront en
C++ au moyen d'une bibliothèque open-source dédiée à la vision, mais
le tutoriel en lui-même (du point de vue théorique) est indépendant du langage de programmation.
Historique des versions
Si vous désirez suivre les différentes versions de ce tutoriel, pour savoir si des parties ont été ajoutées/changées depuis votre dernière visite, voici un rapide historique qui sera sûrement à-même de vous répondre.
- 8 juillet 2009 : Le tutoriel fête son premier anniversaire ! Pour l'occasion, 5 nouveaux chapitres sont ajoutés : Avant Propos, La couleur, le TP II.1, GUI et évènements, et Génération de bruit aléatoire. Nouveau design des icônes.
- 29 février 2009 : Ajout du chapitre sur la convolution.
- 21 janvier 2009 : Tutoriel zCorrigé par ptipilou.
- 06 novembre 2008 : Ajout du premier chapitre de la partie 2.
- 22 août 2008 : Ajout des chapitres 6, 7 et 8 de la partie 1.
- 7 juillet 2008 : Première validation du tutoriel, celui-ci comprend les 5 premiers chapitres de la partie 1.