43 2 6MB
Traitement d’image Noureddine ABOUTABIT, Ph.D
1
INTRODUCTİON Introduction et définitions
2
Dr.Ing. ABOUTABIT
1
Introduction •
Image ? Image : représentation d’une personne ou d’une chose par la peinture, la sculpture, le dessin, la photo, le film .... (Larousse) Vision : Perception du monde extérieur par les organes de la vue.
Association Image-Vision: • Pour l’image intervient donc la notion de représentation interprétation plus ou moins objectif du monde extérieur. • La vision humaine incorpore une interprétation partielle subjectif : une scène est vue différemment par chaque individu suivant le contexte personnel par exemple. Une machine de vision est forcément objective. L’être humain est subjectif.
3
Introduction •
Image ?: Image = support d’information Image = représentation d’un paramètre physique sur un plan. Une image est avant tout un signal 2D (x,y). Souvent, cette image représente une réalité 3D (x,y,z).
D'un point de vue mathématique : Une image est un matrice de nombres représentant un signal Plusieurs outils permettent de manipuler ce signal D'un point de vue humain : Une image contient plusieurs informations sémantiques Il faut interpréter le contenu au-delà de la valeur des nombres
4
Dr.Ing. ABOUTABIT
2
Introduction •
Types d’images:
Image artificielle
Image naturelle
Image naturelle – Plusieurs moyens d'acquisition caméra, microscope, tomographie, infrarouge, satellite, IRM, rayons X, … Image artificielle – Plusieurs outils de représentation synthèse d'images, réalité virtuelle, visualisation scientifique, …
5
Introduction •
Types d’images :
Image en niveaux de gris, I(x,y) є [0….255]
Image binaire, I(x,y) є {0, 1}
Images couleurs IR (x,y) IG (x,y) IB (x,y)
6
Dr.Ing. ABOUTABIT
3
Introduction • Un peu d’histoire:
Années 1950
21ème siècle
7
Introduction •
Traitement d’image : buts Feature extraction
Image numérique
Amélioration
Détection de contours
Restauration
Détection de régions
Extraction de primitives
Reconnaissance de formes
Analyse Codage Compression
Segmentation Traitements de base
…bas niveau……………………………………………………..haut niveau…..
8
Dr.Ing. ABOUTABIT
4
Introduction • Amélioration : Contraste, dynamique, bruit ...
Image moins contrastée
Image améliorée
9
Introduction • Restauration : Elimination de dégradations : exemple flou
Image avec flou
Image restaurée D’après Schouten 2002
10
Dr.Ing. ABOUTABIT
5
Introduction • Codage et compression :
11
Introduction • Synthèse : Modèles fractals, Modélisation 2D, Modélisation 3D, mouvement ...
12
Dr.Ing. ABOUTABIT
6
Introduction • Segmentation :
Approche contour
Image d’origine
Approche région
13
Introduction •
Exemples d’applications : radar
meteorologie robotique
surveillance
microscopie Traitement d’image imagerie ultrason
astronomie
sismologie
navigation autonome
Reconnaissance aerienne ou cartographie
14
Dr.Ing. ABOUTABIT
7
Introduction •
Applications :
Drone militaire Imagerie médicale
Télédétection
15
Contenu du cours • Introduction : définitions, vision humaine • Formation d’image : radiométrie, types d’images, colorimétrie, numérisation • Rehaussement d’image : histogramme, amélioration du contraste • Filtrage : convolution numérique, filtrage passe-bas • Segmentation d’image : approche région, approche contour • Traitement des images binaires : pavage, maillage, distance, fermeture des contours, étiquetages des composantes connexes, • Transformée de Fourier • Extraction de primitives : transformée de Hough, snakes, détection des points d’intérêt (Harris), SIFT, Histogramme de gradients. • Estimation du mouvement dans les séquences vidéos : analyse du mouvement, Calcul du mouvement apparent, flot optique
16
Dr.Ing. ABOUTABIT
8
FORMATİON D’İMAGES NUMÉRİQUES Formation de l’image, numérisation, colorimétrie, Formats d’image
17
Formation de l’image •
Acquisition des images : Emission et réflexion de la lumière viisble
Réflectivité, luminance...
CCD, CMOS, Barrettes CCD, ...
Rayonnement IR
Luminance IR (chaleur) Bolomètres
Echo ultra sonore
Distance, densité de tissus, ...
Echographie, sonar, ...
Résonance magnétique
Présence d’un corps chimique, ...
IRM, RMN, ...
Echo électromagnétique
Distance, spécularité de surfaces
Radar, SAR, ...
Absorption des rayons X
Densités de tissus
Radiographie, tomographie...
18
Dr.Ing. ABOUTABIT
9
Formation de l’image •
Acquisition des images : Une image au sens optique du terme, est une certaine quantité d’informations véhiculée par des ondes électromagnétiques caractérisées par leur longueur d’onde et leur énergie. La longueur d'onde est la distance séparant deux crêtes successives d'une onde périodique. On la dénote communément par la lettre grecque λ (lambda). Mathématiquement, on peut la définir ainsi : si l'onde peut être représentée par une fonction périodique f qui prend comme argument la distance x, alors la longueur d'onde est : le plus petit λ > 0 tel que pour tout x, on ait: f (x + λ) = f (x)
La longueur d'onde est proportionnelle à la période, et donc inversement proportionnelle à la fréquence, le nombre de sommets de même signe qui traversent un point en une durée d'une seconde. La longueur d'onde est égale à la vitesse de l'onde divisée par la fréquence de passage. Lorsque l'onde une onde électromagnétique dans le vide, cette vitesse est la vitesse de la lumière c dans le vide, et la relation s'écrit :
λ=c/ν où : λ = longueur d'onde c = 3×108 m/s ν = fréquence de l'onde
19
Formation de l’image • Longeur d’onde: Longueur d'onde Domaine > 10 cm radio
Commentaire (150 kHz - 3 GHz)
de 1 mm à 10 cm
micro-onde et radar (10 cm - +- 1cm, 3 - 300 GHz)
de 1 µm à 500 µm
infrarouge
de 400 nm à 700 nm lumière visible
rouge (620-700 nm) orange (592-620 nm) jaune (578-592 nm) vert (500-578 nm) bleu (446-500 nm) violet (400-446 nm)
de 10 nm à 400 nm ultraviolet de 10-8 m à 10-7 m
(400 - 280 nm)
de 10-11 m à 10-8 m rayon X de 10-14 m à 10-12 m rayon γ
20
Dr.Ing. ABOUTABIT
10
Formation de l’image •
Acquisition des images : Ces ondes lumineuses correspondent à une émission d’énergie, sous forme de photons, due aux transitions atomiques de corps chauffés. Classification des ondes lumineuses :
Rayons cosmiques
Rayons gamma
Rayons X
10-5 nm
10-3 nm
Visible
10 nm500 nm
Violet
380
Ultraviolet
İnfrarouge
1500 nm
bleu
vert
500
555
600
jaune
Microonde
TV
5m
radio
50Hz
1000m
rouge
720
21
Formation de l’image •
Lumière:
Lumière visible :
Détectée par l’oeil
Lumière chromatique : Composée de plusieurs longueurs d’onde Lumière monochromatique : Une seule longueur d’onde (LASER) Lumière achromatique : Seule l’énergie est prise en compte (niveaux de gris)
22
Dr.Ing. ABOUTABIT
11
Formation de l’image: Œil et lumière : •
•
•
En 1801, Tomas Young (1773-1829) médecin, linguiste et physicien, montre que la perception des couleurs peut être expliquée par la présence de 3 nerfs rétiniens excités respectivement par le rouge, le vert et le violet. Un demi-siècle plus tard, Hermann Ludwig Ferdinand von Helmholtz (1821-1894) physicien et physiologiste, redécouvre et développe la théorie de Young : 3 couleurs fondamentales qui correspondent à 3 types de terminaisons nerveuses. C’est la synthèse de ces 3 couleurs primaires qui permet au cerveau humain de percevoir toutes les nuances colorées de la nature. Nous ne percevons donc les couleurs et les détails fins qu’en pleine lumière et grâce à 3 types de photorécepteurs sensibles à des longueurs d’onde spécifiques : les cônes bleus (λ= 430nm)*, les verts (λ= 530nm)*, rouges (λ= 630nm)*. λ désigne la distance parcourue par l’onde pendant une période.
* Nanomètre : 1 nm = 10-9
m
23
Couleur : Sensibilité spectrale
• Spectre du visible : 380 420
IR
violet
bleu
480
540 vert
590 610 jaune
orange
λ (nm)
780 rouge
UV
24
Dr.Ing. ABOUTABIT
12
• Les couleurs proviennent de la séparation de la lumière blanche naturelle en composantes absorbées et composantes réfléchies. • Toute source lumineuse visible est composée d’un mélange d’ondes électromagnétiques cohérentes (couleurs pures), dont la longeur d’onde est comprise entre 0,4 μm (violet) et 0,7 μm (rouge).
25
• Toute autre couleur est engendrée par un mélange de ces couleurs pures selon plusieurs critères :
Pour coder les couleurs: on doit trouver l’espace de représentation des couleurs qui soit à la fois facile à manipuler et soit pertinent pour l’analyse d’images couleur.
26
Dr.Ing. ABOUTABIT
13
• La trichromie : il suffit d’un triplet de couleurs pures pour restituer l’intégralité des couleurs (en mélangeant ces 3 composantes)
Le cercle de Newton peut ainsi se “résumer” en un triangle de primaires.
27
• Synthèse additive
synthèse soustractive :
28
Dr.Ing. ABOUTABIT
14
• Acquisition de la couleur : chez l’humain Les dispositifs d’acquisition de la couleur fonctionnent habituellement par une combinaison locale de capteurs sélectifs sensibles à certaine partie du spectre lumineux. La partie centrale de la rétine (fovea) se trouvent les cellules photoréceptrices appelées cônes. Ces dérnières sont de 3 types selon leur spectres de sensibilité. L’oeil ne présente pas la même sensibilité aux différentes longueur d’ondes.
29
Couleur • Espace couleur RVB: L’espace RVB est l’espace vectoriel engendré par les 3 composantes primaires (Rouge, Vert, Bleu). L’ensemble des couleurs produites se représente comme l’intérieur d’un cube :
Triangle de Maxwell ou plan de Luminance. La teinte est donnée par la position sur le périmètre du triangle. La saturation est représentée par la distance de la couleur au blanc.
30
Dr.Ing. ABOUTABIT
15
Couleur • Espace couleur RVB
Mais il existe aussi d’autres codages de la couleur que RVB…
31
Couleur • Espace couleur HSV ou TLS: Cet espace de représentaiton des couleurs est le plus proche de l’aspect physiologique de la vision humaine (notamment en ce qui concerne la teinte). L’analyse d’images couleur utilise fréquement cet espace. Teinte : angle Luminance : axe vertical
Saturation: module S
32
Dr.Ing. ABOUTABIT
16
Couleur • Espace couleur XYZ: C’est le système de coordonnées (surtout utilisé en télédiffusion) dans lequel il n’y a pas de coordonnées négatives pour les couleurs visibles.
Matrice de passage
33
Formation de l’image •
Acquisition des images :
Monde réel
Caméra
Numérisation
Image numérique
34
Dr.Ing. ABOUTABIT
17
Numérisation • Numérisation :
Une image numérique est une image échantillonnée et quantifiée.
35
Numérisation Echantillonnage : L’image analogique f(x,y) est divisée en N lignes et M colonnes. L’intersection d’une ligne et d’une colonne définit un pixel (une zone rectangulaire). La valeur assignée aux coordonnées [i , j] avec {i=0,1,2,...,M-1} et {j=0,1,2,...,N-1} est notée f(i, j).
Lignes
Colonnes
Pixel de valeur f(i, j)
On parle de sous-échantillonnage lorsque l'image est déjà discrétisée et qu'on diminue le nombre d'échantillons.
36
Dr.Ing. ABOUTABIT
18
Numérisation • • • • • • •
L’échantillonnage est limité par la capacité du capteur (ex. caméra), donc le nombre de pixels disponible (ou autre limite imposée). La quantification est limitée par la quantité de tons (de gris) définie dans l’intervalle. Une image numérisée est représentée par une matrice de dimension M * N. Chaque élément (pixel) a une valeur entière dans l'intervalle [Lmin , Lmax]. Le nombre de « bits » requis pour représenter les niveaux de gris dans l’intervalle « L » est « K ». La relation entre « K » et « L » est : L = 2K Le nombre de bit pour entreposer une image est donc : b = M * N * K (taille de l’image)
37
Numérisation • • •
Résolution spatiale Le plus petit détail discernable Résolution tonale (de tons de gris) Le plus petit changement discernable Une image a donc une résolution spatiale de M X N pixels et une résolution de tons de gris de K bits ou de L niveaux ou tons
38
Dr.Ing. ABOUTABIT
19
Numérisation Résolution spatiale : échantillonnage
Résolution tonale : quantification
39
Formats d’image • •
Format de fichiers pour sauvegarder les images : TIF, GIF, JPEG, PNG, PPM, PGM, BMP, ... Chaque format a ses particularités : - Entête contenant les informations de l'image. - Pixels de l'image codés de différentes façons.
•
Formats sans compression : - Formats les plus simples, - Les pixels codés directement (les uns après les autres). - Exemples : PGM (images en niveaux de gris 8bits), PPM (images couleur RVB 24bits). BMP (images couleurs 24bits).
40
Dr.Ing. ABOUTABIT
20
Formats d’image •
Formats avec compression : Les pixels sont compressés pour réduire la taille du fichier à sauvegarder. - compression sans perte : sans modification des valeurs des pixels exemple: PNG - compression avec perte : valeurs des pixels modifiées pour réduire encore la taille du fichier. exemple: JPEG
JPEG est très bien pour visualiser les images (vision humaine) mais très mauvais pour le traitement d'image, car on perd beaucoup d'informations.
41
Environnement de travail : MATLAB
TRAİTEMENTS D’İMAGE
42
Dr.Ing. ABOUTABIT
21
Traitement d’image avec Matlab •
Matlab :
langage performant pour le calcul technique. calcul, visualisation et programmation sont intégrés. Environnement facile à utiliser. Utilisation en :
Math et calcul Développement algorithmique Acquisition des données Modélisation simulation et conception de prototypes. Analyse des données Réalisation de graphique scientifique Développement d’application y compris la construction d’interface graphique.
43
Traitement d’image avec Matlab •
Matlab :
Matlab peut être pratiqué de façon interactive ou avec des commandes. Caractérisé par la forme matricielle de l’élément principal “donnée” Matrice dont le dimensionnement n’est pas requit. Matlab = matrix laboratory. Matlab est l’outil standard de calcul pour plusieurs cours en mathématique, ingénierie et science. Industriellement, Matlab est utilisé dans la recherche, le développement et l’analyse. Matlab est complété par plusieurs familles de solutions spécifiques pour des applications. Ces familles sont nommées tooboxels. Image processing toolbox est une collection de fonctions Matlab (M-functions ou M-files) qui etendent les capacités de l’environnement Matlab pour des solutions aux problèmes du traitement numérique d’image.
44
Dr.Ing. ABOUTABIT
22
Traitement d’image avec Matlab Menu
•
Matlab :
Editeur Répertoire actuel workspace Historique des commandes Fenêtre de commande
45
Traitement d’image avec Matlab •
Matlab :
Aide : • Soit par le menu help/matlab help ou raccourci f1 • soit par commande : help “nom de la commande ou fonction “
46
Dr.Ing. ABOUTABIT
23
Traitement d’image avec Matlab • Matlab : fonction basique pour le traitement d’image Lecture d’une image : imread(‘filename’) ou A=imread(‘filename’) Affichage d’une image : imshow(A) Ecriture d’une image : imwrite(A,‘filename’) imwrite(A,‘filename’,’tif’) jpg, bmp ... imwrite(A,‘filename’,’jpg’,’quality’,q) q =0 à 100 Information du fichier image : imfinfo(‘filename’)
47
Traitement d’image avec Matlab •
Matlab : classes des données
48
Dr.Ing. ABOUTABIT
24
TRAİTEMENT D’İMAGE Traitement de base
49
Traitements de base • Histogramme L’histogramme Nombre de pixels
Niveau de gris Histogramme d’une image : l’histogramme représente la distribution des niveaux de gris (ou de couleurs) dans une image. H(k) = le nombre de pixels dans l’image ayant la valeur d’intensité k.
50
Dr.Ing. ABOUTABIT
25
Traitements de base •
Histogramme: L’histogramme (exemples) H(k)
Fonction Matlab : I = imread(‘nom_fichier'); figure; imhist(I);
k H(k)
k H(k)
k
51
Traitements de base •
Définitions: La dynamique d’une image est l’intervalle entre les valeurs minimale et maximale = [valeur_min, valeur_max]. La luminance (ou la brillance) est la moyenne de tous les pixels de l’image.
Influence de la luminance
52
Dr.Ing. ABOUTABIT
26
Traitements de base •
Définitions : Le contraste peut être défini de plusieurs façons : Ecart-type des variations des niveaux de gris :
Variation entre niveaux de gris min et max :
53
Traitements de base •
Définitions: Image sombre Image non contrastée
Image claire Image contrastée
54
Dr.Ing. ABOUTABIT
27
Traitements de base •
Amélioration du contraste: plusieurs méthodes existent : - Transformation linéaire - Transformation linéaire avec saturation - Transformation linéaire par morceau - Transformation non-linéaire - Égalisation de l’histogramme
55
Traitements de base •
Amélioration du contraste Transformation linéaire Définition : • Cas où l’intervalle de variation des niveaux de gris est réduit (max(I(i,j))min(I(i,j)) est inférieur à la dynamique maximale possible pour l’image), on le remet entre 0 et (L-1). • Si les niveaux de gris de I appartiennent à [min(I(i,j)), max(I(i,j))] et qu’on étire l’histogramme à l’intervalle [0, L-1], alors on a :
I ' (i, j ) =
L −1 ( I (i, j ) − min( I (i, j ))) max( I (i, j )) − min( I (i, j ))
56
Dr.Ing. ABOUTABIT
28
Traitements de base •
Amélioration du contraste Transformation linéaire
Exemple : cas où l’image est codée sur 8 bits
57
Traitements de base •
Amélioration du contraste Transformation linéaire
58
Dr.Ing. ABOUTABIT
29
Traitements de base •
Amélioration du contraste Transformation linéaire
59
Traitements de base • Amélioration du contraste Transformation linéaire avec saturation
60
Dr.Ing. ABOUTABIT
30
Traitements de base • Amélioration du contraste Transformation linéaire avec saturation On choisit deux seuils Smax et Smin tels que :
On a donc :
Cas d’un codage à 8 bits :
61
Traitements de base • Amélioration du contraste Transformation linéaire par morceaux
62
Dr.Ing. ABOUTABIT
31
Traitements de base • Amélioration du contraste Transformation linéaire par morceaux
Exemple d’une transformation par morceaux de l’histogramme : (le contraste est modifié)
63
Traitements de base • Amélioration du contraste Transformation non linéaire
64
Dr.Ing. ABOUTABIT
32
Traitements de base • Amélioration du contraste Correction de la dynamique de l’image (étirement de l’histogramme)
Dans ce cas, l’histogramme de l’image original occupe juste une partie de la plage dynamique possible. Sa correction est donc linéairement possible.
65
Traitements de base • Amélioration du contraste Correction de la dynamique de l’image (étirement de l’histogramme)
Dans ce cas, l’histogramme de l’image original occupe toute la plage dynamique. Sa correction n’est pas très visible => égalisation de l’histogramme
66
Dr.Ing. ABOUTABIT
33
Traitements de base • Amélioration du contraste Égalisation de l’histogramme
l'histogramme cumulé représente les sommes partielles des probabilité d'occurrence
67
Traitements de base • Amélioration du contraste Égalisation de l’histogramme Pour égaliser l’histogramme, on cherche à aplanir l’histogramme.
Algorithme : 1. calcul de l’histogramme 2. normalisation de l’histogramme par le nombre de pixels de l’image 3. calcul de la densité de probabilité normalisé 4. transformation des niveaux de gris de l’image
1. 2.
Fonction Matlab : I = imread(‘nom_fichier'); J = histeq(I);
3. 4.
68
Dr.Ing. ABOUTABIT
34
Traitements de base • Amélioration du contraste Égalisation de l’histogramme
Amélioration réussie avec l’égalisation.
69
Traitements de base • Amélioration du contraste Égalisation de l’histogramme
70
Dr.Ing. ABOUTABIT
35
Traitements de base • Opérations sur les images Addition de deux images Si I et J sont deux images, l’image addition A de ces deux images est définie pixel à pixel par :
A(i, j ) = Min( I (i, j ) + J (i, j );255) L’addition d’images peut être utilisé: • pour la diminution du bruit (moyenne des images). •Augmentation de la luminance en additionnant une image avec elle-même.
71
Traitements de base • Opérations sur les images soustraction de deux images Si I et J sont deux images, l’image différence D de ces deux images est définie pixel à pixel par :
D(i, j ) = Max( I (i, j ) − J (i, j );0) La soustraction d’images peut permettre à: • Détecter les défauts dans une image • Détecter les mouvements.
72
Dr.Ing. ABOUTABIT
36
Traitements de base •
TP Matlab 1. Visualisation d’une image : - Afficher une image en niveaux de gris et une image couleur RGB . - Calculer et afficher l’histogramme d’une image en niveaux de gris. 2. Amélioration du contraste: - Réaliser une fonction permettant un étirement d’histogramme par une transformation linéaire (utilisation de LUT par exemple). - Appliquer cette fonction sur une image en niveaux de gris de votre choix. - Afficher les images originale et améliorée. 3. Egalisation d’histogramme : - Réaliser une égalisation d’histogramme d’une image, puis afficher ces 2 images et leur histogramme en niveaux de gris sur la même figure. Pour ce faire, utilisez les fonctions histeq pour l’égalisation et imhist pour afficher l’histogramme.
73
TRAİTEMENT D’İMAGE segementation
74
Dr.Ing. ABOUTABIT
37
Traitement d’image • Segmentation : Qu’est ce que la segmentation ? Et pourquoi segmenter ? - La segmentation sert à partager l’image en plusieurs morceaux chaque morceau correspond à une image - Pour reconnaitre des objets dans une image, on a besoin de la segmenter afin de détecter ces objets => reconnaissance d’objets.
75
Traitement d’image •
Segmentation : But de la segmentation
- Extration des entités d’une image (les objets, le fond ... ) afin de : - appliquer un traitement spécifique - interpreter le contenu d’une image - En pratique : on construit une image de masque - Chaque masque est une composante connexe
İmage originale
masque
76
Dr.Ing. ABOUTABIT
38
Traitement d’image • Segmentation : Principe de la segmentation La segmentation peut se faire soit en détectant : • les discontinuités : contours - les changements abruptes, frontières entre régions ... • les zones homogènes : régions - mêmes couleurs, textures, intensités ... La segmentation est le découpage d’une image en différentes régions et/ou contours
Un contours fermé est équivalent à une région.
77
Traitement d’image • Segmentation : Approches • Approches pixels : seuillage • Approches régions : - rechercher les zones homogènes dans l’image • Approches contours : - rechercher les discontinuités entre les régions dans l’image • Approches duales ou hybrides (contours et régions)
78
Dr.Ing. ABOUTABIT
39
Traitement d’image • Segmentation : Principe de base seuillage Le seuillage peut être : - global : un seuil pour toute l’image - local : un seuil pour chaque portion de l’image - adaptatif : un seuil s’ajustant selon les parties de l’image Seuillage de base (2 classes) : si I(pixel) >seuil
alors I(pixel)=1
si I(pixel) Forme de diamant centré sur le pixel.
2 2
2
1
2
1
0
1
1
2
2
2
2
Distance de l’échiquier D8: D8 (p,q) = maximum (|x-s| , |y-t|) Au voisinage autour du pixel (x,y) => Forme de carré centré sur le pixel.
2
2
2
2
2
2
1
1
1
2
2
1
0
1
2
2
1
1
1
2
2
2
2
2
2
153
Traitement d’image • Images binaires: Codage de Freeman: Pour coder les directions dans une image, on utilise le codage de Freeman :
On peut ainsi coder les contours en partant d’un pixel (en haut à gauche) et en tournant dans le sens des aiguilles d’une montre .
154
Dr.Ing. ABOUTABIT
77
Traitement d’image • Images binaires: Codage de Freeman : Application : Codage des contours Le codage de Freeman associe à chaque déplacement élémentaire (vers un des voisins définis par la 8-connexité) un code entier dans l’intervalle [0,7].
155
Traitement d’image • Images binaires: Etiquetage des composantes connexes : Composante connexe = ensemble de pixels connexes (voisins) appartenant a une même entité Une image segmentée n'est qu'une succession de pixels On désire donner une valeur commune pour les pixels d'une région ou d'un contour On désire avoir une valeur différente pour chaque région/contour C’est une opération utilisée en post-segmentation. Exemple :
156
Dr.Ing. ABOUTABIT
78
Traitement d’image • Images binaires: Etiquetage des composantes connexes : Exemple d’étiquetage :
157
Traitement d’image • Images binaires: Etiquetage des composantes connexes : Exemple d’étiquetage :
158
Dr.Ing. ABOUTABIT
79
Traitement d’image • Images binaires: Etiquetage des composantes connexes : Exemple d’étiquetage :
159
Traitement d’image • Images binaires: Etiquetage des composantes connexes : Exemple d’étiquetage :
160
Dr.Ing. ABOUTABIT
80
Traitement d’image • Images binaires: Etiquetage des composantes connexes : Exemple d’étiquetage :
161
Traitement d’image • Images binaires: Etiquetage des composantes connexes : Exemple d’étiquetage :
162
Dr.Ing. ABOUTABIT
81
Traitement d’image • Images binaires: Etiquetage des composantes connexes : Exemple d’étiquetage :
163
Traitement d’image • Images binaires: Etiquetage des composantes connexes : Exemple d’étiquetage :
164
Dr.Ing. ABOUTABIT
82
Traitement d’image • Images binaires: Etiquetage des composantes connexes : Exemple d’étiquetage :
165
Traitement d’image • Images binaires: Etiquetage des composantes connexes : Exemple d’étiquetage :
166
Dr.Ing. ABOUTABIT
83
Traitement d’image • Images binaires: Etiquetage des composantes connexes : En deux parcours, l’étiquetage des régions est réalisé. Parfois, deux parcours ne suffisent pas. Exemple : spirale
Dans ce cas, on continue les parcours dans un sens puis dans l’autre. Le test d’arrêt est qu’il n’y ait plus de changement d’étiquettes.
Mais dans certains cas on peut aussi faire qu’un seul parcours avec:
Gestion d’une table d’équivalence d’étiquettes. Mise a jour récursive des étiquettes lorsque 2 étiquettes se ≪ rencontrent ≫.
167
Traitement d’image • Images binaires: Etiquetage des contours: L’étiquetage des contours peut se faire avec le même algorithme précédent. Le seul changement est l’utilisation de la 8-connexité : on regarde 4 voisins au lieu de 2.
1 2 3 4
?
A faire attention : normalement l’épaisseur d’un contour doit être d’un seul pixel ==> supprimer les pixels redondants (non-maxima) Il existe d’autres algorithmes plus performants pour les contours.
168
Dr.Ing. ABOUTABIT
84
Traitement d’image • Images binaires: Fermeture des contours: Les méthodes de détection des contours vus précédemment ne donnent pas exactement des contours fermés ==> les résultats contiennent des trous et morceaux de contours isolés. Pour pouvoir segmenter les régions à partir des contours il faut les fermer. Plusieurs méthodes existent mais rien de facile ... Epaisseur des contours : Condition importante : un contour doit avoir une épaisseur de 1 pixel partout. Si le contour est trop épais, ou si le contour présente plusieurs chemins, on doit conserver les pixels de gradient le plus fort.
169
Traitement d’image • Images binaires: Fermeture des contours: Calcul et suivi du meilleur chemin dans le gradient Au bout des contours, on cherche le chemin permettant de rejoindre une autre extrémité de contour ==> Suivi du chemin de gradient le plus fort On peut avoir plusieurs chemins possibles : - Graphes de possibilités de chemin - Choix des chemins les plus courts / les plus forts (gradient).
170
Dr.Ing. ABOUTABIT
85
Traitement d’image • Images binaires: Fermeture des contours: Seuillage par hystérésis Définir deux seuils: - un seuil bas : minimum pour être un contour - un seuil haut: minimum pour être contour d'un objet (1) Seuiller avec le seuil haut (2) Ajouter les contours connectes supérieur au seuil bas
171
Traitement d’image • Opérateurs morphologiques:
172
Dr.Ing. ABOUTABIT
86
Traitement d’image • Opérateurs morphologiques:
173
Traitement d’image • Opérateurs morphologiques:
174
Dr.Ing. ABOUTABIT
87
Traitement d’image • Opérateurs morphologiques: Erosion
175
Traitement d’image • Opérateurs morphologiques: Dilatation
176
Dr.Ing. ABOUTABIT
88
Traitement d’image • Opérateurs morphologiques: exemple d’application Combien d’objets ? 1 ou 2 ?
Et si on applique une érosion ? Et si on applique une dilatation?
==> risque de fusion ou de séparation des objets !
177
Traitement d’image • Opérateurs morphologiques: exemple de Dilatation
178
Dr.Ing. ABOUTABIT
89
Traitement d’image • Opérateurs morphologiques: Erosion vs Dilatation
179
Traitement d’image • Opérateurs morphologiques: Ouverture vs Fermeture
180
Dr.Ing. ABOUTABIT
90
Traitement d’image • Opérateurs morphologiques: Application
181
Traitement d’image • Opérateurs morphologiques: Elément structurant
182
Dr.Ing. ABOUTABIT
91
Traitement d’image • Opérateurs morphologiques: résumé
183
Traitement d’image • Opérateurs morphologiques: Gradient interne -externe
184
Dr.Ing. ABOUTABIT
92
Traitement d’image • Opérateurs morphologiques: Gradient morphologique
Réalisation Matlab : im=imread('saturn.tif'); SE=ones(3); imB=im2bw(im,0.12); imD=imdilate(imB,SE); imE=imerode(imB,SE); imR=imD-imE;
185
Traitement d’image • Morphologie mathématique : TP Matlab : Lire l’image CIRCUIT.TIF Binariser l’image en utilisant la méthode de votre choix (suillage, detection de contours ). Par convention le « fond » de l’image binaire doit être noir (à « 0 »), et la forme de l’objet doit être blanche (à « 1 »). Sinon, vous pouvez inverser l’image binaire avec l’opérateur « ~ » ( I = ~ I ). Choisisser un élément structurant. Vous pouvez l’écrire directement sous la forme d’une matrice binaire (ex. SE = ones(3), SE = [0 1 0;1 1 1;0 1 0], … ). Appliquer une Erosion sur les formes de l’image binaire avec imerode. De même, appliquer une dilatation sur les formes de l’image binaire avec imdilate. Eroder ou dilater l’image binaire en jouant avec la forme de l’élément structurant (cas symétrique ou non ).
186
Dr.Ing. ABOUTABIT
93
Traitement d’image • Morphologie mathématique : TP Matlab (suite): Analyse qualitative de globules rouges à partir de l’observation microscopique d’échantillons sanguins. Cette analyse pourrait se faire à l’aide d’un traitement morphologique des images issues d’un microscope : Prendre l’image globules.tif En utilisant des opérateurs morphologique, imaginer et appliquer un algorithme permettant de segmenter les globules rouges de façon précise : l’algorithme devra éliminer les plaquettes (petites cellules foncées), les globules rouges qui sont coupés (qui touchent le bord), les globules rouges qui sont supérposés.
Image d’origine
Image souhaitée
187
Traitement d’image • Morphologie mathématique : TP Matlab (suite): De même imaginer un algorithme pour déterminer les inclusions intra-globules.
Image d’origine
Image souhaitée
188
Dr.Ing. ABOUTABIT
94