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
• ObjectifsReconnaî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
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
Traitement d’Image
Amélioration d’images (dégradation inconnue)
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
1. 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
2. Notions élémentaires concernant Matlab
Langage de programmation de haut
niveau
Structure de base : Matrice
• Création d’une matrice :
M = [1.2 3.14 5; 4 3.6 7 ];
• 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
3. 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.
Exemple
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 de saturation (S) Image d’intensité (V)
Images couleur indexées : schéma d’une
image indexée.
Exemple
4. 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
Scanner
Caméra numérique
Image réelle
Numérisation = échantillonnage + QuantificationNumériseurs
• 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)
Étape 1
Signal échantillonné
Signal quantifié (4 niveaux)
Étape 3
Étape 2
Codage (4 niveaux 2bits)
Quantification : l’amplitude du signal échantillonné est
représentée par un nombre fini de valeurs d’amplitude (niveaux
de quantification).
É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.
Codage : les niveaux de quantification sont codés sous la
forme d’un mot binaire sur k bits ( 2k niveaux possibles).
D’un signal continu (analogique) à un signal discret (numérique): 3 étapes
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.
5. 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
6. 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 : NonBeaucoup utilisé sur Internet pour sa taille mémoire réduite.
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.
Format des images : GIF
• 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.
7. Analyse élémentaire d’histogramme
7.1. Histogramme
Image de 256 256 pixels, codés chacun sur 8 bits
Population de pixels pour chaque niveaux de gris [0 ; 255]
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)
Image « A » en niveaux de gris
Matrice des valeurs de luminance des pixels de l’image « A »
Histogramme de l’image « A »
2 2 2 2 2 2 2 22 0 0 0 0 0 0 22 0 1 1 1 1 0 22 0 1 0 0 1 0 22 0 1 1 1 1 0 22 0 1 0 0 1 0 22 0 0 0 0 0 0 22 2 2 2 2 2 2 2
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 simple de calcul d’histogramme pour une image
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.
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
Top Related