0% ont trouvé ce document utile (0 vote)
58 vues54 pages

Cours de Traitement d'Images et Vision

Ce document présente un cours sur le traitement d'images et la vision. Il est composé de cinq chapitres traitant des méthodes de base du traitement d'images, notamment la formation des images, les histogrammes, le filtrage, la détection de contours et la morphologie mathématique.

Transféré par

kacharnabil1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
58 vues54 pages

Cours de Traitement d'Images et Vision

Ce document présente un cours sur le traitement d'images et la vision. Il est composé de cinq chapitres traitant des méthodes de base du traitement d'images, notamment la formation des images, les histogrammes, le filtrage, la détection de contours et la morphologie mathématique.

Transféré par

kacharnabil1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique


Université de 08 Mai 1945 Guelma

Faculté des Sciences et de la Technologie


Département d’Electrotechnique et Automatique

POLYCOPIE

Cours de

Traitement d’images et vision

Niveau : Master 1
Automatique et Informatique Industrielle (AII)

Préparée par :
Dr. Abdelnour BOUKAACHE

2016 – 2017
Préface

Cette polycopie contient des cours du module de traitement d’images et


vision pour les étudiants de Master 1 de la spécialité Automatique et
Informatique Industrielle (AII) dans l’unité d’enseignement
dé[Link], le document peut servir comme une introduction
générale dans le domaine de la vision et traitement d’image pour d’autres
spécialités et filières que ce soit en License ou en Master.
Dans ce document, on s’intéresse beaucoup plus aux méthodes de bas-
niveaux qui sont destinées à tous étudiant qui veut se familiariser avec le
domaine du traitement et l’analyse des images et de la vision dans la
formation universitaire (License ou Master). Pour cela, le document a été
organisé en cinq chapitres allant du système de vision humain, formation et
acquisition de l’image par les capteurs (Chapitre 1), et par la suite les
définitions des mots clés générales utilisés dans le monde de l’image
numérique (Chapitre 2). Finalement, on trouve les méthodes de traitements
de l’image (Chapitre 2 à 5). Les premières techniques sont présentées dans
le chapitre 2 : l’histogramme et son manipulation et effets sur les images.
Dans le chapitre 3 on trouve les méthodes de filtrage linéaire spatial et
fréquentiel avec quelques types de filtres très populaires. Le chapitre 4
contient une description de quelques méthodes de détection de contours,
utilisées pour la segmentation des images, qui sont basées sur les dérivées
premières et secondes. A la fin, et dans le chapitre 5, une petite introduction
au domaine de la morphologie mathématique en niveaux de gris a été faite.

L’auteur
Table des matières

Introduction générale 1

Chapitre 1
Système de vision
1. Introduction 3
2. Perception visuelle humaine 3
2.1. La lumière 4
2.2. Interaction lumière-objet 5
3. La vision par ordinateur 6
2.3. Acquisition des images 6
2.4. Représentation 8
2.5. Synthèse des couleurs 9
2.6. Espaces de couleurs 9
4. Domaines d’application 12

Chapitre 2
Généralités sur les images et histogrammes
1. Introduction 13
2. Représentation 13
3. Echantillonnage et quantification 14
4. Résolution spatiale et tonale 15
5. Codage des images 16
6. Les formats d’images 17
6.1. La représentation vectorielle 17
6.2. La représentation matricielle 18
7. Les types de fichiers 18
7.1. Les formats simples 18
7.2. Les formats compressés 18
8. Les histogrammes 19
8.1. Histogramme normalisé 19
8.2. Histogramme cumulé 19
9. Manipulations d’histogramme 20
9.1. Décalage d’histogramme 20
9.2. Extension linéaire de la dynamique 20
9.3. Egalisation d’histogramme 21
9.4. Autres transformations 22

i
Chapitre 3
Filtrage des images

1. Introduction 24
2. Transformée de Fourier et Spectre 24
2.1. La transformée de Fourier 24
2.2. La transformée de Fourier discrète TFD-2D 25
2.3. Théorème de convolution 26
3. Filtrage spatial 28
3.1. Principe de calcul de la convolution avec un filtre RIF 28
3.2. Exemple de masques 29
4. Types de Filtres 30
5. Filtrage non linéaire (filtre médian) 33

Chapitre 4
Méthodes de détection de contours
1. Introduction 34
2. Détection de contours 34
3. Les formes de contours 35
4. Les contours et dérivés 35
5. Le gradient d’une image 36
5.1. Dérivation par différences finies 36
5.2. Calcul des dérivées par masques 38
6. L’algorithme de gradient 41
7. L’approche Laplacien 41

Chapitre 5
Introduction à la morphologie mathématique en niveaux de gris
1. Introduction 43
2. Opérations morphologique de base en niveaux de gris 44
2.1. Dilatation et érosion 44
2.2. Ouverture et fermeture 46
3. Autres opérateurs 47
3.1. Gradient morphologique 47
3.2. Laplacien morphologique 47
Conclusion générale 49
Références

ii
Cours de traitement d’images et vision

Introduction générale

Actuellement, l’image représente un élément clé dans plusieurs domaines surtout


avec la disponibilité des instruments permettant l’acquisition et/ou l’enregistrement des
différents types des images avec des qualités très variables dépendant des applications
ou de l’utilisation de cette information.

L’image n’est plus aujourd’hui un élément dédié seulement aux spécialistes du


domaine du traitement du signal et de l’image qui s’intéresse au développement des
méthodes et techniques de traitement et analyse de l’image ainsi que les différents outils
appliqués à l’image. Par conséquent, on trouve des systèmes de communication
(transmission et réception) de l’image, des systèmes de diagnostic basés sur l’image,
des systèmes de détection et identification ou de vérification (personnes, maladies,
pièces métalliques,…etc.) basés sur les images. Donc, les domaines de
télécommunication, l’automatique, l’électronique embarquée, la mécanique,
l’électronique biomédicale et l’informatique industrielle nécessitent les connaissances
de bases du traitement des images et de la vision pour la bonne compréhension et
maitrise des différents outils utilisés dans la spécialité ainsi que leurs objectifs.

Le traitement des images concerne les méthodes et les techniques appliquées à


l’image pour en extraire les différentes informations contenus dans l’image et
nécessaires à une application ou à une autre. La diversité et la richesse des méthodes et
algorithmes existantes n’empêchent plus la classification de ces derniers en deux
grandes catégories :

 traitements de bas-niveaux qui nécessitent très peu d’informations sur le contenu


des images (le filtrage, l’amélioration des images,…etc.)
 Traitement de haut-niveaux, qui fonctionnent après ceux de bas-niveaux, et qui
peuvent nécessiter des informations sur le contenu des images (la
reconnaissance, reconstruction 3D et autres).

Le présent document est constitué de quatre chapitres traitant des méthodes de la


première catégorie, ces méthodes qui ont été décrits de manière simple dans l’ordre
suivant :

Le premier chapitre concerne le système de vision humain et artificiel. La formation


des couleurs et le processus d’acquisition de l’image ont été décrits dans ce chapitre.
Ensuite, certain espaces de représentation des couleurs les plus utilisés sont présentés.
Le deuxième chapitre avec contient deux parties, la première partie a été focalisée sur
des généralités sur les images numériques, l’échantillonnage et la quantification ainsi
que les différents types et formats des images. En deuxième partie, la notion de

1
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

l’histogramme a été introduite avec quelques transformations d’histogrammes de base


qui ont été discutées.

Le troisième chapitre contient des notions de base pour une opération fondamentale
dans le traitement des signaux et des images : le filtrage spatial et fréquentiel. Les types
et les effets de certains filtres usuels sont démontrés dans ce chapitre. Le quatrième
chapitre décrits les méthodes de base d’extraction des contours des objets dans une
image. Cette étape est fondamentale pour la segmentation des images et aussi pour la
reconnaissance automatique.

A la fin du document, une courte introduction de l’étudiant dans le domaine de la


morphologie mathématique en niveaux de gris a été élaborée. Cette partie très
importante reste indispensable pour l’étudiant car plusieurs algorithmes actuels sont
basés sur des opérations non linéaires de la morphologie mathématique.

2
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Chapitre 1
Système de vision

1. Introduction
La vision a suscité l’intérêt de nombreux scientifiques et philosophes depuis déjà très
longtemps. Parmi ceux-ci, les neurobiologistes mènent des recherches théoriques et
expérimentales afin d’essayer de comprendre l’anatomie et le fonctionnement du cerveau dans
son ensemble. Ils ont découvert une structure très complexe qui est loin de leur avoir révèle
tous ses secrets.
La vision peut être définit comme la fonction par laquelle les images captées par l'œil sont
transmises par les voies optiques (cellules rétiniennes et ganglionnaires, nerf optique, chiasma
optique) au cerveau.

2. Perception visuelle humaine

La lumière pénètre dans l’œil par un orifice circulaire situé au centre de l’iris, la pupille.
Elle traverse ensuite le cristallin qui sert d’objectif et projette sur la rétine une image renversée
des objets situés devant l’œil. La lumière est convertie en message électrique par la multitude
de cellules photosensibles qui est ensuite véhiculé par le nerf optique vers le cerveau.

Fig.1. Système visuel humain

3
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Il existe deux sortes de cellules photosensibles :


a) Les bâtonnets : sont 25 à 100 fois plus sensibles à la lumière que les cônes. Ils nous
permettent de voir dans la pénombre, mais pas de distinguer les couleurs, d’où le dicton "la
nuit, tous les chats sont gris" !
b) Les cônes : moins nombreux et moins sensibles à la lumière, interviennent dans la vision
des couleurs et la netteté. Il existe trois types de cônes qui diffèrent par la radiation qu’ils
détectent : de courtes, de moyennes et de grandes longueurs d’onde.

La gamme de couleurs que nous percevons a pour origine l’ensemble de ces trois réponses
fondamentales.

2.1. La lumière

Le soleil émet des particules, appelées photons, en très grandes quantités. C'est le
rayonnement solaire. Ces flux de photons qu'on appelle également radiations ou rayons,
voyagent dans l'espace à la vitesse de 300 000 km/s (vitesse de la lumière) et atteignent la terre
à différentes longueurs d'ondes.

Fig.2. Spectre électromagnétique du soleil

La lumière visible correspond aux ondes visibles comprises entre 375 nm et 740 nm (Fig.4).
A chaque couleur perçue par l’œil humain correspond une longueur d’onde (λ en mètre) ou
fréquence (f en Hertz).

4
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Fig.3. longueurs d’ondes des différentes couleurs constituant la lumière visible

2.2. Interaction lumière-objet

La lumière qui nous permet de percevoir la couleur des objets qui nous entourent. Lorsque
la lumière frappe un objet, une partie de son rayonnement est absorbé par l’objet, et une partie
est réfléchie. La couleur de l’objet, c’est la partie du rayonnement qui est réfléchie par l’objet.

Exemples :

- Une rose rouge est rouge parce qu’elle réfléchit le rayonnement rouge de la lumière et
qu’elle absorbe tous les autres.

- Un objet noir, absorbe l’intégralité de ce rayonnement et une feuille blanche réfléchit


l’intégralité de ce rayonnement.

Fig.4. Interaction entre la lumière et un objet

Remarque : si la lumière incidente ne contient plus toutes les longueurs d’ondes, alors les couleurs des
objets seront vus différents.

5
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

3. La vision par ordinateur

La vision par ordinateur est une branche de l'intelligence artificielle dont le principal but est
de permettre à une machine d'analyser, traiter et comprendre une ou plusieurs images prises par
un système d'acquisition.

Il ne s’agit pas de fournir une explication de comment marche la vision biologique mais de
créer un modèle qui, vu de l’extérieur, possède des propriétés semblables afin d’automatiser les
taches de contrôle, de gestion et d’aide à la décision par le traitement des images.

3.1. Acquisition des images

Pour l’acquisition des images numériques, le dispositif d’acquisition doit posséder un


éclairage, un élément optique, unité de traitement ou processeur et une mémoire de sauvegarde
ou écran d’affichage.

Le dispositif d’acquisition capture l’information lumineuse et la convertit en signal


électrique analogique grâces aux photo-détecteurs qui sont organisé en barrette (camera
linéaire) ou une matrice (camera matricielle). Parmi les capteurs les plus connus, on trouve les
capteurs CCD (Charge-Coupled Device) et CMOS (Complementary Metal-Oxide-
Semiconductor).

Les premiers capteurs d’images relativement anciens sont des caméras à tubes. Les capteurs
les plus récents sont les caméras CCD (linéaires ou matricielles). Leur principe est le suivant :
la scène est projetée au moyen d’un objectif sur un réseau de capteurs discret, ce qui réalise un
échantillonnage spatial de l’image. Chaque photo-élément convertit l’énergie lumineuse en
énergie électrique. Il existe deux types de capteurs : les photodiodes ou les condensateurs MOS
de type P. Dans les deux cas, l’arrivée de photons conduit à la formation d’une charge électrique
sous la photodiode.

Pour l’acquisition d’une image couleur la caméra peut comporter trois capteurs (tri-
capteurs) ou un seul capteur (mono-capteur).

a) Dans une Caméra mono-capteur, la formation d’une image couleur est sensiblement
différente. Les caméras couleur mono-capteur utilisent une mosaïque de filtres couleurs (Color
Filter Array, ou CFA) spectralement sélectifs pour échantillonner une seule composante
couleur en chaque photo-élément.

L’image CFA délivrée par le capteur ne comporte qu’un seul plan de niveaux, et peut donc
être représentée par une matrice bidimensionnelle à valeurs entières – le plus souvent comprises
entre 0 et 255. Cette image ICFA est dématricée (en tenant compte de la configuration connue du
CFA) afin d’estimer les trois plans de composante de l’image couleur I.

6
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Fig.5. Technologie mono-CCD avec disposition des filtres selon le CFA de Bayer

b) Une caméra tri-capteurs combine les données issues des trois capteurs pour former
l’image couleur d’une scène. Cette image couleur I est constituée des trois plans de composante
Ik, k ∈{R, G, B}.

a) Caméra tri-capteurs

b) Caméra mono-capteur couleur

Fig.6. Acquisition d’une image couleur selon le type de caméra

7
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Résolution du capteur (dpi)

La résolution d'une image composée de points est définie par la densité des points par unité
de surface. La résolution permet de définir la finesse de l’image. Plus la résolution est grande,
plus la finesse de l'image est grande.

Les points d'une image ont différents noms dépendant du média. Sur les écrans on parle de
pixel, les médias imprimés parlent de points où dots. Par conséquent la résolution dans le
domaine de l'écran est ppi - pixels per inch (ppp en francais : pixels par pouce). La résolution
dans le domaine des médias imprimés est dpi - dots per inch. D'un certain point de vue la
résolution n'est pas une caractéristique de l'image mais celle d'un périphérique (ex : capteur).
Dans la plupart des cas c'est le périphérique qui limite la résolution.

3.2. Représentation

La quantité de lumière convertit en signal électrique analogique et ensuite transformer en


signal numérique par un convertisseur analogique-numérique (CAN). Puis, elle est représentée
sous forme d’une matrice de valeurs appelés pixels dont les valeurs correspond à la quantité de
lumière capte dans chaque point de l’image.

Fig.7. Représentation en niveaux de gris

Pour les images couleurs, le capteur enregistre trois valeurs de couleurs primaires (rouge,
vert et bleu) pour chaque pixel et nous obtenons 3 matrices pour la représentation de l’image
(RGB ou RVB).

Fig.8. Représentation en niveaux RVB

8
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

3.3. Synthèse des couleurs

La synthèse additive utilise généralement trois lumières colorées : une rouge, une verte et
une bleue (RVB ou RGB en anglais pour red, green, blue). L'addition de ces trois lumières
colorées en proportions convenables donne la lumière blanche. L'absence de lumière donne du
noir.
Les écrans et les projecteurs de télévision et d'ordinateur utilisent le procédé de la synthèse
additive. Ils ne dépendent pas d'un éclairage extérieur.

Fig.9. Synthèse additive des couleurs

La synthèse soustractive des couleurs est le procédé consistant à combiner l'absorption d'au
moins trois colorants pour obtenir toutes celles d'une gamme.
Le terme soustractif vient du fait qu'un objet coloré absorbe une partie de la lumière
incidente. Il soustrait donc une partie du spectre lumineux de celle-ci. Celles-ci déterminent la
couleur résultante.

Fig.10. Synthèse soustractive des couleurs

3.4. Espaces de couleurs

Souvent, en utilisent les trois couleurs primaires RVB pour la représentation des images
couleurs. La majorité des caméras permet d’acquérir les images couleurs sous cette forme.

9
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Il existe de nombreux autres espaces couleurs qui en été construit en se basant sur
différentes propriétés physiques, physiologiques ou psychologiques de la perception de la
couleur. Le choix d’un espace de couleur est une étape importante en analyse d’images car il
influence les résultats de l’analyse.

Fig.11. Espace RGB ou RVB

a) Les espaces luminance/chrominance :

Les espaces luminance/chrominance possèdent 3 composantes :

- La luminance qui est définie par l'intensité de la radiation lumineuse par unité de surface
émettrice ; elle dépend des trois couleurs.
- La chrominance qui est définit par deux composantes (chrominance bleu et chrominance
rouge)

Les espaces YUV, YIQ et YCbCr sont trois espaces semblables. YUV est utilisé pour le
codage des couleurs dans le système de télévision PAL, YIQ pour le système NTSC. Ces deux
systèmes sont dépendants des appareils. De ce point de vue l'espace YCbCr est plus intéressant.
La transformation permettant le passage de l’espace RVB vers l’espace YCbCr est comme
suivant :

𝑌 0.299 0.587 0.114 𝑅


(𝐶𝑏) = (−0.168736 −0.331264 0.5 ) (𝐺 )
𝐶𝑟 0.5 −0.418688 −0.081312 𝐵

10
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Fig.12. Transformation RGB vers YCbCr

b) L’espace HSL

L’espace HSL (Hue, Saturation, Luminance, ou en français TSL est un modèle de


représentation dit "naturel", c'est-à-dire proche de la perception physiologique de la couleur par
l'œil humain, il consiste à décomposer la couleur en trois variables :

 La teinte (Hue) permet de déterminer la couleur souhaitée (rouge, vert, jaune, ...).
 La saturation, également appelée intensité, mesure la pureté des couleurs. Elle permet
de distinguer les couleurs "vives" des couleurs "pastels" ou "délavées".
 La luminance, également appelée brillance, indiquant la quantité de lumière de la
couleur, c'est-à-dire son aspect clair ou sombre.

L'espace HSL est une représentation cylindrique de l'espace YCbCr. L est la luminance et
est égale à Y. H, la teinte, et S, la saturation sont une représentation polaire de Cb et Cr.

𝐶𝑟
𝑎𝑟𝑐𝑡𝑎𝑛 ( ) si 𝐶𝑟 ≥ 0
𝐻={ 𝐶𝑏
𝐶𝑟
𝜋 + 𝑎𝑟𝑐𝑡𝑎𝑛 ( ) si 𝐶𝑟 < 0
𝐶𝑏
𝑆 = √𝐶𝑟 2 + 𝐶𝑏 2
𝐿=𝑌

11
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Fig.13. Représentation HSL ou TSL

c) L’espace CMJN/CMYN

L'espace CMJN (Cyan Magenta Jaune Noir) / CMYK (Cyan Magenta Yellow Black) est
basé sur la synthèse soustractive des couleurs. Cette représentation est principalement utilisée
pour l'imprimerie et pour la conception sur ordinateur de textes et illustration devant être
imprimés. Pour chaque couleur, on indique la quantité d'encre Cyan, Magenta, Jaune et Noir
permettant de la reproduire.
On peut simplement passer de l'espace RGB à l'espace CMYK :

𝐶 𝑅
(𝑀) = 255 − (𝐺 )
𝑌 𝐵

4. Domaines d’application

L’acquisition d’une image par un capteur et ainsi sa disponibilité sous forme numérique sur
un support donne lieu à plusieurs traitements dont l’objectif est d’extraire l’information
essentielle à une application donnée. On donne ici quelques applications basées sur le traitement
des images.

 Contrôle industriel
- Contrôle qualité.
- Tri automatique de produit.

 Robotique mobile
- évitement d'obstacles
- découverte d'un environnement inconnu et construction d'une carte (exploration)
- conduite automatique / assistée

 Domaine médicale
- Aide au diagnostique
- Chirurgie assistée par ordinateur

12
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Chapitre 2
Généralités sur les images et histogrammes

1. Introduction
La création d’une image numérique est faite par un appareil de mesure (scanner,
appareil photo numérique, webcam, barrette CCD, ...). Une image numérique est une
fonction à support discret et borné, et à valeurs discrètes. Le support est
multidimensionnel, en général 2D ou 3D. Les valeurs peuvent être scalaires (images en
niveaux de gris), ou bien vectorielles (imagerie multi composante, imagerie couleur).

Fig.1. Chaine d’acquisition d’une image

2. Représentation
Une image numérique est représentée par un tableau ou matrice I de N lignes et M
colonnes. Le pixel est un point de l’image désigné par un couple de coordonnées (i, j) où
i est l'indice de ligne et j l'indice de colonne. N et M sont respectivement la largeur et la
hauteur de l'image I.

Par convention, le pixel origine (0, 0) est en général en haut à gauche. Le nombre
I(i, j) est la valeur du pixel (i, j) ou le niveau de gris avec I(i, j) ∈ {0, Nmax − 1}. Nmax est
le nombre de niveaux de gris.

13
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

On appelle dynamique de l'image le logarithme en base 2 de Nmax, c.-à-d. le nombre


de bits utilisés pour coder l'ensemble des valeurs possibles.

D = log2(Nmax) et Nmax = 2D

3. Echantillonnage et quantification

Une image numérique est associée à un pavage de l'espace, en général rectangulaire.


Chaque élément du pavage, appelé pixel, est désigné par ses coordonnées entières.

Fig.2. Pavage rectangulaire de l’espace de l’image

L'échantillonnage est le procédé de discrétisation spatiale d'une image réelle


consistant à associer à chaque pixel une unique valeur I(i,j). On parle de sous-
échantillonnage lorsque l'image est déjà discrétisée et qu'on veut diminue le nombre de
pixels.

La quantification désigne la discrétisation tonale correspondant à la limitation du


nombre de valeurs différentes que peut prendre chaque pixel. Une image numérique est
donc une image échantillonnée et quantifiée

14
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

j M

i
I (i,j)

Fig.3. Notation utilisées pour une image numérique

4. Résolution spatiale et tonale

Les deux figures ci-dessous (Fig.4 et Fig.5) montrent des exemples d’une même
image acquise à des résolutions différentes.

Fig.4. La résolution spatiale : échantillonnage

15
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Fig.5. La résolution tonale : quantification

5. Codage des images


Pour pouvoir stocker et transmettre cette image comme n'importe quelle autre donnée
informatique, chaque pixel de l’image doit être codé en binaire (suite de 0 et de 1) on
utilisant un nombre de bits B fixe. Le nombre de bits B utilisé influe directement sur la
qualité de l’image. Si le nombre de bits est B, alors on obtient 2B couleurs possibles dans
l’image.
Nous avons 3 cas particuliers pour les images fixes :

- B = 1 (un seul bit) : dans ce cas, nous avons seulement 2 couleurs (0 : noir et 1 : blanc)
et l’image obtenue est ainsi dite une image noir et blanc.

Fig.6. Image binaire

16
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

- B = 8 (un seul octet) : dans ce cas, nous avons 28 = 256 couleurs possibles (de 0
jusqu’à 255). La valeur 0 pour le noir, 255 pour le blanc et les autres intensités (de 1
jusqu’à 254) sont des niveaux de gris. Par conséquent, l’image obtenue est dite image
en niveaux de gris.

Fig.7. Image en niveaux de gris

- B = 24 (3 octets) : dans ce cas, nous utilisons 3 octets pour représenter 3 composantes


RVB (Rouge, Vert et Bleu) ou RGB. Alors, l’image obtenue est une image couleurs.

Fig.8. Les 3 composantes RVB et l’image couleur correspondante

6. Les formats d’images


Pour représenter une image, on peut la décrire à l'aide de :

- fonctions mathématiques (représentation vectorielle) ou


- par l'ensemble des points qui la composent (représentation matricielle).

6.1. La représentation vectorielle

Une image vectorielle est définie par un ensemble de données mathématiques :


coordonnées, fonctions, attributs, etc.

Une image vectorielle peut être agrandie ou rétrécie sans dégradation car l'image sera
recalculée précisément en fonction de la taille souhaitée. Quelques formats d'images
vectorielles :

17
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

- Le format Scalable Vector Graphics (.svg) surtout utilisé en cartographie et sur


les téléphones portables.
- Le format dessin de l'Open Document Format (.odg) utilisé par l'application Draw
d'Open Office.

6.2. La représentation matricielle

Une image matricielle est définie par une grille de points ou pixels auxquels est
associée une couleur.

Une image matricielle se dégrade si on l'agrandit : la pixellisation devient visible. En


fonction de la taille de l'image et du nombre de couleurs utilisées.

7. Les types de fichiers

Le fichier de l’image contient toutes les informations de l’image :

- nom de fichier,
- taille de l’image,
- format des pixels,
- valeurs des pixels…etc.

Il existe une multitude de formats pour la sauvegarde de ces informations dans un fichier
informatique :

7.1. Les formats simples :

Ce sont des fichiers ASCII ou binaires comportant un entête contenant les dimensions
de l’image et le format des pixels puis la liste des valeurs des pixels.
Exemple :

Les formats PNM-Portable aNy Map, PBM-Portable Bit Map, PGM-Portable Grayscale
Map, PPM-Portable PixMap.

7.2. Les formats compressés :

L’information est codée de manière à réduire la taille du fichier image.


Exemple :
Les formats image du web (GIF, PNG, JPEG)

18
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

8. Les histogrammes

L’histogramme h(x) d’une image représente la distribution des intensités des pixels.
Un histogramme est une fonction qui donne, pour chaque intensité lumineuse, le
nombre de pixels ayants cette valeur.

L’abscisse d’un histogramme h(x) représente les niveaux d’intensité allant du plus
foncé à gauche au plus clair à droite.

Fig.9. Histogramme d’une image

La dynamique de l’image peut être définie par l’intervalle D = [Nmin, Nmax].

8.1. Histogramme normalisé

L’histogramme normalisé d’une image hn(x) est le taux de pixels ayant un niveau de
gris égal à x :

ℎ(𝑥)⁄
ℎ𝑛(𝑥) = 𝑁

avec N le nombre de pixels dans l’image

8.2. Histogramme cumulé

C’est un vecteur de même dimension que l’histogramme ou chaque élément du


vecteur hc(x) représente le nombre de pixels de l’image possédant un niveau de gris
inférieur ou égale à x. celui-ci peut être estimé à partir de l’histogramme en faisant une
somme discrète.
𝑥

ℎ𝑐(𝑥) = ∑ ℎ(𝑖)
𝑖=0

19
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

9. Manipulations d’histogramme

9.1. Décalage d’histogramme

La luminance (ou brillance) est définie comme la moyenne de tous les pixels de
l’image. Pour augmenter la luminance de l’image, il suffit de décaler l’histogramme vers
la droite.

Fig.10. Décalage de l’histogramme d’une image

9.2. Extension linéaire de la dynamique

Cette méthode consiste à utiliser au mieux la dynamique de niveaux de gris. Ainsi, si


une image possède des niveaux de gris entre Gmin et Gmax, on va étendre la plage des
niveaux de gris pour ramener à une dynamique comprise entre 0 et 255.

Fig.11. Transformation linéaire de l’histogramme

20
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Cette étendue réduite de niveaux de gris peut survenir suite à un temps de pose
incorrecte ou à un éclairage de la scène trop faible.

La transformation mise en place est :

𝐼(𝑥, 𝑦 − 𝐺𝑚𝑖𝑛
𝐼 ′ (𝑥, 𝑦) =
𝐺𝑚𝑎𝑥 − 𝐺𝑚𝑖𝑛

Cette transformation ne fait qu’améliorer la qualité visuelle de l’image, elle ne


change pas l’information présente dans le signal.

Fig.12. Extension de la dynamique d’une image

Dans le cas où l’histogramme initial occupe toute la plage de la dynamique, aucun


changement n’est visible après cette transformation.

9.3. Egalisation d’histogramme

L’égalisation de l’histogramme consiste à équilibrer le mieux possible la distribution


des pixels dans la dynamique. L’idéal est d’obtenir un histogramme plat où l’on affecte
le même nombre de pixels pour chaque niveau de gris (ceci étant impossible à réaliser
pour les images numérique à cause de la nature discrète de l'histogramme et de la
quantification des niveaux de gris (qui nous limite à un nombre fini de niveaux).

L’histogramme cumulé normalisé peut être utilisée comme fonction de


transformation du niveau de gris pour chaque pixel.

21
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Le niveau de gris 𝐼(𝑥, 𝑦) de chaque pixel (𝑥, 𝑦)est transformé en 𝐼 ′ (𝑥, 𝑦) en


appliquant la transformation suivante :

255
𝐼 ′ (𝑥, 𝑦) = ∗ ℎ𝑐(𝐼(𝑥, 𝑦))
𝑁

N : le nombre de pixels et hc(I(x,y)) est l’histogramme cumulé de I(x,y).


L’égalisation de l’histogramme d’une image peut se faire par l’ensemble des étapes
suivantes :

1. Calcul de l’histogramme h(x) de l’image


2. Calcul de l’histogramme cumulé hc(x)
3. Transformation des niveaux de gris de l’image par la formule correspondante.

Fig.13. Exemple d’une égalisation de l’histogramme d’une image

9.4. Autres transformations

Voici quelques transformations d’histogrammes les plus connus en traitement


d’image avec leurs effets visuels sur l‘image :

a) Négatif (inversion des couleurs)

22
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

b) Quantification d’une image

c) Seuillage

Le seuillage est définie comme suit :

255 𝑠𝑖 𝐼(𝑖, 𝑗) > 𝑆𝑒𝑢𝑖𝑙


𝐼 ′ (𝑖, 𝑗) = {
0 𝑠𝑖𝑛𝑜𝑛

Dans le cas où l’image comportant un objet (assez uniforme) sur un fond (assez
uniforme), l’histogramme comporte deux pics. Par conséquent, le choix du seuil peut se
faire par inspection de l’histogramme.

d) Transformation linéaire par morceaux

23
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Chapitre 3
Filtrage des images

1. Introduction

Le filtrage d’une image est une opération ayant pour objet de réduire ou d’éliminer
ou de rehausser certains éléments présents dans une image. De nombreux filtres peuvent
s’opérer tant dans le domaine spatial que le domaine spectral. C’est le cas des filtres
linéaires. Ces derniers sont directement liés à la théorie de la convolution.

2. Transformée de Fourier et Spectre

Une image numérique est définie comme une fonction discrète a deux variables (x et
y) ou encore un signal bidimensionnel. Ce dernier peut être représenté soit dans le
domaine spatial ou dans le domaine fréquentiel.
La représentation fréquentiel ou le spectre d’une image est obtenue à l’aide de la
transformée de Fourier bidimensionnelle de l’image.

2.1. La transformée de Fourier

La transformée de Fourier d’un signal sert à son décomposition en une somme de


fonctions exponentiels complexes de fréquences variables. Dans le cas des signaux ou
fonctions à deux variables, la TF-2D directe et inverse sont définies comme suit :
∞ ∞

𝑻𝑭[𝑓(𝑥, 𝑦)] = 𝐹(𝑢, 𝑣) = ∫ ∫ 𝑓(𝑥, 𝑦)𝑒 −𝑗2𝜋(𝑢𝑥+𝑣𝑦) 𝑑𝑥𝑑𝑦


−∞ −∞
∞ ∞

𝑻𝑭−𝟏 [𝐹(𝑢, 𝑣)] = 𝑓(𝑥, 𝑦) = ∫ ∫ 𝐹(𝑢, 𝑣)𝑒 𝑗2𝜋(𝑢𝑥+𝑣𝑦) 𝑑𝑢𝑑𝑣


−∞ −∞

avec :
x, y sont des coordonnées spatiales
u, v sont des coordonnées spectrales

24
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

On utilisant la transformée de Fourier d’une fonction bidimensionnel (fonction


complexe), on peut ainsi définir deux spectres (amplitude et phase) par les expressions
suivantes :
Le spectre d’amplitude est :

𝐹(𝑢, 𝑣) = √𝑅(𝑢, 𝑣)2 + 𝐼(𝑢, 𝑣)2

Le spectre de phase est :

𝐼(𝑢, 𝑣)
𝜃(𝑢, 𝑣) = arctan⁡( )
𝑅(𝑢, 𝑣)

avec : 𝑅(𝑢, 𝑣) = 𝑅é𝑒𝑙𝑙𝑒[𝐹(𝑢, 𝑣)] et 𝐼(𝑢, 𝑣) = 𝐼𝑚𝑎𝑔𝑖𝑛𝑎𝑖𝑟𝑒[𝐹(𝑢, 𝑣)]

2.2. La transformée de Fourier discrète TFD-2D

Pour le cas des images numériques qui sont des fonctions discrètes
bidimensionnelles, la transformée de Fourier discrète bidimensionnelle doit être utilisée
pour trouver la représentation spectrale de l’image.
La TFD-2D d’une image est obtenue après discrétisation de la transformée de Fourier
définie précédemment. Pour une image f(x,y), la TFD-2D est comme suit :
𝑁−1 𝑀−1
1 𝑢𝑥 𝑣𝑦
𝐹(𝑢, 𝑣) = ∑ ∑ 𝑓(𝑥, 𝑦)𝑒 −𝑗2𝜋( 𝑁 + 𝑀 )
𝑁𝑀
𝑥=0 𝑦=0

La TFD-2D inverse est :


𝑁−1 𝑀−1
𝑢𝑥 𝑣𝑦
𝑓(𝑥, 𝑦) = ∑ ∑ 𝐹(𝑢, 𝑣)𝑒 𝑗2𝜋( 𝑁 + 𝑀 )
𝑢=0 𝑣=0

avec : 𝑢 = 0,1, … , 𝑁 − 1⁡𝑒𝑡⁡𝑣 = 0,1, … , 𝑀 − 1

Fig.1. Spectre d’amplitude d’une image

25
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

2.3. Théorème de convolution

On fait ici un rappel sur le produit de convolution entre les signaux. Pour les systèmes
linéaires invariants dans le temps (LIT), la réponse impulsionnelle du système (h(t)) est
une caractéristique très importante du système.

La sortie du système y(t) à une entrée quelconque x(t) est donnée par le produit de
convolution du signal x avec h définie par l’expression :

𝑦(𝑡) = ∫ 𝑥(𝜏)ℎ(𝑡 − 𝜏)𝑑𝜏 = 𝑥(𝑡) ∗ ℎ(𝑡)


−∞

La transformée de Fourier de y(t) est :

𝑌(𝑓) = 𝑻𝑭[𝑦(𝑡)] = 𝑻𝑭[𝑥(𝑡) ∗ ℎ(𝑡)] = 𝑋(𝑓) ∙ 𝐻(𝑓)

avec 𝐻(𝑓) : la fonction de transfert du filtre.

Pour les signaux à temps discret, on définit la convolution discrète :


𝑦(𝑛) = ∑ 𝑥(𝑘)ℎ(𝑛 − 𝑘) = 𝑥(𝑛) ∗ ℎ(𝑛)


𝑘=−∞

La transformée de Fourier discrète (TFD) de y(n) est :

𝑌(𝑧) = 𝑻𝑭𝑫[𝑦(𝑛)] = 𝑻𝑭𝑫[𝑥(𝑛) ∗ ℎ(𝑛)] = 𝑋(𝑧) ∙ 𝐻(𝑧)

Pour le Cas 2D

Le produit de convolution en 2D est définit par l’expression suivante :


∞ ∞

𝑦(𝑛, 𝑚) = ∑ ∑ 𝑥(𝑘, 𝑙) ℎ(𝑛 − 𝑘, 𝑚 − 𝑙) = 𝑥(𝑛, 𝑚) ∗ ℎ(𝑛, 𝑚)


𝑘=−∞ 𝑙=−∞

La TFD – 2D de y(n, m) est :

𝑌(𝑢, 𝑣) = 𝑻𝑭𝑫[𝑦(𝑛, 𝑚)] = 𝑻𝑭𝑫[𝑥(𝑛, 𝑚) ∗ ℎ(𝑛, 𝑚)] = 𝑋(𝑢, 𝑣) ∙ 𝐻(𝑢, 𝑣)

avec 𝐻(𝑢, 𝑣) : la fonction de transfert du filtre bidimensionnel.

26
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Cette relation est très importante et très utile dans le domaine du traitement des
signaux et des images. L’opération de filtrage peut être réalisée dans les deux domaines
de représentation de l’image (Fig.2).

a) Dans le domaine spatial par produit de convolution en utilisant l’expression :

𝑦(𝑛, 𝑚) = 𝑥(𝑛, 𝑚) ∗ ℎ(𝑛, 𝑚)

b) Dans le domaine fréquentiel par transformée inverse du produit des deux spectres
en utilisant l’expression :

𝑦(𝑛, 𝑚) = 𝑻𝑭𝑫−𝟏 [𝑋(𝑢, 𝑣) ∙ 𝐻(𝑢, 𝑣)]

TFD

Convolution Produit avec


avec h(n,m) H(u,v)

TFD-1

Fig.2. Les deux méthodes pour effectuer un filtrage

Remarque

Grâce à la FFT (Fast Fourier Transform), on peut calculer la TFD directe et inverse de
façon très efficace. Ainsi, selon Gonzalez et Woods, pour une image f(n,m) de taille
256x256, si le filtre h(n,m) a une taille supérieure ou égale à 13x13, il est plus rapide
d’effectuer la convolution dans le domaine spectral.

27
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

3. Filtrage spatial

La convolution d’une image avec un filtre à réponse impulsionnelle finie (RIF) est
définie par la formule suivante :

𝑁 𝑀

𝑦(𝑖, 𝑗) = ∑ ∑ ℎ(𝑛, 𝑚) 𝑓(𝑖 − 𝑛, 𝑗 − 𝑚)


𝑛=−𝑁 𝑚=−𝑀

Le filtre h de dimensions finie (RIF) est appelé dans ce cas masque de convolution.
La taille du filtre dans ce cas est (2N+1)(2M+1).
Exemple :

Si ℎ(𝑛, 𝑚) est un masque carré de taille D = 3, alors :


1 1

𝑦(𝑖, 𝑗) = ∑ ∑ ℎ(𝑛, 𝑚) 𝑓(𝑖 − 𝑛, 𝑗 − 𝑚)


𝑛=−1 𝑚=−1

Alors,

𝑦(𝑖, 𝑗) = ℎ(1,1)𝑓(𝑖 − 1, 𝑗 − 1) + ℎ(1,0)𝑓(𝑖 − 1, 𝑗) + ℎ(1, −1)𝑓(𝑖 − 1, 𝑗 + 1)


+ ℎ(0,1)𝑓(𝑖, 𝑗 − 1) + ℎ(0,0)𝑓(𝑖, 𝑗) + ℎ(0, −1)𝑓(𝑖, 𝑗 + 1)
+ ℎ(−1,1)𝑓(𝑖 + 1, 𝑗 − 1) + ℎ(−1,0)𝑓(𝑖 + 1, 𝑗)
+ ℎ(−1, −1)𝑓(𝑖 + 1, 𝑗 + 1)

3.1. Principe de calcul de la convolution avec un filtre RIF


Soit le filtre ℎ(𝑛, 𝑚) de réponse impulsionelle finie RIF. Alors, pour calculer la
convolution au pixel 𝑝𝑥 = 𝑓(𝑖, 𝑗) on doit :

- Faire une symétrie centrale du noyau h par rapport à son centre.


- Centrer le filtre sur le pixel px en le superposant à l’image.
- Effectuer la somme pondérée entre les pixels de l’image et les coefficients du
filtre.
- Lepixel px dans l’image résultat (filtrée) aura comme valeur cette somme
pondérée.

𝑤1 𝑤2 𝑤3
Si le filtre ℎ(𝑛, 𝑚) = (𝑤4 𝑤5 𝑤6 )
𝑤7 𝑤8 𝑤9

28
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

La convolution au pixel à la position (i, j) de y par le noyaux h est donnée par


l’expression suivante :

𝑦(𝑖, 𝑗) = 𝜔9 𝑓(𝑖 − 1, 𝑗 − 1) + 𝜔8 𝑓(𝑖 − 1, 𝑗) + 𝜔7 𝑓(𝑖 − 1, 𝑗 + 1)


+ 𝜔6 𝑓(𝑖, 𝑗 − 1) + 𝜔5 𝑓(𝑖, 𝑗) + 𝜔4 𝑓(𝑖, 𝑗 + 1)
+ ⁡⁡ 𝜔3 𝑓(𝑖 + 1, 𝑗 − 1) + 𝜔2 𝑓(𝑖 + 1, 𝑗) + 𝜔1 𝑓(𝑖 + 1, 𝑗 + 1)

Les filtres que nous étudions ici doivent conserver la moyenne de l’image; les
cœfficients du filtre doivent donc vérifier la condition :

∑ 𝜔𝑖 = 1
𝑖

Exemple d’application :

(0,0)
10 11 12 13 14 -10 -11 -12 -13 -14
15 16 17 18 19 -5 15 17 19 21
20 21 22 23 24 -1 0 -5 25 27 29 31
* =
25 26 27 28 29 1 2 -5 35 37 39 41
30 31 32 33 34 -5 45 47 49 51
h(i,j)
f(i,j) y(i,j)

Le traitement du problème de bords de l’image peut se faire par plusieurs méthodes :

a) On considère que l’image est entourée de couleur noir (valeurs nulles).

b) On considère que l’image est entourée d’elle-même.

c) On considère que l’image est entourée des mêmes valeurs que sur son bord.

3.2. Exemple de masques :

a) Le filtre gaussien
Un filtre passe-bas gaussien est défini à partir de la réponse impulsionnelle
suivante :

𝑥2 + 𝑦2
ℎ(𝑥, 𝑦) = exp (− )
2𝜎 2

29
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Fig.3. Fonction gaussienne

- Masque passe-bas gaussien


1 2 1
ℎ = (2 4 2) /16
1 2 1
- Masque passe-haut gaussien
−1 −1 −1
ℎ = (−1 8 −1)
−1 −1 −1
b) Le filtre moyenneur

1 1 1
- ℎ(3x3) = (1 1 1) /9
1 1 1

1 1 1 1 1
1 1 1 1 1
- ℎ(5x5) = 1⁡⁡1⁡⁡1⁡⁡1⁡⁡1 /25
1 1 1 1 1
(1 1 1 1 1)

4. Types De Filtres

Parmi les filtres linéaires fondamentaux, on distingue les types suivants :

a) Filtre passe-bas

C’est un filtre ayant pour objet de couper les hautes fréquences. Cette opération a pour
effet de ;

d) réduire le bruit et
e) d’ajouter du flou (c.-à-d. éliminer les détails de l’image)

30
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Exemple : filtre passe-bas rectangulaire

Fig.4. Forme spatiale et fréquentiel du filtre passe-bas

Fig.5. Filtrage passe-bas avec différents largeur du filtre

Observations

L’image filtrée devient de plus en plus floue et les détails de l’image (contours et textures)
sont perdus progressivement on diminuant la largeur de la bande passante du filtre passe-
bas.
b) Filtre passe-haut

C’est un filtre ayant pour objet de couper les basses fréquences. Cette opération a pour
effet ;
f) d’accentuer les détails de l’image, les contours et le bruit.
g) éliminées les régions uniformes.

31
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Exemple : filtre passe-haut rectangulaire

Fig.6. Forme spatiale et fréquentiel du filtre passe-haut

Fig.7. Filtrage passe-haut avec différents largeur du filtre

Observations
Toutes les régions homogènes sont éliminées de l’image. En plus, les contours gardés
devient de plus en plus très fins avec la réduction de la largeur de la bande passante du
filtre passe-haut.

c) Filtre passe-bande

C’est un filtre ayant pour objet de laisser une bande de fréquences. Sert à faire ressortir
un aspect particulier de l’image (généralement des éléments de texture ou de bruit).

a) Filtre coupe-bande

C’est un filtre ayant pour objet de couper une bande de fréquences. Cette opération a
pour effet d’éliminer une partie particulière du spectre de l’image (dépend de l’application
et le type d’image).

32
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

5. Filtrage non linéaire (filtre médian)

Ce filtre est non linéaire, il ne peut pas être réalisé avec une convolution 2D de
l’image. Pour faire un filtrage avec ce filtre, nous considérons un voisinage rectangulaire
autour du pixel d’intérêt. Le filtre médian consiste à prendre la valeur médiane (en point
milieu) après arrangement des pixels du voisinage en ordre croisant ou décroisant.

Par exemple, si on considère ces neufs pixels, dont une valeur aberrante (ici 111) :

5 6 7
6 111 8
7 8 9

Le filtre médian va considérer les valeurs du voisinage par valeurs croissantes :

5 6 6 7 7 8 8 9 111

et prendre la valeur médiane, ici la valeur 7. La sortie du filtre donnera donc :

5 6 7
6 7 8
7 8 9

ce qui a permis de remplacer la valeur aberrante par une valeur plus adéquate avec les
valeurs voisines.

Fig.8. Comparaison du filtre médian et le filtre moyenneur pour un bruit poivre et sel

Ce type de filtrage est plus efficace que le filtrage linéaire des images bruitées avec le
bruit poivre et sel ou bruit impulsionnel.

33
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Chapitre 4
Méthodes de détection de contours

1. Introduction

Le but de la segmentation est de décomposer une image en un ensemble de régions


disjointes, chacune de ces régions formant un ensemble homogène de pixels au sens d'un
certain critère.

Il existe deux (02) grandes approches :

 Méthodes basées sur la détection des régions : approches régions


 Méthodes basées sur la détection des contours : approches contours

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.

En général, les variations d’intensité dans une image correspondent à des zones
pertinentes. Ces informations sont très importantes pour les opérations subséquentes à
cette première phase.

2. Détection de contours

La détection de contour est une étape préliminaire à de nombreuses applications de


l'analyse d'images. Les contours constituent en effet des indices riches, au même titre que
les points d'intérêts, pour toute interprétation ultérieure de l'image. Les contours dans une
image proviennent des :

 discontinuités de la fonction de réflectance (texture, ombre),


 discontinuités de profondeur (bords de l'objet),

et sont caractérisés par des discontinuités de la fonction d'intensité dans les images. Le
principe de la détection de contours repose donc sur l'étude des dérivées de la fonction
d'intensité dans l'image : les extréma locaux du gradient de la fonction d'intensité et les
passages par zéro du laplacien. La difficulté réside dans la présence de bruit dans les
images.

34
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

3. Les formes de contours

Un contour dans l’image correspond à une variation brusque de l’intensité lumineuse de


l’mage. Plusieurs types de contours peuvent être trouvés (Fig.1).

Fig.1 Quelques modèles de contours

4. Les contours et dérivés

Un contour correspond à une transition. Cette transition en couleur :

- ça correspond à un extremum dans la dérivée première ;


- et à un passage par zéro dans la dérivée seconde.

Fig.2. Les dérivées première et seconde d’une transition

35
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Fig.3. Relation entre 2 points d’un contour et ses dérivés

5. Le gradient d’une image

Une image est une fonction à deux dimensions. Pour le calcul de la dérivée première nous
utilisons le gradient :

𝜕𝐼(𝑥, 𝑦)
𝜕𝑥
∇𝐼(𝑥, 𝑦) = 𝜕𝐼(𝑥, 𝑦)
( 𝜕𝑦 )
𝜕𝐼 𝜕𝐼
Le gradient en un point est un vecteur dont les deux composantes (𝜕𝑥 et ) mesurent à
𝜕𝑦
quelle vitesse la valeur des pixels évolue dans chacune des directions x et y, autour du
point d'intérêt.

5.1. Dérivation par différences finies

Une image est discrète par nature. L’approche de gradient consisté à approximer les
dérivées par différence :

𝜕𝐼(𝑥, 𝑦) 𝐼(𝑥, 𝑦) − 𝐼(𝑥 − 𝑛, 𝑦)


= 𝛿𝑥 =
𝜕𝑥 𝑛
𝜕𝐼(𝑥, 𝑦) 𝐼(𝑥, 𝑦) − 𝐼(𝑥, 𝑦 − 𝑚)
= 𝛿𝑦 =
𝜕𝑦 𝑚

36
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

ou bien :

𝜕𝐼(𝑥, 𝑦) 𝐼(𝑥 + 𝑛, 𝑦) − 𝐼(𝑥, 𝑦)


= 𝛿𝑥 =
𝜕𝑥 𝑛
𝜕𝐼(𝑥, 𝑦) 𝐼(𝑥, 𝑦 + 𝑚) − 𝐼(𝑥, 𝑦)
= 𝛿𝑦 =
𝜕𝑦 𝑚

avec 𝑛 et 𝑚 sont des distances dans les directions 𝑥 et 𝑦.

Le gradient permet d'obtenir la dérivée dans n'importe quelle direction.

Dans le cas discret, n et m sont des distances en pixels. Alors, on peut prendre :

𝑛=𝑚=1

donc, les deux composantes du vecteur deviennent :

𝛿𝑥 = 𝐼(𝑥 + 1, 𝑦) − 𝐼(𝑥, 𝑦)

𝛿𝑦 = 𝐼(𝑥, 𝑦 + 1) − 𝐼(𝑥, 𝑦)

Pour détecter la présence ou non d'une discontinuité de gradient, on peut calculer :

- La norme du gradient

𝐺 = √𝛿𝑥2 + 𝛿𝑦2

- La direction du gradient
𝛿𝑦
𝜑 = 𝑎𝑟𝑐𝑡𝑎𝑛 ( )
𝛿𝑥

La direction du gradient est la direction dans laquelle la dérivée est la plus grande.

La présence d'une discontinuité est assurée si le gradient au point considère est


suffisamment fort. Alors, on doit sélectionner les pixels à l'aide d'un seuil fixé a priori
pour la norme du gradient.

𝐺 ≥ 𝑠𝑒𝑢𝑖𝑙

La détection des contours dépend du type d'image considérée. Il n'y a pas de détecteur de
contours universel.

Cette méthode de détection de contours est très sensible au bruit, parce que le bruit
augmente par l’opérateur de dérivation. Donc on ne peut pas localiser les contours. Par
conséquent, une étape de filtrage passe-bas de l’image donne de meilleurs résultats.

37
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Fig.4. Seuillage du gradient

5.2. Calcul des dérivées par masques

Les dérivées (horizontale et verticale) sont calculées par convolution de l'image avec
un masque de différences.

a) Calcul direct

Il est réalisé de la façon la plus simple qu’il soit :

𝛿𝑥 = 𝐼(𝑦, 𝑥 + 1) − 𝐼(𝑦, 𝑥) = (𝐼 ∗ 𝐺𝑥)(𝑦, 𝑥)


𝛿𝑦 = 𝐼(𝑦 + 1, 𝑥) − 𝐼(𝑦, 𝑥) = (𝐼 ∗ 𝐺𝑦)(𝑦, 𝑥)

Ce qui correspond à une convolution avec les masques suivants :

𝐺𝑥 = [−1 1]
−1
𝐺𝑦 = [ ]
1

b) Masques de Prewitt
Les masques dérivateur sont maintenant :

1 −1 0 1 1 1
𝐺𝑥 = [−1 0 1] = [1] ∗ [−1 0 1]
3 3
−1 0 1 1

1 −1 −1 −1 1 −1
𝐺𝑦 = [ 0 0 1 ] = [ 0 ] ∗ [1 1 1]
3 3
1 0 1 1

38
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Le produit de convolution par [1 1 1] est un filtrage passe bas des lignes et le vecteur
[−1 0 1] est équivalent à une dérivée suivant l’axe 𝑥.

Ce type de masque combine donc à la fois un filtrage et une dérivée, il est donc moins
sensible au bruit que le calcul direct des dérivées.

c) Masque de Sobel

C’est le même principe que le masque précédent sauf que le filtrage préalable n’est pas
réalisé de la même manière :

1 −1 0 1 1 1
𝐺𝑥 = [−2 0 2] = [2] ∗ [−1 0 1]
4 3
−1 0 1 1

1 −1 −2 −1 1 −1
𝐺𝑦 = [0 0 0 ] = [ 0 ] ∗ [1 2 1]
4 3
1 2 1 1

Exemple de dérivées

Fig.5. Gradient horizontal et vertical (Sobel)

Les contours horizontaux sont mieux détecter par le gradient vertical et les contours
verticaux sont détectés par la dérivée horizontale.

Remarque :

Nous avons toujours deux masques de convolutions, le premier pour le calcul de la


dérivée suivant 𝑥 et l’autre pour la dérivée suivant 𝑦. Ensuite le seuillage est appliqué sur
l’image de la norme.

39
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

d) Masque de Roberts

C’est le masque le plus ancien (1962), il est très sensible aux bruits.

1 0
𝐺𝑥 = [ ]
0 −1
0 1
𝐺𝑦 = [ ]
−1 0
On note qu’il existe d’autres masques (opérateurs) tel que l’opérateur de Kirsh et
Robinson.

Fig.6. Détection de contours et effet du bruit

40
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

5.3. L’algorithme de gradient :

Les points de contour dans une image sont caractérisés par des extréma locaux du
gradient. Une première approche consiste donc à :

1. calculer la norme du gradient en tout point de l'image,


2. sélectionner les pixels à l'aide d'un seuil fixé a priori pour la norme du gradient.

Choix du seuil
La valeur du seuil doit être choisie convenablement, sinon en risque de perdre les contours
significatifs dans l’image.

Fig.7. Quelle seuil choisir ?

Seuillage par hystérésis :

Une façon de diminuer l’importance du seuil est d’utiliser un seuillage par hystérésis.
Avant, il y avait un seuil unique qui amenait soit à des fausses alarmes, soit à des lacunes.
Il était très difficile, voire impossible, de trouver un seuil adapté à toute l’image.

On introduit maintenant 2 seuils : un seuil haut (𝑆ℎ) et un seuil bas (𝑆𝑏). Ensuite, pour
chaque pixel (x, y) on fait :

- si 𝐺 > 𝑆ℎ, alors le pixel est un contour


- si 𝐺 < 𝑆𝑏, le pixel n’est pas un contour
- si 𝑆𝑏 < 𝐺 < 𝑆ℎ, un pixel est un contour s’il est connecté à un autre pixel déjà
accepté comme contour.

6. L’approche Laplacien

La recherche des contours dans l’image peut aussi être réalisée en recherchant les
passages par zéro du Laplacien ou encore le changement des signes des pixels voisins.

41
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

𝜕 2 𝐼(𝑥, 𝑦) 𝜕 2 𝐼(𝑥, 𝑦)
∆𝐼(𝑥, 𝑦) = +
𝜕𝑥 2 𝜕𝑦 2

L’équation précédente de la deuxième dérivée et après discrétisation par différences


finies, peut être estimé grâce à une convolution avec un seul masque.

Masque de 4-connexités :

0 1 0
𝐿4𝑐𝑥 = [1 −4 1]
0 1 0
ou masque de 8-connexités :

1 1 1
𝐿8𝑐𝑥 = [1 −8 1]
1 1 1

Fig.8. Comparaison entre Laplacien 4 et 8 connexités

Algorithme

Les points de contour sont caractérisés par des passages par zéro du laplacien. La
détection de ces points s'effectue en deux étapes :

1. Détection des passages par zéros. Les pixels pour lesquels le Laplacien change de
signe sont sélectionnés.
2. Seuillage des passages par zéros de fortes amplitudes (par hystérésis par exemple).

42
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Chapitre 5
Introduction à la morphologie mathématique en
niveaux de gris

1. Introduction
La morphologie mathématique a été développée à partir des années 70. Elle s'énonce et
se comprend plus aisément sur des images binaires. Cette théorie peut être utilisée comme
outil de :

- suppression des structures fines


- comblement des trous

Elément structurant :
La morphologie mathématique repose sur l'utilisation d'un élément structurant.
Un élément structurant est composé :
- d'un pixel central (en noir)
- d'un ensemble de pixels (en gris)

Fig.1. Exemples d’éléments structurants

43
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Parcours de l'image :
Les algorithmes de morphologie mathématique parcourent l'image :
- en chaque pixel de départ Pd (i, j) on place l'élément structurant centré sur le pixel
noir,

- un test est réalisé pour déterminer la couleur du pixel d'arrivé Ps(i, j).
À partir de ce test, on définit les opérations de base (érosion et dilatation) et les autres
opérations composée (ouverture et fermeture).

2. Opérations morphologique de base en niveaux de gris

2.1. Dilatation et érosion

Si on appelle 'voisins'   V(i,j) d'un pixel (i,j) les pixels grise et noirs de l'élément
structurant lorsque celui-ci est centré sur le pixel. On applique alors les algorithmes
suivants pour obtenir la dilatation et l'érosion en niveaux de gris :

- Erosion : Ps(i, j) = min {  V(i,j)}


- Dilatation : Ps(i, j) = max {   V(i,j)}

On se donne un élément structurant du même type que précédemment (type voisinage).


Cette formulation permet d'étendre les outils de la morphologie mathématique aux images
en niveaux de gris.
On note D(u,b) l'image dilatée de u par l'élément structurant b et E(u,b) l'érodée.

Observation sur des images :

- La dilatation en niveaux de gris accroît la luminance des pixels entourés de voisins


plus lumineux.
- L’érosion en niveaux de gris réduit la luminance des pixels qui sont entourés de
voisins de moindre intensité.

44
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Fig.2. Dilatation et érosion

Exemples :
Erosion :

Dilatation :

45
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

2.2. Ouverture et fermeture

On définit ces deux opérateurs de la même manière que pour les images binaires :
- L'ouverture est une érosion suivie d'une dilatation,
- La fermeture est une dilatation suivie d'une érosion.
On note O(u,b) l'ouverture d’une image et F(u,b) la fermeture d'une image u par un
élément structurant b.

Fig.3. Ouverture et fermeture sur une courbe

Exemples :

(a) Image original et élément structurant

(b) Erosion et dilatation

46
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

(c) Ouverture et fermeture


Fig.4. Effets des opérations morphologiques sur des images en NdG

3. Autres Opérateurs
3.1. Gradient morphologique

Le gradient morphologique est obtenu en soustrayant l'image érodée à l'image dilatée


(avec un élément structurant carré) :

1
𝐺(𝑢, 𝑏) = (𝐷(𝑢, 𝑏) − 𝐸(𝑢, 𝑏))
2

On peut définir également deux versions réduites du gradient morphologique :


Le gradient externe :

𝐺 + = 𝐷(𝑢, 𝑏) – 𝑢

et le gradient interne :

𝐺 − = 𝑢 – 𝐸(𝑢, 𝑏)

3.2. Laplacien morphologique

Le Laplacien morphologique est définie comme :

𝐿 = 𝐺+ – 𝐺−

On peut combiner de différentes manières les filtres morphologiques. Par exemple, pour
extraire les "bosses" de l'image en utilise le filtre top-hat suivant :

𝑇𝐻(𝑢, 𝑏) = 𝑢 − 𝑜(𝑢, 𝑏)

47
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

L'opérateur conjugué (Rolling-ball) permet d'extraire les "creux"

𝑇𝐻 ∗ (𝑢, 𝑏) = 𝐹(𝑢, 𝑏) − 𝑢

𝑇𝐻(𝑢, 𝑏) 𝑇𝐻 ∗ (𝑢, 𝑏)

Fig.5. L’opérateur top-hat et l’opérateur conjugué

48
Dr. A. BOUKAACHE
Cours de traitement d’images et vision

Conclusion générale

Le domaine de traitement des images représente une discipline d’actualité surtout


avec l’omniprésence de cette information dans plusieurs applications. Ce domaine
regroupe plusieurs disciplines et reste très vaste. Le présent document traite
essentiellement des méthodes de bas-niveaux, qui sont décrits dans cinq chapitres :

- Système de vision
- Généralités sur les images et histogrammes
- Filtrage des images
- Méthodes de détection de contours
- Introduction à la morphologie mathématique en niveaux de gris

Ces méthodes servent comme une base pour l’étudiant pour entamer les autres
méthodes de traitements d’images de haut-niveaux, comme exemples on trouve la
reconnaissance, la classification ou l’identification, la robotique, la vidéo-surveillance,
la poursuite et autres.

49

Dr. A. BOUKAACHE
Références
1. Cocquerez, J.-P. Philipp, S. - Analyse d'images : filtrage et segmentation. Masson,
1995.
2. Chassery, J.M. Montanvert A. - Géométrie discrète en analyse d'images. Hermes, mai
1991.
3. Rousselle, J.J - les contours actifs, une méthode de segmentation : application à
l'imagerie médicale. Thèse de doctorat de l’université de Tours, 2003.
4. R.C. Gonzalez, R.E. Woods, Digital Image Processing, 3ème Edition, 2008.
5. G. Burel, Introduction Au Traitement D'Images Simulation Sous Matlab. Hermes,
2001.
6. O. Hélénon, Traitement de l’image de la numérisation a l’archivage et la
communication collection imagerie médicale formation, Elsevier-Masson, 2013.
7. E. Tisserand, J-F. Pautex, P. Schweitzer, Analyse et Traitement des Signaux : méthodes
et applications au son et à l’image, 2ème Edition, Dunod, 2009.
8. C. Achard, Cours de traitement d’images, Institut des Systèmes Intelligents et de
Robotique, 2002-2003.
9. P-M. Jodoin, Analyse d’images : Notes de cours, Université de Sherbrooke, 2013.
10. E. Boyer, Cours analyse d’image : M2PGI – UFRIMA, Université Joseph Fourier /
INRIA Grenoble, 2017.
11. I. Bloch, Morphologie mathématique : chapitre de polycopie sur méthodes avancées
de traitement d’images. ENST 2007.
12. J. QUEBAUD et S. MAHDJOUB-ARAIBI, Techniques de dématriçage d’images
couleur (Caméra couleur-Filtre CFA-Algorithmes), projet bibliographique, Université
de Lille 2010-2011.
13. G. Dauphin, Traitement d’images numériques : Notes de cours, Université de Paris
XIII, 2015

Vous aimerez peut-être aussi