Vous êtes sur la page 1sur 94

Traitement d’image

Noureddine ABOUTABIT, Ph.D

INTRODUCTİON
Introduction et définitions

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.

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

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, …

Introduction
• Types d’images :

Image en niveaux de Image binaire, I(x,y) є {0, 1} Images couleurs


gris, I(x,y) є [0….255]
IR (x,y) IG (x,y) IB (x,y)

Dr.Ing. ABOUTABIT 3
Introduction
• Un peu d’histoire:

Années 1950

21ème siècle

Introduction
• Traitement d’image : buts
Feature extraction
Détection de
Image Amélioration contours
Extraction de Reconnaissance de
numérique primitives formes
Restauration Détection de
régions

Analyse
Codage
Segmentation
Compression Traitements de
base

…bas niveau……………………………………………………..haut niveau…..

Dr.Ing. ABOUTABIT 4
Introduction
• Amélioration :
Contraste, dynamique, bruit ...

Image moins contrastée Image améliorée

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 :
meteorologie
radar
robotique

surveillance
microscopie
Traitement
d’image

astronomie imagerie
ultrason

sismologie navigation Reconnaissance


autonome 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 Réflectivité, CCD, CMOS, Barrettes
de la lumière viisble luminance... CCD, ...
Rayonnement IR Luminance IR (chaleur) Bolomètres

Echo ultra sonore Distance, densité de Echographie, sonar, ...


tissus, ...
Résonance Présence d’un corps IRM, RMN, ...
magnétique chimique, ...
Echo Distance, spécularité Radar, SAR, ...
électromagnétique de surfaces
Absorption des rayons Densités de tissus Radiographie,
X 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 Commentaire
> 10 cm radio (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
rouge (620-700 nm)
orange (592-620 nm)
jaune (578-592 nm)
de 400 nm à 700 nm lumière visible
vert (500-578 nm)
bleu (446-500 nm)
violet (400-446 nm)
de 10 nm à 400 nm
ultraviolet (400 - 280 nm)
de 10-8 m à 10-7 m
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 Rayons Rayons Ultra- Visible İnfra- Micro- TV radio 50Hz


cosmiques gamma X violet rouge onde

10-5 nm 10-3 nm 10 nm500 nm 1500 nm 5m 1000m

Violet bleu vert jaune rouge

380 500 555 600 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 480 540 590 610 780 λ (nm)
violet bleu vert jaune orange rouge
IR 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 Image
Caméra Numérisation
réel 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
Colonnes

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
Lignes

définit un pixel (une zone rectangulaire). La Pixel de


valeur assignée aux coordonnées [i , j] avec valeur f(i, j)

{i=0,1,2,...,M-1} et {j=0,1,2,...,N-1} est


notée 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)
Fonction Matlab :
I = imread(‘nom_fichier');
H(k)
figure; imhist(I);

k
H(k)

H(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 :

L −1
I ' (i, j ) = ( 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
Fonction Matlab :
1. I = imread(‘nom_fichier');
J = histeq(I);
2.

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) <=seuil alors I(pixel)=0

L’image résultat du seuillage est une image binaire


Problème : choix de la valeur du seuil

79

Traitements de base
• Seuillage:

Exemple image « saturn.tif » :

Image seuillée ou binarisée Image d’origine

80

Dr.Ing. ABOUTABIT 40
Traitement d’image
• Segmentation : principe de base
Seuillage
Multi-seuils

81

Traitement d’image
• Segmentation : principe de base
Seuillage

82

Dr.Ing. ABOUTABIT 41
Traitement d’image
• Segmentation : principe de base
Seuillage
Choix du seuil optimal

83

Traitement d’image
• Segmentation : principe de base
Seuillage
Choix du seuil optimal

84

Dr.Ing. ABOUTABIT 42
Traitement d’image
• Segmentation : principe de base
Seuillage
Seuillage global

Problème d’éclairage

Seuillage
global pas
évident
Seuillage global
facile

85

Traitement d’image
• Segmentation : principe de base
Seuillage
Seuillage local adaptatif

86

Dr.Ing. ABOUTABIT 43
Traitement d’image
• Segmentation : principe de base
Seuillage
Seuillage local adaptatif

87

Traitement d’image
• Segmentation : Principe de base
seuillage

Avantages Inconvénients
Universel • Connaître le nombre de classes (et donc les seuils)
Temps réel • Apparition de faux éléments (la composante spatiale
Simple n’est pas prise en compte)

88

Dr.Ing. ABOUTABIT 44
Traitement d’image
• Segmentation : principe de base
k-moyennes (k-means)

89

Traitement d’image
• Segmentation :principe de base
k-moyennes (k-means)

90

Dr.Ing. ABOUTABIT 45
Traitement d’image
• Segmentation :principe de base

TP :
1. Réaliser une fonction seuillage multi-seuils, et appliquer la sur différentes
images.
2. Réaliser une segmentation type k-moyennes sur une image niveaux de
gris.
3. Comment modifier votre dernière application pour segmenter une image
couleur RGB ?

91

Traitement d’image
• Segmentation : principe de base
Approche pixels

• L’approche pixels effectue des opérations sur les pixels pour segmenter les régions.
• La méthode utilisant le seuillage est une méthode simple mais qui nécessite un
nettoyage des résultats obtenus :
- élimination des pixels isolés pour conserver que les blocs de pixels.
• Il existe d’autres méthodes de segmentation des régions conservant la connexité des
régions.

92

Dr.Ing. ABOUTABIT 46
Traitement d’image
• Segmentation :principe de base
Division-Fusion

93

Traitement d’image
• Segmentation :principe de base
Division-Fusion (étape de division)

94

Dr.Ing. ABOUTABIT 47
Traitement d’image
• Segmentation :principe de base
Division-Fusion (étape de division)

95

Traitement d’image
• Segmentation : principe de base
Division-Fusion (étape de fusion)

96

Dr.Ing. ABOUTABIT 48
Traitement d’image
• Segmentation : principe de base
Division-Fusion (exemple)

97

Traitement d’image
• Segmentation :principe de base
Croissance de régions

98

Dr.Ing. ABOUTABIT 49
Traitement d’image
• Segmentation : principe de base
Croissance de régions

99

Traitement d’image
• Segmentation : principe de base
Conseils

100

Dr.Ing. ABOUTABIT 50
TRAİTEMENT D’İMAGE

Filtrage

101

Traitement d’image
• Convolution :
Transformation des valeurs des pixels d’une image

102

Dr.Ing. ABOUTABIT 51
Traitement d’image
• Convolution :
Transformation des valeurs des pixels d’une image

103

Traitement d’image
• Convolution :
Convolution numérique

104

Dr.Ing. ABOUTABIT 52
Traitement d’image
• Convolution :
Exemple de convolution 2D

105

Traitement d’image
• Convolution :
Convolution numérique

106

Dr.Ing. ABOUTABIT 53
Traitement d’image
• Convolution :
Convolution numérique R=I*K

107

Traitement d’image
• Convolution :
Convolution numérique R=I*K

108

Dr.Ing. ABOUTABIT 54
Traitement d’image
• Convolution :
Convolution numérique R=I*K

109

Traitement d’image
• Convolution :
Convolution numérique R=I*K

110

Dr.Ing. ABOUTABIT 55
Traitement d’image
• Convolution :
Convolution numérique R=I*K

111

Traitement d’image
• Convolution :
Convolution numérique R=I*K

112

Dr.Ing. ABOUTABIT 56
Traitement d’image
• Convolution :
Filtrage spatial

113

Traitement d’image
• Convolution :
Filtrage spatial : filtre moyenneur

114

Dr.Ing. ABOUTABIT 57
Traitement d’image
• Convolution :
Filtrage spatial : filtre moyenneur

115

Traitement d’image
• Convolution :
Filtrage spatial : filtre moyenneur exemple

116

Dr.Ing. ABOUTABIT 58
Traitement d’image
• Convolution :
Filtrage spatial : filtre Gaussien

117

Traitement d’image
• Convolution :
Filtrage spatial : filtre Gaussien exemple

118

Dr.Ing. ABOUTABIT 59
Traitement d’image
• Filtrage non linéaire:
Filtrage spatial : filtre Médian

119

Traitement d’image
• Filtrage non linéaire:
Filtrage spatial : filtre Médian

120

Dr.Ing. ABOUTABIT 60
Traitement d’image
• Filtrage :
Filtrage spatial : comparaison filtre médian et moyenneur

121

Traitement d’image
TP matlab : réduction du bruit dans une image = filtrage

A partir d’une image bruitée, essayez de faire différents filtres pour la restaurer,
utilisez par exemple :
- un filtre moyenneur de taille 3
- un filtre moyenneur de taille 7
- un filtre médian
Que constatez vous ? Parmi ces trois filtres, quel est le filtre le plus adapté à la
correction de bruits ponctuels ? Pourquoi ?

122

Dr.Ing. ABOUTABIT 61
Traitement d’image
TP matlab : filtrage passe-bas , passe-haut
1. Filtrage passe-bas : utilisation de filtre moyenneurs et médians de noyaux de
convolution de 3*3, 5*5, 7*7 :
- afficher l’image originale (image Lena ou cameraman) et les 3 images filtrées
par les filtres moyenneurs.
- faire de même sur une autre figure pour les filtres médians.
- Expliquer l’effet des filtres moyenneur et médian.
Utiliser imfilter ou filter2 pour le moyenneur et medfilt2 pour le médian.
2. Filtrage passe-haut :
on filtre une image par deux filtres passe-haut 3*3 de noyaux :
H1 = 1/9*[0,-1,0;-1,4,-1;0,-1,0]
H2 = 1/9*[-1,-1,-1;-1,4,-1;0,-1,0]
Commenter et expliquer les résultats obtenus. En déduire une application des
filtres passe-haut.

123

Détection de contours

TRAİTEMENT D’İMAGE

124

Dr.Ing. ABOUTABIT 62
Traitement d’image
• Contour:
 Définition :
Un contour est une variation brusque d'intensité.

Par définition, un contour est la frontière qui sépare deux objets dans une image.
 Une discontinuité de l’image
Dans notre cas, nous détecterons toutes les lignes marquant des changements
d’intensité :
 Pas seulement les contours !
 Abus de langage sur la notion de contours !

125

Traitement d’image
• Contour:
 Définition :
Exemples de détection des discontinuités :

Profondeur Orientation de
surface

Refléctance

Illumination

126

Dr.Ing. ABOUTABIT 63
Traitement d’image
• Contour:
 Type de contours :

Marche d’escalier Rampe Toit

127

Traitement d’image
• Contour:
 Type de contours :
Et si le contour est bruité ...

Un peu .. Beaucoup ..

128

Dr.Ing. ABOUTABIT 64
Traitement d’image
• Détection de contours:
 Définition :
La détection de contours est une technique de réduction d'information dans
les images, qui consiste à transformer l'image en un ensemble de courbes,
pas forcément fermées, formant les frontières significatives de l'image.
Si les structures extraites sont simples à manipuler (courbes fines, régulières,
stables...), elles peuvent être utiles pour la mise en correspondance
d'images (robotique, indexation,...).

Image en niveau de gris Image contour

129

Traitement d’image
• Détection de contours:
 Méthode de détection :
Pour détecter les contours dans une image, la première dérivée de l’image
est l’opérateur de base.

130

Dr.Ing. ABOUTABIT 65
Traitement d’image
• Détection de contours:
 Méthode de détection :
La première dérivée de l’image s’exprime analytiquement par :

On fait en général une approximation simple de la dérivée discrète :

ou

131

Traitement d’image
• Détection de contours:
 Méthode de détection :
La première approximation de la dérivée d’une image discrète est celle
faite par Roberts (1965)  filtre de Roberts
Le filtre de Roberts est réalisé en convoluant l’image par deux masques de
convolution. Chaque masque correspond à une direction de la dérivée :

Les masques de Roberts sont les suivants :

132

Dr.Ing. ABOUTABIT 66
Traitement d’image
• Détection de contours:
 Méthode de détection :
Il existe d’autres filtres pour détecter les contours dans une image. Dans
ces filtres on effectue d’autres opérations additionnelles à la dérivée.
Exemples :

Avec les filtres de Prewitt et de de Sobel on


fait lissage de l’image + dérivée de l’image

133

Traitement d’image
• Détection de contours:
 Méthode de détection : Lissage + Dérivée
Le lissage permet une détection de contours moins sensible au bruit.

134

Dr.Ing. ABOUTABIT 67
Traitement d’image
• Détection de contours:
 Méthode de détection :
Il est à noter que l’image est une fonction 2D. On parle alors de Gradient
d’image  dérivée selon x + dérivée selon y
On obtient alors un vecteur avec une norme et une direction.

135

Traitement d’image
• Détection de contours:
 Méthode de détection :

136

Dr.Ing. ABOUTABIT 68
Traitement d’image
• Détection de contours:
 Méthode de détection : Seuillage du Gradient

Sobel sans
seuillage

Sobel avec seuillage


Sobel avec seuillage seuil=60
seuil=25

137

Traitement d’image
• Détection de contours:
 Méthode de détection :
La première dérivée n’est pas la seule méthode pour détecter les contours.
La dérivée seconde peut aussi les détecter. Pour une image (2D) on
parle alors de Laplacien.
L’opérateur Laplacien est définit de la façon suivante :

Le contour correpond à un maximum de la dérivée première et un zéro


pour la dérivée seconde :

138

Dr.Ing. ABOUTABIT 69
Traitement d’image
• Détection de contours:
 Méthode de détection :

139

Traitement d’image
• Détection de contours:
 Méthode de détection :

140

Dr.Ing. ABOUTABIT 70
Traitement d’image
• Détection de contours:
 Méthode de détection :
Pour appliquer le Laplacien sur une image plusieurs approximation
discrètes existent sous forme de masque de type :

A noter que le Laplacien est approximé par une seule matrice de


convolution symétrique.

141

Traitement d’image
• Détection de contours:
 Synthèse:
Plusieurs filtres existent pour détecter les contours. Mais lequel choisir ?
 Il faut savoir qu’aucun opérateur n’est parfait.
 En réalité, le résultat obtenu est incomplet :
 Il résulte des pixels superflus : qui n’appartiennent pas à un contour mais sont
détectés
 Il y’a aussi des pixels appartenant à un contour non détectés  manque
 Il y a des erreurs de position et d’orientation des pixels de contours
 Le choix donc dépend de l’utilisateur
 Enfin la détection des contours est un traitement de segmentation de bas
niveau dans une chaine de traitement d’image.
 La détection des contours par gradient ou laplacien est une méthode dite locale
(les filtres sont appliqués dans un voisinage de chaque pixel).
 Il existe d’autres méthodes de type globale: Transformée de Hough par
exemple.

142

Dr.Ing. ABOUTABIT 71
Traitement d’image
• Détection de contours:
 TP Matlab:
La fonction à utiliser : edge.m
1. Operateurs 1er ordre:
Travailler sur l’image cameraman.tif.
Calculer la norme du gradient sur l’image . Interpréter les résultats.
Utiliser l’opérateur Sobel. Interpréter.
Même question pour l’opérateur Prewitt.
2. Operateurs 2nd ordre:
Travailler sur l’image cameraman.tif.
Appliquer un opérateur laplacien sur l’image. Commenter.

143

Traitement d’image
• Détection de contours:
 TP Matlab:

3. Seuillage :
Réaliser un seuillage pour les opérateurs dérivatifs du premier ordre.
Réaliser un seuillage pour les opérateurs dérivatifs du second ordre.

144

Dr.Ing. ABOUTABIT 72
TRAİTEMENT D’İMAGE

Images binaires et Morphologie mathématique

145

Traitement d’image
• Images binaires:
Les images binaires sont des images où
un pixel ne peut prendre que la valeur 0
ou 1 (ou autre valeur non nulle).

Plusieurs techniques
particulières permettent
de manipuler les images
Binaires.

Intérêt : traiter les résultats de la


segmentation

Source : Caroline Rougier. Traitement d'images


(IFT2730). Univ. de Montréal.
146

Dr.Ing. ABOUTABIT 73
Traitement d’image
• Images binaires:
 Pavage et maillage:
Questions :

Combien d’objets voyez-vous ici ?

Quelle est la distance entre deux points ? A quoi correspond un trou ? Comment
définir une droite ?

147

Traitement d’image
• Images binaires:
 Pavage et maillage :
Réponse : Selon le pavage utilisé pour répartir le plan de l’image et le type de la
connexité des pixels (adjacence).

Un pavage du plan est une partition du plan en cellules élémentaires (pixels).


Il n'existe que 3 pavages réguliers du plan :

.... Et de nombreux pavages irréguliers........!!!!

148

Dr.Ing. ABOUTABIT 74
Traitement d’image
• Images binaires:
 Pavage et maillage :
On associe à chaque pavage du plan un graphe. Les sommets (noeuds) de ce
graphe représentent les cellules élémentaires, et les arêtes représentent la
relation d'adjacence entre ces cellules (2 cellules sont adjacentes si elles
ont un côté en commun). Un tel graphe est appelé maillage du plan.
Les pavages et les maillages réguliers ont une relation de dualité :

Pavage triangulaire- Pavage carré-maillage Pavage hexagonal -


maillage hexagonal carré maillage triangulaire

149

Traitement d’image
• Images binaires:
 Connexité des pixels :

Il existe plusieurs types de connexité :


 Connexité-4 : on considére que 4 pixels voisins au pixels en considération.
 Connexité-8 : on considère 8 pixels voisins.
 Connexité-16 : on considère 16 pixels
 Connexité-32
 ...

Connexité-4 et connexité-8
NB: A noter qu’on utilise des connexités différentes entre les contours et les
régions:
 connexité-4 pour les régions
 connexité-8 pour les contours

150

Dr.Ing. ABOUTABIT 75
Traitement d’image
• Images binaires:
 Connexité des pixels : exemples

• Région : connexité-4
• Région : connexité-8
o Contour : connexité-8
o Contour : connexité-4

151

Traitement d’image
• Images binaires:
 Distance :

P1

P2

Quelle est la distance entre les deux pixels P1 et P2 ?

152

Dr.Ing. ABOUTABIT 76
Traitement d’image
• Images binaires:
 Distance :
Distance de Manhattan D4: 2
La distance entre deux pixels (x,y) et (s,t) est donnée 2 1 2
D4(p,q) = |x-s|+|y-t| 2 1 0 1 2
Au voisinage autour du pixel (x,y) => 2 1 2
Forme de diamant centré sur le pixel. 2

Distance de l’échiquier D8:

2 2 2 2 2
D8 (p,q) = maximum (|x-s| , |y-t|)
2 1 1 1 2
Au voisinage autour du pixel (x,y) =>
Forme de carré centré sur le pixel. 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

Vous aimerez peut-être aussi