Le traitement d images Formation «Informatique et sciences du numérique» Pierre Chauvet pierre.chauvet@uco.fr 1
Plan de la séance 1. Exemple : Calcul densité synaptique 2. Exemple : Filtres 3. Travaux Pratiques 2
Projet 1: Image & Densité synaptique 3
Objectif Construire une fonction z=d(x,y) où: z dans [0, 1] est la densité de synapses au point (x,y) (x,y) est une coordonnée (cartésienne) relative à une image à partir d une image qui fait apparaître la densité des différents types de synapses présentes, obtenue par exemple à l aide d une technique de fluorescence. L image est fournie, chaque type de synapse correspond à une couleur parfaitement déterminée.
Image à analyser Image obtenue sur le site: http://www.traffic.dk/photo_gallery8.asp où (en bas de page) nous avons l image: «Inhibitory and excitator synapses revealed by triple labeling on 21 DIV cortical neurons. Green: glutamatergic terminals revealed by v-glut-1; Blue and Red GABAergic terminals revealed by GAD (blue) and GABA A (red). Image courtesy of M Matteoli (see Verderio et al. Traffic 2007;8(2):142-153)».
Image à analyser VERT: synapses glutamatergiques; BLEU: GABAergiques (GAD) et ROUGE: GABAergiques (GABA A)
Algorithme Suppression des pixels n appartenant pas à la plage de couleur voulue - Suppression du bruit - Conversion en niveaux de gris - Réduction d échelle - Transformation en une matrice à composantes dans [0,1] - Construction d une densité par lissage (somme de noyaux normalisée, interpolation polynomiale, etc.) Fonction z=d(x,y)
Photo avec suppression pixels non verts (synapses Glu)
Débruitage, Niveaux de gris & Réduction de taille
Lissage Matrice 2D normalisée
Outils utilisés Programme codé en Java 1.6 avec les bibliothèques graphiques de base ChartDirector (http://www.advsofteng.com/ ) pour l affichage de la densité avec courbes de niveaux (gratuit en version limitée) Environnement de développement: Eclipse 3.6 (gratuit) Coût Nul en terme logiciel, Portable
Connaissances requises Structure d une image et d un pixel (code ARGB) Codes RGB nécessaires Programmation avec structures de contrôle de base (boucle pour, tant que), tableaux Quelques méthodes de transformation d une image (masques de convolution) Somme de gaussienne ou polynôme d interpolation Environnement de développement Certaines de ces connaissances peuvent être cherchées par les élèves sur Internet (fournir mots clés)
GIMP, outil pour le traitement d image Programme de traitement d image sous licence GNU (logiciel libre) en C++ Site: http://www.gimp.org/ Documentation vulgarisée sur le traitement d image très complète
Exemples de Filtres 14
Filtres de convolution
Filtre Median
Travaux Pratiques A vous de jouer 17
Installer les projets dans Eclipse Copier et décompresser les deux projets : ImageDensity.zip» et «TraitementImage.zip» dans l espace de travail d Eclipse (workspace) Importer chaque projet dans Eclipse : Menu «File» -> «Import» Sélectionner «Existing Projects into Workspace», puis bouton «Next >» Dans «Select root directory», bouton «Browse», choisir le répertoire ImageDensity
Installer les projets dans Eclipse Dans «Select root directory», bouton «Browse», choisir le répertoire ImageDensity Cliquer sur «Finish»
Exécuter les applications Dans le projet ImageDensity, clic droit sur la classe ima.imgd.ui.imgdensityapp, puis dans le menu déroulant faire «Run As» -> «Java Application» Dans le projet TraitementImage, clic droit sur la classe ima.imgp.apps.mainframe, puis dans le menu déroulant faire «Run As» -> «Java Application»
Tester les applications Avec ImageDensity : Essayer différentes images (modifier l image fournie ) et observer le résultat. Redéfinir les plages de couleurs Avec TraitementImage : Essayer les filtres proposés par défaut sur différentes images Créez vos filtres!