6. Traitement
  • Ce chapitre traitement a été rédigé par Céline Giroud (stagiaire en 2004) et présente le logiciel qu'elle a créé et utilisé.
  • Le logiciel

En parallèle des connaissances théoriques de traitement d’images à acquérir, un logiciel regroupant les possibilités énoncées a été implémenté.
  • Présentation
Le logiciel permet de traiter des images numériques et den extraire l’information désirée. Les analyses disponibles s’orientent vers les problèmes de génie civil.
Tout d’abord, il faut bien savoir ce que l’on désire extraire de l’image et cerner quels aspects sont à quantifier. Par exemple, « repérer les fissures dans limage » est un peu vague. Savoir sil faut mesurer leurs longueurs, déterminer leurs orientations, ou repérer leurs intersections peut amener à traiter le problème de différentes manières.
En effet, le logiciel met à disposition un panel d’une soixantaine de fonctions de traitement d’images. Les traitements à appliquer doivent être choisis judicieusement et se succéder dans un ordre bien précis en fonction de la nature de l’image et de l’information à extraire. Ce processus s’apparente au travail d’un ouvrier devant son établi : quels outils utiliser? et dans quel ordre? Cette phase de détermination d’une suite de traitements élémentaires est la plus difficile, elle dépend des buts recherchés (qu’il faut connaître) et du type d’images à traiter, deux images représentant une même chose peuvent être traiter différemment (éclairage).
Lorsque qu’un enchaînement de traitements est correct pour une image, il est possible de le mémoriser dans un fichier texte. Ceci permet de tester cette séquence sur d’autres images de même nature et d’en apprécier les résultats sans avoir à appliquer un à un les traitements  nécessaires.
Pour aller encore plus loin, si une séquence convient pour un type d’images donné, le traitement en série de ces images est possible. Ainsi, toutes les images se trouvant dans un répertoire sont analysées et tous les résultats obtenus sont consignés dans un fichier texte.
  • Automatisation des traitements
L’originalité de ce logiciel de traitement d’images réside essentiellement dans la mémorisation d’une séquence de traitements et dans l’automatisation des traitements et des analyses sur un groupe d’images.
Lorsque que vous avez testé un enchaînement de traitements qui parait correct pour une image, il est possible de coder et mémoriser la séquence dans un fichier texte.
Ensuite, vous pouvez ouvrir le fichier depuis l’application et donc exécuter une de ses séquences.
            
Fichier texte                           Séquences accessibles depuis l’application
graphic
Pour exécuter en série une séquence de traitements sur des images semblables, il faut les rassembler dans un même répertoire, avoir une séquence valide de traitements et choisir un fichier pour consigner les résultats. Ensuite les images s’ouvrent et se ferment rapidement, aucune visualisation n’est possible mais les résultats des analyses sont consultables en fichier. Le format des données en fichier est tel que les résultats peuvent très facilement être transmis dans un tableur.
  • Ergonomie
Au début de mon stage, après la compréhension du logiciel existant, la première des choses à faire fut de rendre facilement accessible les paramètres d’entrée des fonctions disponibles. En effet, maintenant, lorsqu’une fonctionnalité nécessite un ou plusieurs paramètres, une boite de dialogue s’ouvre, expliquant l’utilité des paramètres et les mémorisant.
Dans un deuxième temps, un fichier d’aide liée à l’application fut créé. Il regroupe une aide fonctionnelle aux utilisateurs (menu, fenêtres, boutons…) mais aussi les détails théoriques de toutes les fonctionnalités implémentées dans le logiciel. Deux exemples complets d’application ont aussi été joints à l’aide. Le fichier d’aide constitue la majeure partie des annexes.
Enfin, cette application de traitement d’images sera sans doute réutilisée et complétée, ainsi il fut nécessaire de réaliser une structure de données de bonne qualité afin que l’on puisse ajouter aisément d’autres fonctions au code source.
  • Structure de données
Les interfaces :
  • fenêtre principale  contenant le menu                  
  • fenêtre-enfant pour afficher les images                    
  • fenêtre-enfant pour afficher les résultats d’analyse        
  • fenêtre modale pour l’entrer des paramètres par l’utilisateur   
  • fenêtre modale pour le choix d’un traitement (série)      
  • fenêtre spécifique pour le  « A propos » de l’application    
Les classes :
  • TBitmap, stockage des images en couleur (classe prédéfinie).
  • TraitementImage, stockage des images en niveaux de gris et méthodes de traitement.
  • EnsFormes, liste de formes présentes  dans l’image.
  • Forme, contenant les paramètres d’une forme de l’image.
  • Moments Invariants, pour stocker toutes les informations sur les moments.
  • Sequence, stockage des informations contenues dans le fichier des séquences disponibles.
Vue externe               Fonctionnement interne
graphic