Traitement Numérique d'Images en TI
Traitement Numérique d'Images en TI
Imagerie
Module : Traitement Numérique d’images
2
PLAN
• Chapitre 1 : Introduction
• Chapitre 2 : Filtrage
• Chapitre 3 : Détection de contours, Seuillage
• Chapitre 4 : Morphologie mathématique
• Chapitre 5 : Image texturée
• Chapitre 6 : Segmentation d’images
• Chapitre 7 : Compression d’images (mini projet)
3
Traitement d’Images
Historique
• 1839 : photographie (Louis Jacques Mandé Daguerre)
• 1895 : cinématographe (frères Lumière)
• 1885 : rayons X (Röntgen)
• Années 20 : la presse doit envoyer des informations image entre Londres
et New-York,
– système Bartlane pour le codage d’images (5 niveaux)
• Années 60 : conquête de l’espace et diffusion d’images
• fin des années 60, début des années 70 : imagerie médicale (tomographie)
• Depuis les années 70 : augmentation constante de l’utilisation des images,
• géographie, biologie, médecine, nucléaire, internet, télévision,
satellite, microscopie, ...
4
Traitement d’Image TI
• Le traitement d’images désigne l'ensemble des opérations sur
les images numériques, qui transforment une image en une
autre image, afin d'améliorer ou d’en extraire des
informations. Il consiste à modifier ou analyser une image
numérique.
5
Traitement d’Image TI
1. Améliorer le contenu de l’image pour aider à l'interprétation par l'homme,
Filtrage le flou, débruitage et réduction de bruit…
6
Traitement d’Image TI
• Relations du traitement d' image avec d'autres disciplines
• Extension du traitement des signal
7
Traitement d’Image TI
Relations du traitement d'image avec d'autres disciplines
• Rendre nette une image floue,
• Améliorer le contraste d'une image,
• Filtrer des parasites sur une image,
• Comprimer le nombre d'échantillons d'une image numérique
et d’une séquence d' images (TV numérique),
• Reconnaître des empreintes digitales, des signatures,
• Authentifier des billets de banque,
etc.
8
Application du TI
– le milieu industriel : contrôle de qualité et suivi des processus de fabrication:
– Surveillance de matériel, détection de défauts
– Robotique: Conduite automatique,
– Suivi et préhension d’objets en robotique mobile
– la télésurveillance et gestion des alertes
–l’analyse des séquences d’images permet d’identifier les incidents survenus
dans une zone sous surveillance;
– l’imagerie satellitaire
–la météorologie, le suivi des récoltes, l’aménagement des territoires,
–la prédiction et l’évaluation de catastrophes naturelles ou industrielles
– l’imagerie médical
–diagnostic, localisation et suivis des maladies ;
– Sécurité: reconnaissance : faciale…
– etc.
9
Applications TI
10
Application :Imagerie Médicale
Rehaussement du contraste d’une radiographie de la cage
thoracique
11
Imagerie Médicale
Détection des tumeurs cancéreuses à partir d’une
mammographie
12
Imagerie Médicale
Recherche de lésions ou d’anomalies dans le cerveau
13
Application
L'armement (guidage de missiles, reconnaissance arienne
et sous-marine, détection et protection des véhicules de
combat, exploration des fonds marins, etc.)
14
Application
Sécurité (reconnaissance d'empreintes, reconnaissance de
visages, reconnaissance signatures, suivie de personnes, etc.)
15
Traitement d’Image
Amélioration d’images (dégradation inconnue): filtre médian
16
Traitement d’Image
Restauration d’images
(dégradation connue)
17
Difficultés
• La principale difficulté dans la réalisation d'une
application quelconque du traitement d'images est
l'absence d’un traitement idéal universel qui
résoudrait plusieurs problèmes à la fois.
• En effet, chaque application particulière nécessite
une étude en soi.
• Celle-ci se fait à l'aide d'un arsenal de méthodes de
base. Il faut choisir, principalement sur la base de
l'expérience, les méthodes qui conviennent et les
appliquer.
18
Difficultés
• Variations naturelles dans une même catégorie
d’objet
– Exemple : maison, chaise
19
Difficultés
• Variations dans le processus de formation de l’image
– Éclairage
– Qualité du capteur
– Qualité du système
– …
20
Traitement d’Image TI
Dans ce cadre, une suite d’actions précède la décision et
l’interprétation :
• l’acquisition,
• le prétraitement,
• et enfin la segmentation.
21
Systèmes à base de TI
22
Introduction: Matlab
Notions élémentaires concernant Matlab
Matrix Laboratory
• Langage de programmation de haut niveau
23
Introduction: Matlab
24
Introduction: Matlab
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,..
25
Images matricielles vectorielles
• Les images matricielles ou bitmap résultent d'un assemblage de petits pixels,
alors que les images vectorielles sont créées à partir d'équations mathématiques.
• Une image vectorielle est une image numérique composée d’objets géométriques
2D simples (rectangle, segments de droite, polygones, arcs de cercle, etc.)
• Les images vectorielles peuvent être agrandies à l’infini alors que les autres
images perdent en qualité lorsqu’on les agrandit.
• Comme elles sont créées grâce à des formules mathématiques, les lignes
vectorielles qui compose l’image sont automatiquement recalculées et adaptées à
chaque changement de taille.
26
Images matricielles vectorielles
• Les images matricielles ou bitmap résultent d'un assemblage de petits pixels,
alors que les images vectorielles sont créées à partir d'équations mathématiques.
• Dans le cas des images à deux dimensions (le plus courant), les
points sont appelés pixels (pixels= picture elements, les plus petits
constituants d’une image).
• Ce type d'image a l’avantage d’être facile d’acquisition
.png .eps
.jpg ou .jpeg .ai
.gif .pdf
.tif .svg
.psd .sketch
27
Représentation de l’image
• Représentation spatiale: Elle est faite directement à partir des échantillons d’une image
dans le domaine spatial. Une image 2D f(x,y) scalaire réelle peut être vue comme une
surface en 3D.
• Représentation fréquentielle: C’est une représentation obtenue à partir d’une
transformation de l’image dans le domaine fréquentiel
• Interprétation du spectre d’amplitude:
• Si le spectre d’amplitude comporte de grandes valeurs pour les hautes fréquences,
alors l’image contient des données qui varient sur une courte distance (textures)
• Si le spectre d’amplitude comporte de grandes valeurs pour les basses fréquences,
alors l’image contient des données qui varient peu (régions de luminosité presque
constante)
28
Matlab
• Pour écrire un programme Matlab, il suffit de placer
les instructions dans un fichier portant l’extension .m
Test.m
• Il est conseillé de commencer chaque programme par
les lignes suivantes :
close all
clear
29
Image Numérique: Types
• Une image est la projection d’un ensemble de points de la scène 3D sur un
plan (plan image).
• Mathématiquement, l’image peut être définie comme une fonction à deux
variables f (x, y) :
• (x, y) est la position d’un point de l’espace sur le plan de projection
• f (x, y) est l’intensité (ou brillance) au point de coordonnées (x, y)
• Une image est un plan analogique dans lequel les intensités sont réelles
31
Image Numérique: Codage et stockage
convention Matlab
32
Image Numérique: Pixel, binaire
• 8 bits = 1 octet
• 0-255 = 2 octets
• 0-16,8 million = 3 octets = 24 bits
• Profondeur des couleurs
33
Image Numérique: Pixel, binaire
Taille de l’Image
• Image 640*480 = 307200 pixels
34
Image Numérique: couleurs RVB
• Toute couleur peut être représentée comme une combinaison linéaire de trois primaires
c1, c2, c3
• Beaucoup d’espaces de couleur : RGB, CMYK (∼ RGB en synthèse soustractive), HSV,
YUV, Lab, CIE ...
• Synthèse additive: les autres couleurs sont obtenues par addition de ces 3 couleurs
primaires : rouge, vert et bleu Luminance L = 0.3R + 0.59G + 0.11B
Les longueurs d’ondes des RGB sont : r =700nm, v= 546nm, b=435,8nm
Ce principe est utilisé pour la reconstitution des couleurs en télévision ou sur
les écrans d'ordinateurs.
Conversion couleur =>> niveau de gris
Exemple :
• RVB tube télévision
• 3 octets = 16,8 millions de couleurs = 255(rouge)
*255(vert)*255(bleu) =255*255*255= 16581375
• R+V+G=blanc
• R+B=Magenta R+V=Jaune 35
• V+B=Cyan M+V=Blanc
Image Numérique: couleurs CMJN
▪ Il existe d'autres modes de représentation des couleurs :
▪ Teinte, Saturation, Luminance (TSL ou HSL), où la couleur
est codée suivant le cercle des couleurs ;
▪ Base de couleur optimale YUV, Y représentant la luminance,
U et V deux chrominances orthog
• Exemple de couleurs :
( 0, 0, 0) = noir
(255, 0, 0) = rouge
( 0,255, 0) = vert
( 0, 0,255) = bleu
(127,127,127) = gris moyen
(255,255,255) = blanc
37
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.
38
Image couleur RGB
Lumière blanche Lumière rouge
39
Image couleur RGB
Représenter une image couleur : 255 200 0 200
0 200 0 50
200 0 50 50
200 0 50 50
255 255 50 255
255 255 50 255
200 255 50 55
200 200 100 50
200 200 100 100
200 200 100 50
200 200 100 100
0 200 50 200
200 255 50 55
40
Images H, S et V
Un point x de coordonnées (r,g,b) du cube RGB peut être décomposé en deux
composantes (c,a). Soit y la projection orthogonale de x sur l'axe achromatique.
● Une composante chromatique c : c’est le vecteur yx.
● Une composante achromatique a : c’est le vecteur Oy.
Cette décomposition permet d'associer les composantes HSV à des grandeurs
géométriques :
● la valeur : c'est le module de la composante achromatique ∥a∥
● la saturation : c'est le module de la composante chromatique ∥c∥
● la teinte : c'est l'argument (par référence à une direction arbitraire
du triangle chromatique), de la composante chromatique arg(c).
41
Images H, S et V
Lumière blanche Image de teinte (H)
43
Image couleur indexée
Exemple
[im3,map]=imread('trees.tif');
imshow(im3)
im31=ind2rgb(im3,map);
figure(1); imshow(im31);
44
Acquisition
Scène physique vers représentation numérique :
45
Acquisition
• Le système visuel humain
• Composants principaux de la vision humaine
– Le système visuel humain fait du traitement d'images.
46
Acquisition
• Le système visuel humain
– Les photos-récepteurs de la rétine
Cônes :
vision photopique (diurne)
couleur
6 à 7 millions
Bâtonnets :
vision scotopique (nocturne)
Faible intensité, achromatique
120 millions
47
Acquisition
• Capteur – Principe général: (ex: photodiode)
– Un capteur photographique est un composant électronique servant à
convertir un rayonnement (UV) composé de photons (L'énergie incidente)
en un faible signal électrique analogique.
– Ce signal analogique, amplifié, sera ensuite numérisé grâce à un
Convertisseur Analogique-Numérique (CAN) pour obtenir un fichier image.
• Capteur CCD (Charged Coupled Devices)
– Un capteur CCD est une matrice constituée par l’assemblage de photosites.
– Un photosite est constitué de semi-condicteur de silicium dont l’ordre de
grandeur est le micromètre.
– Lorsque la lumière vient frapper un photosite, celui-ci délivre une impulsion
électrique proportionnelle à la quantité de lumière qu’il reçoit.
– Cette impulsion analogique est convertie à un niveau de gris sur un pixel de
l’image.
48
Acquisition
49
Acquisition
• Capteur CCD : Caméras numériques CCD
• Matrice CCD (Charged Coupled Devices)
– Système d'acquisition numérique 2D le plus utilisé
– La réponse est proportionnelle à l'intégrale de l'énergie lumineuse qui
atteint chaque élément
– Pour la couleur, on utilise trois capteurs par pixel réagissant à des
longueurs d'ondes différentes (Rouge, Vert et Bleu)
Remarque : les appareils numériques disponibles sur le marché sont
généralement équipés de capteur CCD. Il existe bien d’autres capteurs,
notamment dans le domaine de l’imagerie médicale (IRM,
Tomographie…) ou de l’imagerie sismique
50
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).
Scanner
Image réelle
Caméra numérique
53
D’un signal continu (analogique) à un signal discret (numérique):
3 étapes
Étape 1
Étape 2
Étape 3
54
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.
56
Numérisation
57
Représentation et repère image
58
Représentation et repère image
Matlab
59
Numérisation spatiale
• La résolution d'image est une mesure de la quantité de détails et de netteté
présents dans une image numérique. Elle est généralement exprimée en
pixels par pouce et indique le nombre de points qui composent l'image sur
une surface donnée.
• Elle est exprimée en "PPP" (points par pouce) ou DPI (dots per inch)
• Plus la résolution d'une image est élevée, plus elle contient de détails et
peut être agrandie sans perdre en qualité.
• Résolution = Nombre de pixels de l'image / Taille de l'image en pouces
60
35x22 75x47 120x75 469x293
Numérisation spatiale
• Effet de la résolution spatiale: les dimensions ‘physiques’ d’un élément
d’image (le pixel)
Résolution = Nombre de pixels de l'image / Taille de l'image en pouces
• C’est la clarté ou la finesse de détails atteinte par un moniteur ou une
imprimante dans la production d’images
Par exemple, si une image a une résolution de 300 pixels par pouce et une
taille de 4 pouces sur 6 pouces, cela signifie qu'elle contient 1200 pixels
horizontalement (4 x 300) et 1800 pixels verticalement (6 x 300), pour un
total de 2 160 000 pixels (1200 x 1800).
1 2 3 4
R=1200/4= 300 ppt
R=1800/6 =300 ppt 2
R=1800*6/24 =300 ppt 3
4
5
6
1200x1800 61
Tessellation (pavage)
C’est la forme du pixel.
• Le pavage est «choisi» pour couvrir au mieux le
plan image.
62
Tessellation (pavage)
Trois types qui résultent de différentes tessellations du plan par des figures
géométriques
63
Voisinage de pixels
• Connexité d’ordre 4 : on considère les 4 voisins directs N, S, O
et E du pixel
• Connexité d’ordre 8 : on considère les 8 voisins directs N, NE,
NO, S, SE, SO, O et E du pixel
• La connexité peut s’étendre aux voisins indirects (i.e. pas de la
première couronne)
64
Format des images
Changement de format Matlab : les fonctions pour passer d’un format à un
autre :
• I= imread('cameraman.tif’); % lecture de l’image
• Imshow(I)
• 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.
65
Format des images
66
Format des images
67
Format des images
Bitmap /vect Compression des données Nb de couleurs
JPEG Bitmap Oui, réglable (avec perte) 16 millions
GIF Bitmap Oui (sans perte) 256 (palette)
PNG Bitmap Oui (sans perte) de 256 jusqu'à 16 million
Format JPEG (Joint Photo Expert Group) Format GIF (Graphics Interchange
Format)
Nb. couleurs : 16 millions (vraies couleurs)
Nb. couleurs : 256 couleurs avec palette
Compression avec perte : Le taux de
compression peut varier de 1% (meilleure Compression avec perte : Compression
qualité) à 99% (moins bonne qualité). sans perte
69
Contraste de l’image
70
Bruit
• Bruit : un bruit est une information parasite qui s’ajoute aléatoirement à une image
numérique causant la perte de la netteté dans les détails
• Le bruit peut prendre de nombreuses formes différentes, chaque type de bruit
nécessite une méthode différente pour sa suppression
• Le bruit b(x,y) est souvent considéré comme aléatoire.
– Bruit additif: I(x,y) =I(x,y)+b(x,y)
– Bruit multiplicatif : I(x,y) =I(x,y).b(x,y)
• Types de bruit :
– Bruit d'amplification
• Origine : dérive thermique des composants
• Modélisation : bruit additif à distribution normale
– Bruit «Poivre et sel»(impulsionnel)
• Origine: pixels défectueux, erreurs de CAN, ...
• Modélisation : remplacement de n% pixels par 0 ou 255
– Bruit de quantification
• Origine: quantification des valeurs en niveaux discrets
• Modélisation: variable aléatoire à distribution uniforme
71
Opérations élémentaires
• Binarisation par seuillage (sur une image en niveau de gris)
72
Opérations élémentaires
73
Opérations élémentaires
74
Exercice : ( 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.
75
Histogramme
Histogramme: l’histogramme h(l) d’une image mesure la frequence
d’apparition du niveau de gris l dans l’image (l=0,1.. L-1).
Occurence
685 Occurence
548 4477
411 3581
274 2686
137
1790
0
895
0 63 127 191 255
Grey Level
0
0 63 127 191 255
Grey Level
76
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
2 2 2 2 2 2 2 2
2 0 0 0 0 0 0 2
2 0 1 1 1 1 0 2
2 0 1 0 0 1 0 2
2 0 1 1 1 1 0 2
2 0 1 0 0 1 0 2
2 0 0 0 0 0 0 2
2 2 2 2 2 2 2 2
Deux images différentes (en termes de contenu sémantique) peuvent aussi avoir
le même histogramme
79
Exemple :
Afficher l’histogramme de l’image
« cameraman », et celui de son négatif, sur
256 niveaux. Expliquer le résultat obtenu
I= imread('cameraman.tif’);
H=imhist(I)
heq = histeq(I);
80
Égalisation d’histogramme
Il s’agit de déterminer une transformation f des niveaux d’intensité
qui rend l’histogramme aussi plat que possible.
➢ Mauvais contraste
➢ Images trop sombres ou trop claires
➢ Mauvaise répartition des niveaux d’intensité
Exemple I= imread('cameraman.tif’);
heq = histeq(I);
imshow(heq); 81
Égalisation d’histogramme
82
Égalisation d’histogramme
84
Exemples de traitements bas niveau des images
• Amélioration d’images : amélioration de l’aspect des images ,
– restauration, débruitage, filtrage
• Analyse fréquentielle : changement d’espace de représentation
– Transformée de Fourier
• Acquisition d’images : disposer d’une image sous forme numérique
– échantillonnage, quantification
• Compression d’images : réduction de la quantité d’informations nécessaires pour
représenter une image →codage, transmission
• Segmentation d’images : division de l’image en parties, ou zones caractéristiques →
détection de contours, partitionnement split & merge
• Représentation et description d’images : transformation de l’image en un ensemble de
“concepts” utilisables par l’ordinateur pour des algorithmes plus évolués→ détection
de caractéristiques, e.g. Harris, modèles (graphes, ...)
• Indexation d’images : tri d’images selon un ensemble de descripteurs → fouille dans
les bases d’images
• Reconnaissance : association d’une étiquette à un objet à partir de ses descripteurs →
Reconnaissance de visages
85
Exemples de traitements bas niveau des images
86
Exemples de traitements bas niveau des images
87
Exemples de traitements bas niveau des images
88
Exemples de traitements bas niveau des images
• Connecté au problème de reconnaissance de visage
• Détection visage : identifier les zones de l’image de la classe « visage »
• Reconnaissance de visage : identifier une instance particulière de la
classe « visage »
89
Exemples de traitements bas niveau des images
• Détecter les zones de texte dans une image
• Contexte urbain
• De nombreuses applications pratiques
90
Égalisation d’histogramme
Fonction de répartition:
p(0)=h(0)/(MxN); v(0)=p(0);
Calcul de l’Histogramme:
Vmin = v(0);
For l=0 to 255 For l=1 to 255
h(l)=0 p(l)= h(l)/(MxN)