Introduction au traitement d’images Simulation sous Matlab Professeur. Mohammed Talibi Alaoui Département Mathématique et Informatique, Oujda
Le traitement d’image et vision par ordinateur
La vision par Ordinateur
Vision Artificielle VA Un système de vision artificielle capte une scène tridimensionnelle et la traduit en une ou plusieurs images Objectifs Reconnaître et localiser les objets présents dans la scène
Le Traitement d’Image TI On désigne l'ensemble des opérations sur les images numériques, qui transforment une image en une autre image.
Imagerie Médicale Rehaussement du contraste d’une radiographie de la cage thoracique
Détection des tumeurs cancéreuses à partir d’une mammographie Imagerie Médicale Détection des tumeurs cancéreuses à partir d’une mammographie
Recherche de lésions ou d’anomalies dans le cerveau Imagerie Médicale Recherche de lésions ou d’anomalies dans le cerveau
Amélioration d’images (dégradation inconnue) Traitement d’Image Amélioration d’images (dégradation inconnue)
Restauration d’images Traitement d’Image Restauration d’images (dégradation connue)
Applications TI
Systèmes à base de TI
Difficultés Variations naturelles dans une même catégorie d’objet Exemple : maison, chaise Grande quantité de données à traiter Image faible résolution N/B 128x128 16Ko Image haute résolution couleur 512x512x3 750Ko Image caméra numérique 2592x1944 pix 15,1Mo Mouvement (30 im./s) 22.5 Mo
Variations dans le processus de formation de l’image Éclairage Qualité du capteur Qualité du système …
PLAN Chapitre 1 : Introduction Chapitre 2 : Filtrage Chapitre 3 : Détection de contours Chapitre 4 : Morphologie mathématique Chapitre 5 : Image couleur et texturé Chapitre 6 : Restauration d’images Chapitre 7 : Compression d’images Chapitre 8 : Reconnaissance de formes Chapitre 9 : Recalage d’images
Chapitre 1 : Introduction Le traitement d’images Trier le courrier Contrôle automatique par la vision Domaine militaire ( reconnaître automatiquement la cible ) Compression des images
Chapitre 1 : Introduction Notions élémentaires concernant Matlab Langage de programmation de haut niveau Structure de base : Matrice
Création d’une matrice : Pour des matrices de taille plus importantes : inf : pas : sup Exemple : M = [3:7; 1.5:0.5:3.5];
L’un des principaux intérêts de Matlab : La manipulation directe de matrices sans passer par la manipulation des composantes : Exemple : C = A * B; Rajouter des fonctions spécialement dédiées à différents domaines d’application : Traitement du signal, Traitement d’images, réseaux de neurones,.. boites à outils ou Toolbox
Pour écrire un programme Matlab, il suffit de placer les instructions dans un fichier portant l’extension .m. Il est conseillé de commencer chaque programme par les lignes suivantes : close all clear
Formats d’image en mémoire : Images binaires : éléments valent 0 ou 1. Exemple Images d’intensités : élément est un réel compris entre 0 et 1.
Superposition de 3 couleurs de base. Image couleur RGB Superposition de 3 couleurs de base. Exemple : Représenter une image couleur par trois matrices ou chaque matrice correspond à une couleur de base.
Les intensitées des images R, G et B Lumière blanche Lumière rouge Lumière verte Lumière bleue
Les images H, S et V Lumière blanche Image de teinte (H) Image d’intensité (V) Image de saturation (S)
Images couleur indexées : schéma d’une image indexée. Exemple
Numérisation La numérisation est la conversion du signal électrique continu (dans l ’espace ou temps et en valeur) en un signal numérique discret (image numérique).
Numérisation Numérisation = échantillonnage + Quantification Scanner Image réelle Caméra numérique Numériseurs Numérisation = échantillonnage + Quantification
A chercher pour numériser une image : Combien d ’échantillons ? Quantification: Combien de niveaux discrets sont suffisants pour couvrir la plage de l’image ? (en bits). Tessellation : Forme des pixels ?
D’un signal continu (analogique) à un signal discret (numérique): 3 étapes Chaîne de numérisation d’un signal temporel (1-D) Signal continu (référence) Signal échantillonné Étape 1 Étape 2 Codage (4 niveaux 2bits) Signal quantifié (4 niveaux) Étape 3
D’un signal continu (analogique) à un signal discret (numérique): 3 étapes Échantillonnage : l’évolution du signal suivant la dimension « t » (ici le temps) est représentée par un nombre fini de ses valeurs. Les valeurs du signal sont prises régulièrement à une période d’échantillonnage Te. Quantification : l’amplitude du signal échantillonné est représentée par un nombre fini de valeurs d’amplitude (niveaux de quantification). Codage : les niveaux de quantification sont codés sous la forme d’un mot binaire sur k bits ( 2k niveaux possibles).
CAS DES IMAGES Les images sont des signaux 2-D, l’échantillonnage se fait selon les dimensions spatiales « x » et « y » (et non pas selon le temps comme précédemment). Le nombre de niveaux de quantification de la luminance est généralement de 256, chaque niveau étant alors codé sur 8 bits (code binaire naturel).
Numérisation :
Tessellation (pavage) : C’est la forme du pixel. Le pavage est «choisi» pour couvrir au mieux le plan image. Le pavage est donc une partition du plan image qui, une fois discrétisé, résulte en un maillage qui représente la grille d’échantillonnage.
Changement de format Matlab : les fonctions pour passer d’un format à un autre : indexé - intensité : I = ind2gray(X,map); Indexé - RGB : [R,G,B] = ind2rgb(X,map); RGB - indexé : [X, map] = rgb2ind(R,G,B); RGB - intensité : I = rgb2gray(R,G,B); Exemple : Traduire l’image indexée en image intensité et en image RGB.
Généralement, Le passage de la couleur à l’intensité est obtenu par la formule : Intensité = α.r + β.g + γ.b avec α + β + γ = 1
Formats d’image sur disque Le format Matlab ( fichiers *.mat ) Les formats graphiques standard : les formats jpeg et tiff ( fichiers *.jpg et *.tif) pour le choix d’un format : Format tiff : images binaires ( compression parfaite ) Format jpeg : images de scènes réelles Format matlab : tout type d’image (sans compression), lorsque l’on souhaite éviter toute dégradation
Format des images: JPEG Format JPEG (Joint Photo Expert Group) Nb. couleurs : 16 millions (vraies couleurs) Compression avec perte : Le taux de compression peut varier de 1% (meilleure qualité) à 99% (moins bonne qualité). Animation : Non Beaucoup utilisé sur Internet pour sa taille mémoire réduite.
Format des images : GIF Format GIF (Graphics Interchange Format) Nb. couleurs : 256 couleurs avec palette Compression avec perte : Compression sans perte Animation : Oui Ce format est très utilisé sur Internet.
Exemple : ( Négatif d’une image ) Écrire un programme qui lit une image couleur au format jpeg, puis la convertit en image d’intensité. Visualisez cette image. Ensuite, construire le négatif de l’image (inversion des niveaux d’intensités) et visualiser le résultat.
Analyse élémentaire d’histogramme
Population de pixels pour chaque 7.1. Histogramme Pour chaque niveau de gris, compter le nombre de pixels s’y référant Pour chaque niveau, tracer le graphe en bâton du nombre de pixels (possibilité de regrouper les niveaux proches en une seule classe) Population de pixels pour chaque niveaux de gris [0 ; 255] Image de 256 256 pixels, codés chacun sur 8 bits
Exemple simple de calcul d’histogramme pour une image Image « A » en niveaux de gris Matrice des valeurs de luminance des pixels de l’image « A » Histogramme de l’image « A » 2 1 L'image « A » comporte 3 niveaux de gris différents : 0, 1 et 2. Compter le nombre de pixels pour chaque niveau de gris, à l’aide de la matrice des valeurs de luminance. Les niveaux 0, 1 et 2 sont respectivement représentés par 24, 12 et 28 pixels représentation de cette population de pixels sur l'histogramme.
Exemple : Afficher l’histogramme de l’image de l’exercice , et celui de son négatif, sur 256 niveaux. Expliquer le résultat obtenu
7.2. Égalisation d’histogramme Il s’agit de déterminer une transformation f des niveaux d’intensité qui rend l’histogramme aussi plat que possible. Objectif : Améliorer certaines images de mauvaises qualité. Mauvais contraste Images trop sombres ou trop claires Mauvaise répartition des niveaux d’intensité Exemple