Travaux pratiques de traitement d images

Documents pareils
Traitement bas-niveau

Géométrie discrète Chapitre V

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

Opérations de base sur ImageJ

Fête de la science Initiation au traitement des images

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

TP SIN Traitement d image

Utilisation du logiciel ImageJ gratuit

Création d une SIGNATURE ANIMÉE avec PHOTOFILTRE 7

Q6 : Comment calcule t-on l intensité sonore à partir du niveau d intensité?

Projet Matlab : un logiciel de cryptage

Chapitre 2 : Caractéristiques du mouvement d un solide

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

COPY. Picture Style Editor Ver. 1.4 MODE D EMPLOI. Logiciel de création de fichiers de style d image. Contenu de ce mode d emploi

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Traitement numérique de l'image. Raphaël Isdant

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur

Chapitre 13 Numérisation de l information

Formats d images. 1 Introduction

TD : Codage des images

Franck VAUTIER, Jean-Pierre TOUMAZET, Erwan ROUSSEL, Marlène FAURE, Mohamed ABADI, Marta FLOREZ, Bertrand DOUSTEYSSIER

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Chap17 - CORRECTİON DES EXERCİCES

Travaux pratiques avec RapidMiner

Problèmes de dénombrement.

F210. Automate de vision hautes fonctionnalités. Caractèristiques. Algorithmes vectoriels

Introduction au Data-Mining

RECOPLUS LOGICIEL DE GESTION DES RECOMMANDES NOTICE D UTILISATION DE RECOPLUS RESEAU. N de série

Table des matières A. Introduction... 4 B. Principes généraux... 5 C. Exemple de formule (à réaliser) :... 7 D. Exercice pour réaliser une facture

ou clic objet. R rouge B bleu : 65 Le fond votre travail en P :. d étoiles dupliquer. Esbly Page 1 / 5

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Comment utiliser FileMaker Pro avec Microsoft Office

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Création de maquette web

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

PRISE EN MAIN D UN TABLEUR. Version OPEN OFFICE

Numbers sur ipad. Atelier Formation Numbers sur ipad. [Notes extraitres de l'aide en ligne]

nom : Collège Ste Clotilde

INFO 2 : Traitement des images

Tp_chemins..doc. Dans la barre "arche 2" couleur claire 1/5 21/01/13

Codage d information. Codage d information : -Définition-

SudoClick Reconnaissance de grilles de sudoku pour téléphones portables

Mise en scène d un modèle dans l espace 3D

TP : Gestion d une image au format PGM

Introduction à MATLAB R

Initiation à la bureautique

Indications pour une progression au CM1 et au CM2

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Transmission d informations sur le réseau électrique

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

«Atelier de retouche d image, améliorez et optimisez

Consignes générales :

Catalogue Formations informatiques

Installation de CPA STUDIO :

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

Ouvrir le compte UQÀM

Compte rendu de LA37 B, TP numéro 1. Evolution de la température et du degrée d'hydratation

Extraction d informations stratégiques par Analyse en Composantes Principales

FORMATION PROFESSIONNELLE INFORMATION GÉNÉRALE RECONNAISSANCE DES ACQUIS ET DES COMPÉTENCES DES QUESTIONS... DES RÉPONSES...

Gérer, stocker et partager vos photos grâce à Picasa. Janvier 2015

Créer un publipostage avec Microsoft Word

Introduction au Data-Mining

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Utilisation du logiciel Epson Easy Interactive Tools

Créer le schéma relationnel d une base de données ACCESS

My Custom Design ver.1.0

Ni tout noir, ni tout blanc Consignes Thème I - Observer

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

GUIDE Excel (version débutante) Version 2013

Dragon Naturally Speaking 13

Création d un fichier de découpe

LES TOUT PREMIERS PAS

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Date : Tangram en carré page

EVALUATIONS MI-PARCOURS CM2

Unitecnic 2200 Unitecnic 2200 CS

données en connaissance et en actions?

Cours 7 : Utilisation de modules sous python

DOCUMENTATION POINT FACTURE

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Page Paragraphe Modification Mise en page du document Le bouton "Format de page" est maintenant "Page"

Jean Dubuffet AUTOPORTRAIT II

Structure du format BMP, sa lecture, sa construction et son écriture

Bernard Lecomte. Débuter avec HTML

Licence Sciences et Technologies Examen janvier 2010

Pop-Art façon Roy Liechtenstein

VOS PREMIERS PAS AVEC TRACENPOCHE

Algorithme des fourmis appliqué à la détection et au suivi de contours dans une image

- contact@conseils-web.fr

Probabilités. Une urne contient 3 billes vertes et 5 billes rouges toutes indiscernables au toucher.

Photoshop Séquence 4 - Créer une image de taille personnalisée taille

BACCALAURÉAT GÉNÉRAL SÉRIE SCIENTIFIQUE

MANUEL DE L UTILISATEUR

Transcription:

Travaux pratiques de traitement d images EI3 année 2009-2010 TP n 1 : Segmentation d images en régions p. 3 TP n 2 : Reconnaissance des formes p. 15 Vandenbroucke Nicolas R11

TP n 1 Segmentation d images en régions Sous le répertoire "E :\", créer un répertoire à votre nom dans lequel vous enregistrerez tous vos fichiers et le sélectionner comme répertoire de travail dans Matlab. Le travail réalisé devra être remis sous forme d un ou plusieurs fichier Matlab exécutable. Ces fichier, une fois exécutés, doivent répondre à la problématique du TP. Le compte-rendu de TP sera directement rédigé sous Word et rendu à la fin du TP également sous forme d un fichier. Ce compte-rendu de TP devra faire apparaître : une réponse claire et justifiée à chaque question posée (les valeurs des paramètres devront en particulier être précisées), le nom du fichier d extension ".m" dans lequel figure les fonctions Matlab utilisées et permettant de répondre à la question (il est demandé de sauvegarder les différents programmes à réaliser), le code Matlab correspondant à chaque question, les images illustrant les différents résultats sous un format non compressé. L objectif de ce TP consiste à analyser des objets extraits d une image par segmentation en régions. Les objets traités sont des pièces ou jetons de couleurs différentes : rouge, vert, bleu et jaune. La segmentation d une image consiste à isoler les différents objets présents dans une image. La méthode la plus simple pour cela est de seuiller ou binariser une image à partir des niveaux de gris des pixels ou de leur couleur. 1 Opérations sur images binaires Généralement on attribue les pixels blancs (égales à 1) à la forme de l objet présent dans une image binaire (avant plan) et les pixels noirs (égales à 0) au fond (arrière plan). 1.1 Acquisition des images et pré-traitement 1) Ouvrir ou acquérir une image couleur de taille 1280 960. Transformer cette image en image monochrome et enregistrer cette image. 2) Binariser l image acquise précédemment de telle sorte à obtenir des objets en blanc et un fond en noir. Si plusieurs binarisations sont nécessaires, utiliser les opérateurs logiques (fonctions imcomplement, or,xor etand) pour recomposer l image. 1.2 Érosion et dilatation Les fonctions imerode et imdilate permettent respectivement de réaliser des opérations d érosion et de dilatation sur des images à niveaux de gris à partir d un élément structurant. Cet élément structurant peut être défini soit par une matrice de 0 et de 1, soit en utilisant la fonctionstrel qui permet de configurer des éléments structurants élémentaires. TP de Traitement d images 3

1.2.1 Érosion 3) Appliquer une érosion sur l image binaire en utilisant comme élément structurant un carré de taille 3 3 pixels. Commenter les résultats. 4) Appliquer une érosion sur l image binaire en utilisant comme élément structurant un carré de taille 5 5 pixels. Commenter et comparer les résultats. 5) Appliquer deux érosions consécutivement sur l image binaire en utilisant comme élément structurant un carré de taille 3 3 pixels. Commenter et comparer les résultats. 6) Appliquer une érosion sur l image binaire en utilisant comme élément structurant un disque de taille 5 5 pixels. Commenter et comparer les résultats. 1.2.2 Dilatation 7) Appliquer une dilatation sur l image binaire en utilisant comme élément structurant un carré de taille 3 3 pixels. Commenter les résultats. 8) Appliquer une dilatation sur l image binaire en utilisant comme élément structurant un carré de taille 5 5 pixels. Commenter et comparer les résultats. 9) Appliquer deux dilatations consécutivement sur l image binaire en utilisant comme élément structurant un carré de taille 3 3 pixels. Commenter et comparer les résultats. 10) Appliquer une dilatation sur l image binaire en utilisant comme élément structurant un disque de taille 5 5 pixels. Commenter et comparer les résultats. 1.3 Ouverture et fermeture Une ouverture est une érosion suivie d une dilatation et une fermeture est une dilatation suivie d une érosion. 1.3.1 Ouverture 11) En utilisant les fonctions définies précédemment, réaliser une ouverture sur l image binarisée. Comparer et commenter les résultats. Réaliser la même opération avec la fonction imopen. Que se passe-t-il lorsque cette opération est répétée ou lorsque la taille ou la forme de l élément structurant change? 1.3.2 Fermeture 12) En utilisant les fonctions définies précédemment, réaliser une fermeture sur l image binarisée. Comparer et commenter les résultats. Réaliser la même opération avec la fonction imclose. Que se passe-t-il lorsque cette opération est répétée ou lorsque la taille ou la forme de l élément structurant change? TP de Traitement d images 4

1.3.3 Squelettisation La fonction bwmorph permet plusieurs opérations morphologiques sur des images binaires dont l érosion, la dilatation, l ouverture, la fermeture, l amaincissement,... La squelettisation consiste à effectuer récursivement l opération d amincissement jusqu à ce que l image ainsi créée ne change plus. 13) Appliquer et observer l opération de squelettisation sur l image précédente correctement reconstruite en utilisant la fonctionbwmorph. 1.4 Autres opérations sur images binaires La fonction imclearborder est une fonction morphologique qui permet de supprimer des régions qui sont au contact des bords de l image binaire. La fonction bwareaopen, basée sur une analyse en composantes connexes, permet de supprimer des régions de trop petites tailles dans une image binaire. La fonction imfill est une fonction morphologique qui permet de combler les "trous" dans les régions d une image binaire. 14) En utilisant ces trois fonctions, traiter l image acquise et binarisée afin d obtenir une image dans laquelle les formes correspondent au mieux aux objets de la scène réelle. Utiliser d autres fonctions morphologiques si nécessaire. Les fonctions suivantes permettent des opérations sur des images binaires : bwperim : détermine les pixels contours d une image binaire avec un voisinage 4 ou 8 (périmètre des objets dans une image binaire), bwlabel : attribue une étiquette aux pixels de chaque région représentant la forme (pixels blancs connexes) présente dans une image binaire et retourne le nombre de ces régions (analyse en composantes connexes), bwselect : sélectionne une ou plusieurs régions représentant la forme dans une image binaire, bwarea : calcul le nombre de pixels représentant la forme dans une image binaire (surface des objets dans une image binaire), bweuler : retourne le nombre de régions représentant la forme moins le nombre de trous dans ces formes dans une image binaire. 2 Segmentation d images à niveaux de gris 2.1 Acquisition des images 15) Mettre plusieurs objet sous la caméra et acquérir une image couleur de taille 1280 960 (voir figure 1. Pour cela, régler correctement la caméra et les paramètres d acquisition pour obtenir une image de bonne qualité avec le minimum d ombres et de reflets. Convertir l image couleur en niveaux de gris et afficher cette image. Enregistrer cette image pour mettre en oeuvre les traitements suivants. TP de Traitement d images 5

2.2 Segmentation des images Figure 1 Image couleur acquise 16) Binariser l image précédente afin d extraire les différents objets présents. Utiliser les opérations logiques et morphologiques nécessaires pour reconstruire au mieux les objets extraits et supprimer les régions inutiles. 17) Sur l image binaire précédemment obtenue, tester les fonctions présentées dans le paragraphe précédent. En utilisant les fonctions bwlabel, bwperim, bwarea, afficher sur l image binaire et à proximité de chaque région, sa surface, son périmètre et son numéro (voir figure 2). Pour cela, utiliser la fonction text permettant de superposer du texte à la figure avec la fonction int2str qui permet de transformer une valeur entière en une chaîne de caractère. La fonction find retourne les coordonnées des cellules d un tableau (pixels d une image) qui vérifie une condition (éléments non nuls). 18) En utilisant cette fonction, compléter le programme précédent afin de calculer les coordonnées du centre de chaque région comme la moyenne ((pour effectuer le calcul, utiliser la fonction mean qui calcule la moyenne des valeurs dans un tableau et la fonctionround qui permet d arrondir cette valeur à l entier le plus proche) des coordonnées des points constituant cette région et afficher une croix (fonction line) sur l image traitée représentant chaque centre (voir figure ima :jeton1). TP de Traitement d images 6

4 objets Objet 2 Surface = 27790 Périmètre = 595 Objet 3 Surface = 28920 Périmètre = 601 Objet 1 Surface = 29934 Périmètre = 610 Objet 4 Surface = 30194 Périmètre = 618 2.3 Suivi de contours Figure 2 Image binaire traitée La fonction bwboundaries permet, à partir d une image binaire, d extraire la chaîne de points de contours de chaque région présente dans une image par une opération de suivi de contours ainsi qu une image d étiquettes (comme la fonction bwlabel dans laquelle les pixels de chaque région possède une étiquette (ou label). Ainsi les pixels d une même région possède la même étiquette. 19) En utilisant la fonction bwboundaries, créer l image d étiquettes correspondant à votre acquisition avec des étiquettes en niveau de gris. Afficher cette image en utilisant la fonctionlabel2rgb afin de coder la valeur de chaque étiquette sur 3 8 bits (voir figure 3). Enregistrer cette image. 20) Sur l image précédente faire apparaître le contour de chaque région en utilisant la fonction plot et le centre de chaque région par une croix en utilisant la fonctionline (voir figure 3). 21) Pour chacune des régions, afficher dans l image des étiquettes, son numéro, sa surface et son périmètre (voir figure 3). Afin d isoler les objets d étiquette différente, il est possible d appliquer un seuillage sur l image d étiquettes ou d utiliser la fonctionfind. TP de Traitement d images 7

4 objets Objet 2 Surface = 27790 Périmètre = 595 Objet 3 Surface = 28920 Périmètre = 601 Objet 1 Surface = 29934 Périmètre = 610 Objet 4 Surface = 30194 Périmètre = 618 2.4 Analyse des régions Figure 3 Image d étiquettes traitée La fonction regionprops permet de mesurer différents paramètres de régions contenues dans une image d étiquettes et donc obtenues après une analyse en composantes connexes tels que : la surface, le périmètre, le diamètre équivalent, la longueur de l axe principal d inertie (longueur de la région), la longueur du second axe d inertie (largeur de la région), l angle de l axe principal d inertie (orientation de la région), les coordonnées du centre de gravité, les coordonnées du cadre circonscrit à la région (boundingbox)... 22) Pour chacune des régions contenues dans l image d étiquettes, calculer sa surface, son périmètre, son orientation, sa longueur, sa largeur, les coordonnées de son centre de gravité et de sa boundingbox en utilisant la fonctionregionprops. Sur l image à niveaux de gris, afficher, à proximité de chaque objet, son numéro, sa surface, son périmètre, son orientation, sa longueur et sa largeur. Représenter la boundingbox par un cadre et le centre de gravité par une croix (voir figure 4). Comparer ces résultats avec les résultats précédents. TP de Traitement d images 8

4 objets Objet 2 Surface = 27760 Périmètre = 634 Angle = 24 Longueur = 189 Largeur = 187 Objet 3 Surface = 28890 Périmètre = 640 Angle = 28 Longueur = 193 Largeur = 191 Objet 1 Surface = 29904 Périmètre = 649 Angle = 17 Longueur = 196 Largeur = 195 Objet 4 Surface = 30164 Périmètre = 658 Angle = 78 Longueur = 197 Largeur = 195 2.5 Mesure du niveau de luminosité Figure 4 Résultat du traitement de l image acquise On souhaite maintenant mesurer le niveau de luminosité de chaque objet. Pour cela, il est nécessaire d extraire les niveaux de gris des pixels de chaque région indépendamment afin d en calculer leur moyenne. 23) En utilisant les fonctions logiques bit à bit bitand, bitor, bitxor, constituer d abord une image où les objets détectés apparaissent avec leur niveau de gris d origine et le fond apparaît en noir. Pour chacune des régions correspondantes, calculer et afficher en plus des paramètres précédents, le niveau de gris moyen de chaque objet dans cette image (voir figure 5). 2.6 Essais et validation 24) Tester et valider votre procédure dans différentes situations. Que se passe t il lorsque les objets se touchent. Déterminer une solution, basée sur l utilisation d opérations morphologiques et logiques, permettant de séparer les objets en contact comme le montre la figure 6 et tester à nouveau votre algorithme. TP de Traitement d images 9

4 objets Gris = 42 Objet 2 Surface = 27760 Périmètre = 634 Angle = 24 Longueur = 189 Largeur = 187 Gris = 59 Objet 3 Surface = 28890 Périmètre = 640 Angle = 28 Longueur = 193 Largeur = 191 Gris = 100 Objet 1 Surface = 29904 Périmètre = 649 Angle = 17 Longueur = 196 Largeur = 195 Gris = 133 Objet 4 Surface = 30164 Périmètre = 658 Angle = 78 Longueur = 197 Largeur = 195 Figure 5 Traitement d une image ou les objets sont disjoints 4 objets Gris = 37 Objet 1 Surface = 26556 Périmètre = 611 Angle = 16 Longueur = 184 Largeur = 183 Gris = 67 Objet 3 Surface = 29403 Périmètre = 640 Angle = 38 Longueur = 194 Largeur = 193 Gris = 116 Objet 2 Surface = 30096 Périmètre = 651 Angle = 7 Longueur = 197 Largeur = 195 Gris = 168 Objet 4 Surface = 30618 Périmètre = 657 Angle = 60 Longueur = 198 Largeur = 197 Figure 6 Traitement d une image ou les objets sont en contacts TP de Traitement d images 10

3 Segmentation d images couleur En utilisant une image de luminance uniquement, il n est pas possible de séparer les objets en fonction de leur couleur. C est pourquoi une segmentation d images couleur est nécessaire. 3.1 Acquisition des images 25) Mettre un objet de chaque couleur (rouge, vert, bleu et jaune) sous la caméra et acquérir une image couleur de taille 1280 960. Pour cela, régler correctement la caméra et les paramètres d acquisition pour obtenir une image de bonne qualité avec le minimum d ombres et de reflets. Enregistrer cette image pour mettre en oeuvre les traitements suivants. 26) Décomposer l image couleur en trois images-composantes correspondant aux composantes rouge, verte et bleu et afficher ces images sur une même figure avec l image couleur acquise et les informations sur les pixels (voir figure 7). Image couleur Composante rouge Composante verte Composante bleue Figure 7 Image couleur et images composantes 3.2 Classification des pixels On souhaite segmenter l image par classification de pixels. Les objets étant placés sur un fond noir et ayant 4 couleurs différentes, Les pixels de l image doivent être assignés à une des 5 classes de pixels TP de Traitement d images 11

suivante : fond, rouge, vert, bleu ou jaune. 27) Après avoir seuillé judicieusement, avec un ou plusieurs seuils, les trois images-composantes précédentes pour chaque classe de pixels, classer les pixels de l image en utilisant les opérateurs logiques nécessaires afin d obtenir les images binaires correspondant aux objets de chaque couleur et en utilisant les opérations morphologiques nécessaires pour reconstruire au mieux les objets extraits et supprimer les régions inutiles (voir figure 8). Objets rouges Objets verts Objets bleus Objets jaunes Figure 8 Images binaires résultats Stocker ces 4 images dans un tableau d images. Les pixels à 1 de chaque image représentent une des 4 classes de pixels : rouge, vert, bleu ou jaune. 28) En utilisant les fonctions logiques bit à bit bitand, bitor, bitxor, créer une image couleur d étiquettes dans laquelle chaque pixel de classe différente est représenté par la couleur de l objet correspondant ou du fond (voir figure 9). 3.3 Analyse des régions 29) A partir du tableau d images binaires représentant chaque classe, calculer, pour chacune des régions contenues dans chacune de ces images, sa surface, son périmètre, son orientation, sa longueur, sa largeur, les coordonnées de son centre de gravité et de sa boundingbox ainsi que le niveaux moyen de chaque composante couleur rouge, verte et bleue. Compléter l image d étiquette précédente en affichant, à proximité de TP de Traitement d images 12

Figure 9 Image des classes de pixels chaque objet, son numéro, sa couleur, sa surface, son périmètre, son orientation, sa longueur, sa largeur, et ses niveaux de composantes couleurs moyens. Représenter la chaîne de contour de chaque région détectée, sa boundingbox par un cadre et son centre de gravité par une croix (voir figure 10). 30) Tester et valider votre procédure dans différentes situations. Utiliser notamment la procédure qui a été mise en oeuvre pour séparer les objets en contact. 31) Convertir l image couleur acquise dans l espace " Teinte - Saturation - Luminance " en utilisant la fonction rgb2hsv et procéder à l analyse de l image en utilisant uniquement la composante de teinte. Conclure. TP de Traitement d images 13

4 objet(s) 1 objet(s) Rouge 1 objet(s) Vert 1 objet(s) Bleu 1 objet(s) Jaune R = 98 V = 18 B = 15 Objet 1 (Rouge) Surface = 27859 Périmètre = 626 Angle = 29 Longueur = 190 Largeur = 187 R = 23 V = 84 B = 56 Objet 2 (Vert) Surface = 25985 Périmètre = 606 Angle = 34 Longueur = 183 Largeur = 181 R = 73 V = 108 B = 177 Objet 3 (Bleu) Surface = 27166 Périmètre = 618 Angle = 51 Longueur = 187 Largeur = 185 R = 183 V = 132 B = 57 Objet 4 (Jaune) Surface = 27846 Périmètre = 626 Angle = 81 Longueur = 190 Largeur = 187 Figure 10 Image analysée TP de Traitement d images 14

TP n 2 Reconnaissance des formes Sous le répertoire "E :\", créer un répertoire à votre nom dans lequel vous enregistrerez tous vos fichiers et le sélectionner comme répertoire de travail dans Matlab. Le travail réalisé devra être remis sous forme d un ou plusieurs fichier Matlab exécutable. Ces fichier, une fois exécutés, doivent répondre à la problématique du TP. Le compte-rendu de TP sera directement rédigé sous Word et rendu à la fin du TP également sous forme d un fichier. Ce compte-rendu de TP devra faire apparaître : une réponse claire et justifiée à chaque question posée (les valeurs des paramètres devront en particulier être précisées), le nom du fichier d extension ".m" dans lequel figure les fonctions Matlab utilisées et permettant de répondre à la question (il est demandé de sauvegarder les différents programmes à réaliser), le code Matlab correspondant à chaque question, les images illustrant les différents résultats sous un format non compressé. La reconnaissance automatique de l écriture est un domaine de recherche qui a trouvé une application à grande échelle dans le tri du courrier. En effet, une grande partie du courrier est actuellement triée de manière entièrement automatique. Les enveloppes passent devant une caméra, et chaque image est traitée automatiquement par une machine qui localise le code postal et le reconnaît. 1 Acquisition L image de la figure 1 représente le code postale d une enveloppe acquise par un système d acquisition. Figure 1 code postal d une enveloppe. 1) Sur une feuille de papier, écrire ou imprimer un code postal et placer cette feuille sous la caméra. Régler votre caméra et les paramètres d acquisition afin d acquérir des images de code postaux en niveau de gris. 2 Prétraitement 2) Binariser cette image de sorte à obtenir les chiffres en blanc et le fond en noir. TP de Traitement d images 15

3) Utiliser ensuite les fonctions morphologiques nécessaires pour obtenir une image similaire à celle de la figure 2. Figure 2 prétraitement 3 Localisation des chiffres du code postal La fonction bwlabel détermine les régions de pixels connexe dans une image binaire et la fonction bwboundaries réalise la même opération mais donne les coordonnées des points de contour de chaque région. Les images résultantes de ces deux fonctions sont des images indexées où chaque index correspond à une étiquette (label), c est à dire une région. Cette image peut également être convertie en une image RVB grâce à la fonction label2rgb. Enfin, la fonction bwselect permet de sélectionner une ou plusieurs régions particulière d une image binaire et donc de supprimer toutes les autres. 4) En utilisant les fonctions précédentes, proposer et développer une méthode qui permet de localiser et isoler chacun des chiffres présents dans le code postal de l image (voir figure 3). Intégrer cette fonction à votre programme. Figure 3 Chiffre localisé et isolé 4 Extraction des caractéristiques des chiffres La reconnaissance des chiffres du code postal est un problème difficile, surtout lorsqu il s agit d écriture manuscrite car chaque ligne de chiffres est écrite par une personne différente et il existe donc une grande variabilité de l écriture, lorsque l on passe d une personne à l autre. Même pour une personne donnée, l écriture n est jamais parfaitement stable. Les méthodes de reconnaissance de chiffres fonctionnent généralement en deux étapes. La première étape consiste à caractériser la forme du chiffre, en détectant dans l image des zones particulières. TP de Traitement d images 16

La caractéristique utilisée ici est la cavité. Les cavités se définissent par leur direction d ouverture. Cinq types de cavités sont ainsi définis : cavité Nord : vers le haut, cavité Est : vers la droite, cavité Sud : vers le bas, cavité Ouest : vers la gauche, cavité Centrale : au centre. Par exemple, un pixel de l image appartient à une cavité Est si, et seulement si, les trois conditions suivantes sont vérifiées : ce pixel n appartient pas au tracé du chiffre ; en se déplaçant en ligne droite vers l est, à partir de ce pixel, on ne rencontre pas le tracé ; en se déplaçant en ligne droite vers le sud, l ouest, ou le nord, à partir de ce pixel, on rencontre le tracé. Un pixel appartient à une cavité Centrale si, et seulement si, les deux conditions suivantes sont vérifiées : ce pixel n appartient pas au tracé du chiffre ; en se déplaçant en ligne droite vers l est, le sud, l ouest, ou le nord, à partir de ce pixel, on rencontre le tracé. Afin de mettre en évidence les pixels appartenant aux différents type de cavité, on réalise une première série de traitements morphologiques à partir de l image 3. La figure 4 montre le résultat de ces traitements. (nord) (est) (sud) (ouest) Figure 4 traitements réalisés sur l image de la figure 3. 5) Déterminer le plus précisément possible quelle opération morphologique a été réalisée sur les images (nord) à (ouest) de la figure 4 en spécifiant notamment la nature des éléments structurant. 6) Écrire une fonction permettant d appliquer ces traitements sur un chiffre localisé d un code postal et appliquer cette fonction pour chaque chiffre détecté de la fonction précédente. Pour CHAQUE cavité, une seconde série de traitements est ensuite effectuée à partir des images (nord) à (ouest). La figure 5 montre le résultat de ces traitements pour la détection des pixels appartenant à des cavités Centrale. TP de Traitement d images 17

(a) Figure 5 traitements réalisés pour la détection des cavités Centrale. (b) La figure 6 montre le résultat de ces traitements pour la détection des pixels appartenant à des cavités Est. (a) (b) (c) Figure 6 traitements réalisés pour la détection des cavités Est. 7) Après avoir déterminé les traitements effectués sur les images des figures 5 et 6, permettant de détecter respectivement les pixels des cavités Centrale et les pixels des cavités Est, déduire les traitements à effectuer pour détecter les pixels des cavités Nord, Ouest puis Sud. 8) Compléter la fonction précédente afin d estimer les 5 types de cavités associés à chaque chiffre. 5 Classification des chiffres Une fois que les cavités sont détectées, elles sont analysées par un système que l on appelle un classifieur. Ce système décide si le chiffre est un zéro, un un, un deux, etc... La classification s effectue en deux étapes : Un apprentissage en-ligne permettant de caractériser les classes en présence. Une classification en ligne permettant d assigner à une classe apprise chacun des chiffres d un code postal. TP de Traitement d images 18

5.1 Apprentissage hors-ligne 9) Sachant que, pour chaque chiffre détecté, il est possible de déterminer la surface de chaque type de cavité, proposer un espace de décision permettant de repérer chaque chiffre par un point dans cet espace. 10) En utilisant les chiffres imprimés dans le paragraphe 6, acquérir et enregistrer une image pour chacune des séries de chaque chiffre. 11) Sur la base de données images réalisée précédemment, écrire une fonction qui retourne une matrice des caractéristiques de chaque chiffre et un vecteur de leur caractéristiques moyennes. 5.2 Classification en-ligne 12) Proposer une méthode simple de classification, basée sur la recherche du plus proche voisin dans l espace de décision précédemment déterminé, permettant de classer chaque chiffre dans cet espace et mettre en oeuvre cette méthode afin d afficher dans l image initiale le code postal lu. 13) Valider votre programme sur plusieurs codes postaux comme ceux figurant dans le paragraphe 6 ou écrit à la main et conclure. 14) Proposer une méthode simple de classification, basée sur la recherche de la plus proche moyenne dans l espace de décision précédemment déterminé, permettant de classer chaque chiffre dans cet espace et mettre en oeuvre cette méthode afin d afficher dans l image initiale le code postal lu. 15) Valider votre programme sur plusieurs codes postaux et comparer avec la méthode précédente. 16) Ajouter un attribut à votre espace de décision afin d améliorer les résultats de votre programme. 17) Améliorer votre programme en recalant en rotation les images acquises après avoir mesuré l angle de l axe principal d inertie du code postal inscrit. 6 Corrélation normalisée La fonction normxcorr2 permet de réaliser une corrélation normalisée entre une image modèle (template) et une image à analyser afin de retrouver les objets ressemblant au modèle dans l image. 18) Réaliser une base d apprentissage en faisant l acquisition d une image de chaque chiffre. 19) Écrire une fonction qui permet de réaliser l opération de corrélation normalisée entre chaque modèle de chiffre et l image. Observer à chaque fois l image de corrélation obtenue et interpréter la. 20) Compléter votre procédure avec la fonction imregionalmax afin de sélectionner les maximum locaux de l image de corrélation. Fixer un seuil permettant de lire le code postal acquis et conclure. 21) Proposer une méthode similaire autorisant une rotation du modèle. TP de Traitement d images 19

Chiffres imprimés....................... 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4....................... 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 9 9 9 9 9 TP de Traitement d images 20

....................... 62487....................... 62487 62487... 62487....................... 62487....................... 59130....................... 59130 59130... 59130....................... 59130 TP de Traitement d images 21