TNImages 2012 Vol1 V2 .pdf



Nom original: TNImages_2012_Vol1_V2.pdf
Titre: Microsoft Word - TNImages_2012_Vol1_V1.doc
Auteur: Florence Rossant

Ce document au format PDF 1.4 a été généré par PScript5.dll Version 5.2 / Acrobat Distiller 8.1.0 (Windows), et a été envoyé sur fichier-pdf.fr le 07/06/2015 à 17:18, depuis l'adresse IP 88.181.x.x. La présente page de téléchargement du fichier a été vue 507 fois.
Taille du document: 5.5 Mo (60 pages).
Confidentialité: fichier public




Télécharger le fichier (PDF)










Aperçu du document


SITe – Signal Image Télécoms

Traitement et Analyse des
Images Numériques
2011-2012 – V1

Florence Rossant

Florence Rossant

06/02/2012

TNImages_2012_Vol1_V1

SITe – Signal Image Télécoms

Traitement et Analyse des
Images Numériques
2011-2012

VOLUME 1

Florence Rossant

-3-

-4-

Table des Matières

VOLUME 1 .......................................................................................................... 3
CHAPITRE I ............................................................................................................................ 7
INTRODUCTION .......................................................................................................................... 7
1.
Introduction et objectifs ................................................................................................... 7
2.
Acquisition et représentation des images ....................................................................... 11
2.1.
2.2.
2.3.
2.3.1.
2.3.2.
2.3.3.
2.3.4.
2.4.
2.5.

Géométrie ................................................................................................................................................... 11
Echantillonnage dans le domaine spatial.................................................................................................... 14
Quantification............................................................................................................................................. 14
Images en niveaux de gris ....................................................................................................................... 14
Images en couleurs.................................................................................................................................. 14
Passage de la couleur à la luminance ..................................................................................................... 16
Influence du nombre de bits de quantification ........................................................................................ 17
Fichier graphique........................................................................................................................................ 17
Manipulation des images............................................................................................................................ 18

CHAPITRE II......................................................................................................................... 19
TRANSFORMATIONS GEOMETRIQUES...................................................................................... 19
1.
Représentation des points............................................................................................... 19
2.
Transformations géométriques....................................................................................... 20
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.6.1.
2.6.2.
2.6.3.

Changement d’échelle, ou homothétie (scaling) ........................................................................................ 20
Rotation ...................................................................................................................................................... 21
Translation.................................................................................................................................................. 22
Symétrie axiale (reflexion)......................................................................................................................... 22
Cisaillement (shear).................................................................................................................................... 22
Composition de transformations................................................................................................................. 23
Transformation euclidienne .................................................................................................................... 24
Similitude................................................................................................................................................. 25
Transformation affine.............................................................................................................................. 25

3.

Mises en oeuvre des transformations affines ................................................................. 26

3.1. Transformer des images ............................................................................................................................. 26
3.1.1. Rotation d’une image .............................................................................................................................. 26
3.1.2. Affine warp .............................................................................................................................................. 27
3.2. Mise en correspondance du « monde réel » et de l’image.......................................................................... 29
3.3. Recalage par une transformation affine...................................................................................................... 30

-5-

Traitement et Analyse des Images Numériques

4.
5.

Transformations projectives........................................................................................... 32
Transformations non rigides........................................................................................... 33

CHAPITRE III ....................................................................................................................... 35
OUTILS DE TRAITEMENT D’IMAGE .......................................................................................... 35
1.
Histogrammes................................................................................................................. 35
2.
Profils ............................................................................................................................. 36
3.
Transformée de Fourier.................................................................................................. 36
4.
Filtrage dans le domaine fréquentiel .............................................................................. 39
4.1. Principe ...................................................................................................................................................... 39
4.1.1. Exemples de filtres passe-bas :................................................................................................................ 39
4.1.2. Filtres passe-haut et passe-bande :......................................................................................................... 40
4.2. Opération de filtrage................................................................................................................................... 40
4.3. Synthèse des filtres..................................................................................................................................... 41
4.3.1. Méthode directe ou développement en série de Fourier.......................................................................... 42
4.3.2. Echantillonnage de la réponse en fréquence........................................................................................... 42

5.

Filtre de convolution ...................................................................................................... 42

CHAPITRE IV ....................................................................................................................... 47
REHAUSSEMENT – RESTAURATION ......................................................................................... 47
1.
Réhaussement................................................................................................................. 47
1.1. Traitements sur histogrammes.................................................................................................................... 47
1.1.1. Calibration .............................................................................................................................................. 47
1.1.2. Egalisation .............................................................................................................................................. 48
1.2. Filtrage spatial ............................................................................................................................................ 49
1.2.1. Filtre de convolution ............................................................................................................................... 49
1.2.2. Filtre médian ........................................................................................................................................... 50
1.3. Filtrage fréquentiel ..................................................................................................................................... 51

2.

Restauration.................................................................................................................... 52

2.1.
2.2.
2.2.1.
2.2.2.
2.3.
2.4.
2.5.

Problème général de la restauration d'images............................................................................................. 52
Restauration par filtrage inverse................................................................................................................. 54
En l’absence de bruit............................................................................................................................... 54
En présence de bruit................................................................................................................................ 54
Filtre de Wiener.......................................................................................................................................... 55
Elimination d’un bruit structurel ................................................................................................................ 56
Réduction du flou de bougé........................................................................................................................ 56

.................................................................................................................................................. 59
RÉFÉRENCES ............................................................................................................................ 59
1.
Livres.............................................................................................................................. 59
2.
Articles ........................................................................................................................... 59
3.
Liens internet.................................................................................................................. 60

06/02/2012

-6-

Chapitre I
Introduction

1.

Introduction et objectifs

Ce cours aborde les techniques d’acquisition, de traitement, d’analyse et
d’interprétation d’images numériques. Le champ d’utilisation de ces techniques est très vaste
mais on peut distinguer deux domaines d’applications majeurs : le premier est l’amélioration
d’images, en vue de faciliter la perception et l’interprétation humaine. Citons par exemple les
traitements appliqués à des images médicales, permettant d’améliorer leur lisibilité et de
mettre en évidence des pathologies. Le deuxième domaine d’application majeur recouvre
l’ensemble des systèmes de visions. Ceux-ci analysent des images numériques ou des
séquences d’images numériques et donnent une interprétation de haut niveau des scènes
observées. Idéalement, ces systèmes doivent être entièrement automatiques. Citons quelques
exemples : la lecture automatique de documents (caractères, musique, adresses postales…), le
contrôle de qualité sur chaîne de production (détection automatique des produits défectueux
par exemple), la détection et la poursuite de cibles, l’aide au pilotage (détection d’obstacles)
etc.
Ce cours d’introduction est très orienté « système de vision ». Un système de vision
est un système qui, à partir des données acquises (pixels physiques de(s) image(s)), opère un
ensemble de transformations permettant d’arriver à une représentation symbolique
(structurelle) puis sémantique.
Prenons par exemple une application de lecture automatique de textes imprimés. La
page est scannée, de façon à obtenir une image binaire, dont les pixels valent 1 pour ceux qui
forment les caractères, 0 pour le fond. Imaginons ce que pourrait réaliser le système de
vision :
Dans un premier temps, on peut appliquer des traitements permettant d’améliorer la lisibilité
de l’image : rotation pour restaurer l’horizontalité des lignes, réduction de bruit, par exemple.
-7-

Traitement et Analyse des Images Numériques

Dans un deuxième temps, le système doit extraire les objets. C’est l’étape de segmentation qui
partitionne l’image en sous-ensembles de pixels connexes, chaque sous-ensemble constituant
une forme ou un objet.
Dans un troisième temps, on peut extraire pour chaque objet segmenté un ensemble de
caractéristiques structurelles: par exemple on est capable de dire que le premier caractère en
haut à gauche de l’image est centré sur les coordonnées (x,y), de calculer la position et les
dimensions du rectangle englobant. On peut aussi extraire des attributs caractéristiques qui
permettront de classifier l’objet. Par exemple, des caractéristiques géométriques et
topologiques : identification de segments constituant le caractère, nombre de points
d’intersection entre les segments, rapport entre la hauteur et la largeur, etc.
Dans un quatrième temps, on peut déduire de ces attributs une hypothèse de classification :
par exemple, ce caractère est un A majuscule. On est au niveau de la description symbolique.
Enfin, à partir des caractères, on peut former des mots, utiliser un dictionnaire et introduire
des règles grammaticales pour vérifier la validité des hypothèses de reconnaissance, détecter,
voire corriger des erreurs. On est alors au niveau de l’interprétation sémantique.
Acquisition,
amélioration

Image binaire

Segmentation S1 : (14,11), h=10 ; l=8 ….
S2 : (23,12), h=8 ; l=6 ….
S3 : etc.

Description symbolique

Extraction
d’attributs

S1 : (14,11) : h/l = 1.25, 2 points triples, 3
segments,
1 trou, 2 points terminaux etc.
S2 : (23,12), h/l = 1.33, 0 point triple, 2 segments,
1 arc, 0 trou, 3 points terminaux etc.
S3 : etc.
Classification S1 : A
S2 : n
S3 : a
S4 : l
S5 : g
S6 : s
S7 : e
Etc.
Analyse
M1 : Analgse → Analyse
sémantique

FIG. I-1: Etapes principales d’un algorithme de reconnaissance de caractères

06/02/2012

-8-

Chapitre I : Introduction

On voit sur cet exemple que la chaîne de traitement part de l’image brute pour aller
vers un niveau d’abstraction de plus en plus élevé. On parle de traitement de bas niveau
lorsque l’on manie les pixels de l’image : amélioration, segmentation, extraction de
caractéristiques. Lorsque l’on ne traite plus les pixels bruts mais des données réduites
extraites de l’image, on parle d’interprétation de haut niveau. Souvent, des connaissances à
priori sur la scène analysée permettent d’optimiser ce processus. De même, on parle de
traitement d’image lorsqu’on applique à l’image des transformations qui aboutissent à une
nouvelle image, alors qu’on parle d’analyse d’images lorsqu’on extrait des informations de
l’image.
En résumé, nous pouvons dire qu’un système de vision réalise schématiquement trois
opérations :
1. Acquisition de l’image
2. Amélioration
de
l’image
(restauration,
réhaussement,
transformations
géométriques…)
3. Extraction d’informations
4. Interprétation, décision
Le plan de ce cours suit cette logique:
Chapitre I : Introduction
Qu’est ce qu’une image, qu’est-ce que le traitement et l’analyse d’images, applications,
objectifs du cours.
Chapitre II : Tranformations géométriques
Ce chapitre introduit le formalisme mathématique utilisé pour appliquer une transformation
géométrique à une image. Il est utilisé pour transformer les images (translations, rotations,
zoom, etc.), pour recaler une image par rapport à une autre (registration en anglais), ou encore
pour effectuer des changements de repères.
Chapitre III: Traitement d’image : outils
Dans un premier temps, nous verrons les principaux outils mathématiques permettant de
manipuler les images : transformée de Fourier, histogramme, profils, filtrage spatial, filtrage
fréquentiel.
Chapitre IV: Réhaussement, restauration
Nous utiliserons ces outils en restauration d’image et en amélioration d’image, premières
étapes pour un système de vision ou d’aide à l’interprétation. Le réhaussement permet
d’améliorer la lisibilité d’une image ; la restauration permet de compenser des dégradations
dues au système d’acquisition.
Chapitre IV, Chapitre IVI : Segmentation
Puis une large part sera consacrée à la segmentation, étape essentielle conditionnant le succès
de l’analyse de la scène observée. Nous verrons des techniques basées sur l’extraction des
contours délimitant les formes (Chapitre V), et des techniques basées sur les régions

06/02/2012

-9-

Traitement et Analyse des Images Numériques

(Erreur ! Source du renvoi introuvable.), exploitant des propriétés de similitude entre les
pixels.
Chapitre VII : Morphologie mathématique
Ce chapitre intermédiaire fait référence à des techniques fondées sur la théorie des ensembles.
Elles permettent de réaliser des traitements (extraction de contour, réduction de bruit, …)
mais aussi de l’analyse (comptage d’objets, détection de formes, …).
Chapitre VIII : Représentation modélisation
Une fois l’image segmentée, on peut modéliser les objets identifiés. D’une part, pour les
représenter d’une manière plus condensée et plus structurelle, par exemple en codant le
contour d’une forme ; d’autre part pour extraire des attributs caractéristiques qui permettront
de réaliser une interprétation de plus haut niveau (reconnaissance de formes).
Erreur ! Source du renvoi introuvable. : Introduction à la reconnaissance de formes.
Nous verrons 4 méthodes essentielles communément utilisées dans les systèmes
d’interprétation ou de vision : les plus proches voisins, les méthodes bayésiennes, le pattern
matching, les méthodes connexionnistes.
Terminons cette introduction sur un panorama des techniques et applications en
traitement et analyse d’images. Les traitements et les domaines d’applications sont très
variés :
Principaux traitements
• Amélioration de la qualité d’une image : restauration , réhaussement : rendre nette
une image floue, améliorer le contraste, filtrer le bruit…
• Compression : réduction de redondance
• Systèmes de vision par ordinateur:
o Détection – segmentation
o Reconnaissance de formes
o Reconstitution 3D (vision stéréoscopique)
o Analyse de scènes
o Détection de mouvements
Exemples d’application
• Restauration des images spatiales (turbulences atmosphériques, flou, contraste...)
• Robotique : « vision » des robots.
• Pilotage automatique de véhicules
• Contrôle de qualité sur chaînes de production
• Authentification : signatures, …
• Biométrie : identification par l’iris de l’œil, le visage, les empruntes digitales, …
• Lecture automatique : adresse (poste), montant de chèques, texte scanné...
• Interprétation d’images dans le domaine médical
• Détection d’intrusion dans des lieux non gardés
• Télédétection, cartographie
• Compression des images (multimédia)
06/02/2012

- 10 -

Chapitre I : Introduction



etc ...

Dans ce cours d’introduction, nous n’aborderons pas les techniques basées sur
l’analyse de séquences d’images (détection de mouvement, poursuite de cibles), ni la
stéréoscopie, ni les méthodes de compression des images (code RLE, algorithme LZW, norme
JPEG).
Enfin, notons que le traitement d’image est un domaine qui fait appel à des disciplines
très variées, ce qui en accroît encore l’intérêt. Notons principalement la théorie du signal,
l’analyse numérique, les statistiques, la théorie de l’information, etc.
La principale difficulté en traitement d’images est qu’il n’y a pas de traitement idéal
universel. Chaque application nécessite une étude spécifique. Par exemple une méthode de
détection de maladie sur une radiographie ne peut servir au contrôle de qualité en imprimerie.
C’est pourquoi il est nécessaire d’intégrer un arsenal de méthodes, afin de pouvoir choisir,
souvent sur la base de l’expérience, celles qui conviennent le mieux pour réaliser l’application
étudiée. De plus, il faut souvent les adapter et de les optimiser au cas traité. C’est pourquoi
nous verrons souvent dans ce cours plusieurs algorithmes ayant le même objectif. Par
exemple, nous verrons plusieurs méthodes de segmentation, plusieurs méthodes de
reconnaissance de formes. Nous essaierons de définir les conditions d’application de ces
méthodes, mais il est important de garder à l’esprit qu’elles peuvent être complémentaires, et
que c’est la simulation et le test qui permettent de choisir la solution optimale parmi plusieurs
alternatives.

FIG. I-2: Interdisciplinarité du traitement des images

2.

Acquisition et représentation des images

Dans ce paragraphe sont indiqués les éléments indispensables pour la manipulation et
le traitement des images.

2.1.

Géométrie

Une image est une représentation en deux dimensions du monde 3D. Le système
d’acquisition est modélisé géométriquement par une projection centrale, dont le centre C est

06/02/2012

- 11 -

Traitement et Analyse des Images Numériques

le centre de la caméra.
La figure FIG. I-3(a) illustre la géométrie d’un système d’acquisition d’image. Un
point X de l’espace 3D se projette en un point image x, qui est à l’intersection entre le rayon
(CX) et le plan image. Le plan image est situé à une distance f du centre de la caméra. La
droite perpendiculaire au plan image et passant par le centre optique C est appelé axe
principal ou rayon principal. Le point d’intersection entre le plan image et l’axe principal est
appelé point principal p.
La figure FIG. I-3(b) montre les relations géométriques que l’on peut déduire de la
géométrie du système. Considérons un système de coordonnées image, d’origine p, lié au
système de coordonnées de l’espace comme indiqué sur la figure (axes x et y parallèles aux
axes X et Y. Le théorème de Thales nous donne les coordonnées du point image en fonction
des coordonnées du point de l’espace :

( X,Y,Z )

Y⎞
⎛ X
a⎜ f
,f ⎟
Z⎠
⎝ Z

Eq. I-1

(a)

(b)

FIG. I-3. Géométrie d’un système d’acquisition d’image (modèle « pinhole camera »)

FIG. I-4. Géométrie épipolaire, mise en correspondance de points images (figure extraite de [10]). Les deux
caméras sont représentées par leur centre et leur plan image. Le point de l’espace X, les points images x et x’,
les centres des caméras C et C’ sont tous dans un même plan π , appelé plan épipolaire. Le point image x est
rétro-projeté en un rayon passant par x et C. Ce rayon a pour image une droite l’ dans la seconde vue. Ainsi, le
point de l’espace X est imagé dans la seconde vue en un point de l’. La droite qui joint les deux centres C et C’
intersecte les plans image aux épipôles e et e’ Tous les plans épipolaires contiennent cette ligne, toutes les
droites épipolaires contiennent les épipôles. La géométrie épipolaire facilite la mise en correspondance de

06/02/2012

- 12 -

Chapitre I : Introduction
paires de points qui sont les imagse d’un même point de l’espace.

D’une manière plus générale (i.e. pour des systèmes de coordonnées de l’espace et de
l’image quelconques), les coordonnées du point image sont déduits des coordonnées des
points de l’espace par une transformation projective, qui s’exprime, en coordonnées
homogènes, par une matrice 3 × 4 de 11 paramètres indépendants (Chapitre II, sections 1 et
4).
Il faut bien noter qu’il y a perte d’une dimension et donc perte d’information.
Supposons un point de l’image x. Comment savoir à quel point de l’espace il correspond ?
C’est impossible dans un système à une caméra. On sait juste que le point de l’espace
appartient au rayon Cx. Pour retrouver les coordonnées du point de l’espace, il faut un
système à deux caméras. Dans ce cas, le point de l’espace est à l’intersection des deux rayons
rétroprojetés, Cx et Cx’, x et x’ étant les points image du point recherché dans les deux vues.
L’une des difficultés est de trouver les paires de points en correspondance. On raisonne pour
cela en géométrie épipolaire (FIG. I-4, FIG. I-5, FIG. I-6).

FIG. I-5. Géométrie épipolaire (figure extraite de [10]). La droite qui joint les centre C et C’ des deux
caméras intersecte chaque plan image en un épipôle, respectivement e et e’. Tous les plans épipolaires
contiennent cette droite. Quand la position du point de l’espace X varie, le plan épipolaire tourne autour de la
droite ee’. Les points image en correspondance se trouve sur des droites épipolaires, intersection du plan
épipolaire et des plans image.

(a)

(b)

FIG. I-6. Acquisition par deux caméras convergentes (figure extraite de [10]).
Les figures (a) et (b) montrent des ponts mis en correspondance et les droites épipolaires

06/02/2012

- 13 -

Traitement et Analyse des Images Numériques

2.2.

Echantillonnage dans le domaine spatial

L’acquisition de l’image résulte d’un double échantillonnage, horizontal et vertical.
Généralement, pour des considérations pratiques liées à la réalisation des équipements
d’acquisition, l’échantillonnage se fait suivant une trame carrée avec un pas Δx=Δy. L’image
est donc naturellement représentée sous la forme d’une fonction bi-dimensionnelle (matrice),
par exemple pour une image de taille LxH :
f ( x , y ) avec

⎧0 ≤ x < L

⎩0 ≤ y < H

Eq. I-2

FIG. I-7. Exemples de pavages (figure extraite de [5]). Le plus courant est le pavage carré.

2.3.

Quantification

2.3.1. Images en niveaux de gris
Pour une image en niveaux de gris, f(x,y) représente la luminance du pixel de
coordonnées (x,y). L’opération qui doit suivre l’échantillonnage est la quantification. La
dynamique est divisée en un nombre fini d’intervalles, et on attribue à toutes les valeurs de
l’intervalle une seule valeur de luminance. Il s’agit par exemple d’une valeur entière comprise
entre 0 et 255 pour une image de profondeur 1 octet. On considère alors que la valeur 0
correspond au noir, et que les valeurs croissantes de f(x,y) font tendre la couleur vers le blanc.
Par exemple, 0 représente le noir, 64 un gris foncé, 192 un gris clair, 255 le blanc.

0

16

32

48

64

80

96 112 128 144 160 176 192 208 224 240 255

FIG. I-8 : Echelle des niveaux de gris

2.3.2. Images en couleurs
Les systèmes utilisés pour coder la couleur sont basés sur le principe de trichromie :
toute couleur peut être synthétisée à partir de trois composantes élémentaires appelées

06/02/2012

- 14 -

Chapitre I : Introduction

primaires.
En synthèse additive (FIG. I-9), la couleur est codée par la somme pondérée de trois
couleurs primaires, le rouge (λ=700 nm), le vert (λ=546 nm), le bleu (λ=435.8 nm). Pour une
image couleur, la quantification est réalisée sur les trois signaux R, V et B. Ainsi, une
quantification de chaque signal sur un octet conduit à représenter chaque pixel de l’image par
un triplet d’octets, (R,V,B) (FIG. I-10).
Il existe d’autres espaces de couleur, CMY (Cyan, Magenta, Yellow, utilisé en
imprimerie), HSV (Hue, Saturation, Value).

FIG. I-9. Synthèse additive des couleurs (figure extraite de [5])

Rouge
Jaune
Vert
Cyan
Bleu
Magenta
Noir
Niveaux de Gris
Blanc

R,G,B
255,0,0
255,255,0
0,255,0
0,255,255
0,0,255
255,0,255
0,0,0
63,63,63
127,127,127
255,255,255

FIG. I-10 : Codage de la couleur dans l’espace RVB

On utilise très souvent une table des couleurs (ie. palette, LUT (Look-Up-Table)) pour
représenter les images en couleurs. Une table des couleurs est un tableau définissant les

06/02/2012

- 15 -

Traitement et Analyse des Images Numériques

couleurs présentes dans l’image. On accède à une couleur par son index dans le tableau. La
valeur du pixel représente donc un index qui permet d’accéder au triplet (R,V,B) définissant
la couleur. Dans la figure FIG. I-11, le troisième pixel est codé 8. On regarde donc la huitième
« ligne » de la table des couleurs et on trouve le triplet (0,255,0), ce qui correspond au vert.
Généralement, chaque couleur est définie par 3 octets (24 bits). Ainsi une palette
définissant 16 couleurs nécessitera 48 octets.
L’utilisation de palette peut présenter un certain nombre d’avantages :
• gain de place: supposons que l’on veuille stocker une image de 320*200 pixels sur
256 couleurs; sans utilisation de palette, il faut 320*200*3 octets (192 Ko); avec
utilisation de palette, il faut 256*3 octets (stockage de la palette), et 320*200*1
octets (stockage des données), soit 64.8 Ko.
• modification aisée des couleurs affichées : on peut modifier les couleurs de
l’image sans modifier les valeurs des pixels eux-mêmes, par simple transformation
de la palette.

FIG. I-11 : Utilisation d’une palette des couleurs

2.3.3. Passage de la couleur à la luminance
Le passage d’une image couleur codée en synthèse additive R, G, B vers une image en
niveaux de gris, Y, se fait suivant l’équation :
Y = 0.299 R + 0.587 G + 0.114 B

Eq. I-3

(a)

(b)

FIG. I-12. Transformation d’une image couleur en une image en niveaux de gris.

06/02/2012

- 16 -

Chapitre I : Introduction

2.3.4. Influence du nombre de bits de quantification
Généralement, on code chaque canal sur 8 bits (1 octet). Cette représentation est
suffisante pour un bon rendu visuel (impression de continuum). Si on diminue trop le nombre
de bits, donc le nombre de couleurs représentables, on voit apparaître dans les images des
effets de seuil.
La figure FIG. I-13 montre les niveaux de gris représentables en fonction du nombre
de bits de quantification.

FIG. I-13. Niveaux de gris représentables en fonction du nombre de bits de quantification.
b est le nombre de bits, N est le nombre de couleurs correspondant.

FIG. I-14. Influence du nombre de couleurs.

2.4.

Fichier graphique

On appelle fichier graphique un fichier permettant de stocker des images numériques.
En particulier, les fichiers bitmap codent des valeurs numériques spécifiant la couleur des
pixels : formats BMP, PCX, GIF, TIFF, JPEG, etc.
Les fichiers bitmap possèdent tous la même structure générale permettant de restituer
l’image : une en-tête constituée de champs fixes indiquant comment lire le fichier, la palette,
les données images.
Afin de réduire le volume des données à stocker, celles-ci sont généralement
compressées : compression RLE, LZW, JPEG. Les algorithmes utilisés pour la compression
exploitent la redondance qui existe dans les images (corrélation des pixels).

06/02/2012

- 17 -

Traitement et Analyse des Images Numériques

2.5.

Manipulation des images

Dans la suite de ce cours, on traitera essentiellement des images en niveaux de gris. La
figure FIG. I-15 rappelle la définition d’une image en niveaux de gris de profondeur 1 octet.
Un traitement T transforme l’image f ( x, y ) 0≤ x<L en une image f ' ( x, y ) 0≤ x< L ' avec
0≤ y< H

⎧ 0 ≤ x0 < L '


f ' ( x0 , y0 ) = T ⎜⎜ f ( x, y ) 0≤ x< L ⎟⎟ pour ⎨
0≤ y < H ⎠

⎩0 ≤ y0 < H '

0≤ y < H '

Eq. I-4

Exemple : réduction de taille d’un facteur 2 par moyennage :
f ' ( x0 , y0 ) =

0 ≤ x0 < L / 2
1 1 1
f (2 * x0 + i,2 * y0 + j ) pour
∑∑
0 ≤ y0 < H / 2
4 i =0 j = 0

Eq. I-5

FIG. I-15 : Représentation d’une image en niveaux de gris, codée sur 1 octet

06/02/2012

- 18 -

Chapitre II
Transformations géométriques

Nous présentons dans ce chapitre le formalisme mathématique utilisé pour appliquer
une transformation géométrique à une image. Ce formalisme est utilisé pour transformer les
images, pour recaler une image par rapport à une autre (registration en anglais), ou encore
pour effectuer des changements de repères, utililes en stéréo vision par exemple.
Dans la suite, nous nous intéresserons aux transformations du plan. La 3D n’est pas
abordée.

1.

Représentation des points
Les pixels sont représentés par un vecteur colonne :
⎡ x⎤
P = ⎢ ⎥ = [x
⎣ y⎦

y]

T

Eq. II-1

Dans les cas où il n’y a pas d’ambiguité, on indiquera simplement les coordonnées par
un vecteur ligne, sans le « T ».
Il est souvent très utile d’utiliser les coordonnées homogènes, surtout lorsque des
transformations affines sont employées. Ces coordonnées sont formées des coordonnées
cartésiennes et d’une valeur additionnelle, s, qui désigne un facteur d’échelle.

P = [x

y ] devient P = [x
T

y s ] avec généralement s = 1
T

- 19 -

Eq. II-2

Traitement et Analyse des Images Numériques

2.

Transformations géométriques

Les coordonnées homogènes permettent une description standardisée des transformées
géométriques, qui peuvent être représentées par une matrice de la forme :

Le résultat de la transformation appliquée en un point est obtenu en multipliant cette
matrice par les coordonnées homogènes du point.
-

Ainsi, les coordonnées homgènes présente des avantages suivants :
Traitement standardisé de toutes les transformations, euclidiennes, affines, projectives.
Les compositions de transformations se ramènent à des multiplications de matrices.
Ainsi, la multiplication des matrices élémentaires conduit à une seule matrice
représentant toutes les transformées appliquées.
On inverse simplement la transformation en inversant la matrice.

Dans la suite de cette section, on indique les matrices modélisant les principales
transformées géométriques.

2.1.

Changement d’échelle, ou homothétie (scaling)

Il s’agit de changer la taille des objets présents dans l’image de manière homogène, en
appliquant un facteur d’échelle. Prenons un exemple. Considérons un triangle formé par les
sommets [0 0], [4 0] et P=[1,2] et cherchons les coordonnées des points après
redimensionnement d’un facteur 2. Le point image P’de P est obtenu en multipliant chaque
coordonnée par 2. Ainsi P’=[2,4].

FIG. II-1 : redimensionnement d’un facteur 2 (figure extraite de [6])

Cette transformation est linéaire, c’est-à-dire qu’elle peut être déterminée à partir de la
transformée des vecteurs de la base.
P = [x , y ] = x[0 ,1] + y[1,0 ] a 2( x[0 ,1] + y[1,0 ]) = 2 x[0 ,1] + 2 y[1,0 ] = [2 x ,2 y ]

Sous forme matricielle, le redimensionnement par un facteur c s’exprime simplement
par :
06/02/2012

- 20 -

Chapitre II : Tranformations géométriques

⎡ x' ⎤ ⎡c 0 ⎤ ⎡ x ⎤
⎢ y' ⎥ = ⎢0 c ⎥ ⎢ y ⎥
⎣ ⎦ ⎣
⎦⎣ ⎦

Eq. II-3

En coordonnéees homogènes, cette équation s’écrit :
⎡ x' ⎤ ⎡c 0 0 ⎤ ⎡ x ⎤
⎢ y' ⎥ = ⎢0 c 0 ⎥ ⎢ y ⎥
⎢ ⎥ ⎢
⎥⎢ ⎥
⎢⎣ 1 ⎥⎦ ⎢⎣0 0 1⎥⎦ ⎢⎣ 1 ⎥⎦

2.2.

Eq. II-4

Rotation

La rotation est également une transformation linéaire qui peut se calculer à partir de la
transformée des vecteurs de la base. Considérons une rotation d’un angle θ. La figure FIG.
II-2 illustre la transformée de ces vecteurs :

[0 ,1] a [cos θ , sin θ ]
[1,0] a [− sin θ ,cos θ ]

Eq. II-5

Ainsi, pour un point P[x,y] :
Rθ ([x , y ]) = Rθ ( x[0 ,1] + y[1,0 ])

= xRθ ([0 ,1]) + yRθ ([1,0 ])

= x[cos θ , sin θ ] + y[− sin θ ,cos θ ]

FIG. II-2 : rotation (figure extraite de [6])

Par conséquent, la rotation d’un angle θ s’exprime sous forme matricielle par :

⎡ x' ⎤ ⎡cos θ
⎢ y' ⎥ = ⎢ sin θ
⎣ ⎦ ⎣

− sin θ ⎤ ⎡ x ⎤ ⎡ x cos θ − y sin θ ⎤
=
cos θ ⎥⎦ ⎢⎣ y ⎥⎦ ⎢⎣ x sin θ + y cos θ ⎥⎦

La définition de la rotation en coordonnées homogènes, s’écrit :

06/02/2012

- 21 -

Eq. II-6

Traitement et Analyse des Images Numériques

⎡ x' ⎤ ⎡cos θ
⎢ y' ⎥ = ⎢ sin θ
⎢ ⎥ ⎢
⎢⎣ 1 ⎥⎦ ⎢⎣ 0

2.3.

− sin θ
cos θ
0

0 ⎤ ⎡ x ⎤ ⎡ x cos θ − y sin θ ⎤
0 ⎥⎥ ⎢⎢ y ⎥⎥ = ⎢⎢ x sin θ + y cos θ ⎥⎥
⎥⎦
1⎥⎦ ⎢⎣ 1 ⎥⎦ ⎢⎣
1

Eq. II-7

Translation

La translation permet de déplacer les points de l’image d’un vecteur constant. Elle
revient à modifier l’origine du système de coordonnées. Ce n’est pas une transformation
linéaire et elle ne peut donc pas être modélisée par une matrice 2x2.
Pour modéliser la translation, on étend les matrices 2x2 à des matrices 3x3 qui
permettent de gérer à la fois les translations, les changements d’échelle et les rotations. On
ajoute une coordonnée au vecteur caractérisant chaque point, généralement 1. Le vecteur
résultant est leLa translation est alors formalisée comme suit :
⎡ x' ⎤ ⎡1 0
⎢ y' ⎥ = ⎢0 1
⎢ ⎥ ⎢
⎢⎣ 1 ⎥⎦ ⎢⎣0 0

2.4.

x0 ⎤ ⎡ x ⎤ ⎡ x + x0 ⎤
y0 ⎥⎥ ⎢⎢ y ⎥⎥ = ⎢⎢ y + y0 ⎥⎥
1 ⎥⎦ ⎢⎣ 1 ⎥⎦ ⎢⎣ 1 ⎥⎦

Eq. II-8

Symétrie axiale (reflexion)

La symétrie par rapport à l’axe y correspond à la transformation qui au vecteur [1,0]
associe le vecteur [-1,0] et au vecteur [0,1] associe le vecteur [0,1]. Ainsi, elle est formalisée
par :
⎡ x' ⎤
⎡− 1 0 0 ⎤ ⎡ x ⎤ ⎡− x ⎤
⎢ y' ⎥ = 1⎢ 0 1 0 ⎥ ⎢ y ⎥ = ⎢ y ⎥
⎢ ⎥

⎥⎢ ⎥ ⎢ ⎥
⎢⎣ 1 ⎥⎦
⎢⎣ 0 0 1⎥⎦ ⎢⎣ 1 ⎥⎦ ⎢⎣ 1 ⎥⎦

Eq. II-9

La symétrie par rapport à l’axe x est tout aussi simple à exprimer…

2.5.

Cisaillement (shear)

Le cisaillement par rapport à l’axe y correspond à un mouvement des points dans la
direction Oy d’une quantité proportionnelle à leur distance par rapport à l’axe :
⎡ x' ⎤ ⎡ 1
⎢ y' ⎥ = ⎢e
⎢ ⎥ ⎢ x
⎢⎣ 1 ⎥⎦ ⎢⎣ 0

0 0⎤ ⎡ x ⎤ ⎡ x ⎤
1 0 ⎥⎥ ⎢⎢ y ⎥⎥ = ⎢ex x + y ⎥



0 1⎥⎦ ⎢⎣ 1 ⎥⎦ ⎣1

Eq. II-10

Dans cette équation, ex est le facteur de proportionalité. Le point [x,y] est situé à la distance x
de l’axe y, et le point se déplace sur l’axe y de la quantité exx. La transformation ne modifie

06/02/2012

- 22 -

Chapitre II : Tranformations géométriques

pas la position des points sur l’axe des x mais étire les points sur l’axe des y (FIG. II-3(a)).
De même, le cisaillement par rapport à l’axe x se formalise ainsi :
⎡ x' ⎤ ⎡1 e y
⎢ y' ⎥ = ⎢0 1
⎢ ⎥ ⎢
⎢⎣ 1 ⎥⎦ ⎢⎣0 0

0⎤ ⎡ x ⎤ ⎡ x + ey y ⎤
0 ⎥⎥ ⎢⎢ y ⎥⎥ = ⎢ y ⎥


1⎥⎦ ⎢⎣ 1 ⎥⎦ ⎣⎢ 1 ⎦⎥

Eq. II-11

Il ne modifie pas les ordonnées mais étire selon l’axe des x.

(a)
(b)
FIG. II-3 : Principe du cisaillement par rapport à y (a) et par rapport à x (b)

La figure suivante donne des exemples sur une image réelle. Dans le dernier exemple
(d), on a appliqué un cisaillement selon les deux axes par :
⎡ x' ⎤ ⎡ 1
⎢ y' ⎥ = ⎢e
⎢ ⎥ ⎢ x
⎢⎣ 1 ⎥⎦ ⎢⎣ 0

(a) image source

2.6.

ey
1
0

0⎤ ⎡ x ⎤ ⎡ x + ey y ⎤
0 ⎥⎥ ⎢⎢ y ⎥⎥ = ⎢ y + ex x ⎥


⎥⎦
1⎥⎦ ⎢⎣ 1 ⎥⎦ ⎢⎣1

Eq. II-12

(b) ex = 0.4
(c) ey = 0.4
FIG. II-4 : Exemples de cisaillements

(d) ex = 0.2, ey = 0.4

Composition de transformations

Définition : un ensemble de vecteurs est orthogonal si toute paire de vecteurs est
formée de vecteurs orthogonaux, i.e. dont le produit scalaire est nul.
Définition : un ensemble de vecteur est orthonormal si il est orthogonal et si tous les
vecteurs ont une norme égale à 1.

06/02/2012

- 23 -

Traitement et Analyse des Images Numériques

Définition : une transformation qui préserve les distances et les angles est une
transformation euclidienne.
Définition : une similitude est une transformation qui préserve les angles et multiplie
les distances par un facteur commun. Ainsi, les formes sont préservées : un carré reste un
carré, un cercle reste un cercle, etc.
Propriété : une transformation affine préserve le parallélisme des droites. Un
cisaillement est une transformation affine, de même qu’un redimensionnement avec des
facteurs d’échelles différents dans les deux directions.
Par exemple, la rotation et la translation sont des transformations euclidiennes. Le
redimensionnement, avec un facteur d’échelle différent de 1 mais commun aux deux axes
préserve les angles mais pas les longueurs. Le cisaillement ne préserve pas les angles ni les
longeurs…
2.6.1. Transformation euclidienne
Les transformations rigides (euclidiennes) sont constituées de translations et de
rotations. Elles préservent l’orthonormalité.
Donnons un exemple simple de composition de transformations : la rotation autour
d’un point O=[x0,y0]. On décompose la transformation en :
- une translation de vecteur [-x0,-y0]., afin de ramener l’origine du repère en O, Eq. II-8,
- une rotation d’angle θ, Eq. II-6, effectuée autour de la nouvelle origine
- une translation de vecteur [x0,y0]., afin de se ramener au repère initial, Eq. II-8.
⎡ x' ⎤ ⎡1 0 ox ⎤ ⎡cos θ
⎢ y' ⎥ = ⎢0 1 o ⎥ ⎢ sin θ
y ⎥⎢
⎢ ⎥ ⎢
⎢⎣ 1 ⎥⎦ ⎢⎣0 0 1 ⎥⎦ ⎢⎣ 0

− sin θ
cos θ
0

0 ⎤ ⎡1 0 − o x ⎤ ⎡ x ⎤
0 ⎥⎥ ⎢⎢0 1 − o y ⎥⎥ ⎢⎢ y ⎥⎥
1⎥⎦ ⎢⎣0 0
1 ⎥⎦ ⎢⎣ 1 ⎥⎦

Eq. II-13

Cette équation s’écrit aussi :
⎡ x' ⎤ ⎡cos θ
⎢ y' ⎥ = ⎢ sin θ
⎢ ⎥ ⎢
⎢⎣ 1 ⎥⎦ ⎢⎣ 0

− sin θ
cos θ
0

x0 + (− x0 cos θ + y0 sin θ )⎤ ⎡ x ⎤
y0 + (− x0 sin θ − y0 cos θ )⎥⎥ ⎢⎢ y ⎥⎥
⎥⎦ ⎢⎣ 1 ⎥⎦
1

Eq. II-14

La forme générale d’une transformation euclidienne est :
⎡ x' ⎤ ⎡cos θ
⎢ y' ⎥ = ⎢ sin θ
⎢ ⎥ ⎢
⎢⎣ 1 ⎥⎦ ⎢⎣ 0

sin θ
cos θ
0

tx ⎤⎡ x⎤
t y ⎥⎥ ⎢⎢ y ⎥⎥
1 ⎥⎦ ⎢⎣ 1 ⎥⎦

Eq. II-15

La matrice a trois degrés de liberté.

06/02/2012

- 24 -

Chapitre II : Tranformations géométriques

2.6.2. Similitude
Une similitude est une composition de translations, de rotations et de facteurs
d’échelle (commun au deux axes).
Une homothétie par rapport à un point qui n’est pas l’origine s’écrit comme la
composition d’une translation, d’une homothetie et d’une translation :
⎧ x' = x0 + λx ( x − x0 )

⎩ y' = y0 + λ y ( y − y0 )
⎡ x' ⎤ ⎡1 0
⎢ y' ⎥ = ⎢0 1
⎢ ⎥ ⎢
⎢⎣ 1 ⎥⎦ ⎢⎣0 0

x0 ⎤ ⎡λx
y0 ⎥⎥ ⎢⎢ 0
1 ⎥⎦ ⎢⎣ 0

0

λy
0

0 ⎤ ⎡1 0 − x0 ⎤ ⎡ x ⎤
0 ⎥⎥ ⎢⎢0 1 − y0 ⎥⎥ ⎢⎢ y ⎥⎥
1⎥⎦ ⎢⎣0 0
1 ⎥⎦ ⎢⎣ 1 ⎥⎦

Eq. II-16

Une équation générale pour représenter une similitude est de la forme :
⎡ x' ⎤ ⎡λ cos θ
⎢ y' ⎥ = ⎢ λ sin θ
⎢ ⎥ ⎢
⎢⎣ 1 ⎥⎦ ⎢⎣ 0

− λ sin θ

λ cos θ
0

x0 ⎤ ⎡ x ⎤
y0 ⎥⎥ ⎢⎢ y ⎥⎥
1 ⎥⎦ ⎢⎣ 1 ⎥⎦

Eq. II-17

Elle nécessite de définir 4 paramètres. La transformation euclidienne s’obtient avec λ=1.
Donnons un exemple de composition : une homothétie par rapport à un point qui n’est
pas l’origine s’écrit comme la composition d’une translation, d’une homothetie par rapport à
l’origine et d’une translation :
⎧ x' = x0 + λx ( x − x0 )

⎩ y' = y0 + λ y ( y − y0 )
⎡ x' ⎤ ⎡1 0
⎢ y' ⎥ = ⎢0 1
⎢ ⎥ ⎢
⎢⎣ 1 ⎥⎦ ⎢⎣0 0

x0 ⎤ ⎡λx
y0 ⎥⎥ ⎢⎢ 0
1 ⎥⎦ ⎢⎣ 0

0

λy
0

0 ⎤ ⎡1 0 − x0 ⎤ ⎡ x ⎤
0 ⎥⎥ ⎢⎢0 1 − y0 ⎥⎥ ⎢⎢ y ⎥⎥
1⎥⎦ ⎢⎣0 0
1 ⎥⎦ ⎢⎣ 1 ⎥⎦

Eq. II-18

2.6.3. Transformation affine
Une transformation affine préserve le plan affine et le parallélisme des droites. Elle est
composée de translations, rotations, symétries, changement d’échelle et de cisaillement. Elle
est définie par 6 paramètres :
⎡ x' ⎤ ⎡ a11
⎢ y' ⎥ = ⎢a
⎢ ⎥ ⎢ 21
⎢⎣ 1 ⎥⎦ ⎢⎣ 0

06/02/2012

a12
a22
0

a13 ⎤ ⎡ x ⎤
a23 ⎥⎥ ⎢⎢ y ⎥⎥
1 ⎥⎦ ⎢⎣ 1 ⎥⎦

Eq. II-19

- 25 -

Traitement et Analyse des Images Numériques

3.

Mises en oeuvre des transformations affines

3.1.

Transformer des images

Les transformations peuvent être appliquées sur les images pour les modifier. Par
exemple, une image numérisée avec un biais pourra être corrigée en appliquant une rotation.
Bien entendu, les coordonnées entières de l’image source résultent en des coordonnées non
entières dans l’image résultat. Ainsi, il faudra mettre en œuvre des techniques d’interpolation.
Un autre exemple est l’application d’un zoom autour d’un clic de souris sur l’image. Etc.
3.1.1. Rotation d’une image
L’idée qui vient à l’esprit est d’appliquer, à partir d’une image source, la
transformation donnée par Eq. II-13 ou Eq. II-14. Mais cette idée n’est pas pertinente car tous
les pixels de l’image résultat ne sont pas nécessairement affectés et il en résulte des trous.
La bonne méthode consiste à parcourir l’image résultat et à rechercher l’antécédent de
chaque point dans l’image source. Les coordonnées trouvées n’étant généralement par
entières, on applique une interpolation avec les voisins. On obtient ainsi la valeur de tous les
pixels de l’image résultat.
Dans le cas général où on applique une rotation de centre [x0,y0] dans l’image source
et que l’on veut le résultat aux coordonnées [x0R,y0R] dans l’image résultat, la rotation s’écrit :
⎡ x' ⎤
⎡ x⎤
⎡1 0
⎢ y' ⎥ = T ⎢ y ⎥ avec T = ⎢0 1
⎢ ⎥
⎢ ⎥

⎢⎣ 1 ⎥⎦
⎢⎣ 1 ⎥⎦
⎢⎣0 0

x0 R ⎤ ⎡cos θ
y0 R ⎥⎥ ⎢⎢ sinθ
1 ⎥⎦ ⎢⎣ 0

− sinθ
cos θ
0

0 ⎤ ⎡1 0 − x0 ⎤
0 ⎥⎥ ⎢⎢0 1 − y0 ⎥⎥
1⎥⎦ ⎢⎣0 0
1 ⎥⎦

Eq. II-20

Soit une image I. L’algorithme ALGO. II-1 permet d’obtenir l’image I’, rotation de I.
La figure FIG. II-5 montre le résultat obtenu en plaçant le centre de la rotation en au centre de
l’image résultat. Dans le cas (b), la taille de l’image résultat est la même que celle de l’image
source. Dans le cas (c), elle a été ajustée pour empêcher les troncatures. Ceci montre qu’il faut
faire attention à la gestion de la taille de l’image résultat et des indices impliqués dans
l’algorithme…

(a) image source

06/02/2012

(b)
FIG. II-5 : Exemples de rotations

- 26 -

(c)

Chapitre II : Tranformations géométriques




Déterminer la taille de l’image résultat et définir la position du centre de la rotation
Pour chaque pixel [i,j] de l’image résultat
T
T
o Calculer l’antécédent de [i,j] par [x y 1] = T −1 [i j 1]

o Calculer la valeur I’(i,j) par interpolation avec le voisinage de (x,y).
Par exemple, pour une interpolation bilinéaire :
x00 = floor(x);y00 = floor(y);
x01 = x00+1;y01 = y00+1;
x10 = x00+1; y10 = y00;
x11 = x00+1; y11 = y00+1;
ex = x-x00;
ey = y-y00;
I’(i,j) = (1-ex)*(1-ey)*I(x00,y00)+(1-ex)*ey*I(x01,y01)+…
… ex*(1-ey)*I(x10,y10)+ex*ey*I(x11,y11)
ALGO. II-1. Transformation d’une image par une rotation

3.1.2. Affine warp
Considérons une image source, dans laquelle on définit 3 points. Le premier,
O=[x0,y0] sert d’origine de repère et les deux autres, P1=[x1,y1] et P2=[x2,y2], définissent avec
le premier deux vecteurs directeur. On souhaite transformer le parallélogramme défini par ces
trois points en une image rectangulaire de taille MxN. La figure FIG. II-7 illustre la
transformation.
On écrit la transformation qui permet de passer de l’image résultat (b) à l’image
source (a) en considérant la transformation inverse des deux vecteurs directeur O’P1’’ et
O’P2’. Tout d’abord, on a une translation de l’origine O’=[0,0] :
⎡ x' ⎤ ⎡ x0 ⎤
⎢ y' ⎥ = ⎢ y ⎥ + ...
⎣ ⎦ ⎣ 0⎦
⎡x − x ⎤
⎡M ⎤
Ensuite le vecteur O' P1' = ⎢ ⎥ se transforme en vecteur OP1 = ⎢ 1 0 ⎥ . D’où :
⎣0 ⎦
⎣ y1 − y0 ⎦
⎡ x ⎤ ⎡ x0 ⎤ x' ⎡ x1 − x0 ⎤
⎢ y ⎥ = ⎢ y ⎥ + m ⎢ y − y ⎥ + ...
⎣ ⎦ ⎣ 0⎦
⎣ 1 0⎦
⎡x − x ⎤
⎡0 ⎤
De même le vecteur O' P2' = ⎢ ⎥ se transforme en vecteur OP2 = ⎢ 2 0 ⎥ :
⎣N ⎦
⎣ y2 − y0 ⎦
⎡ x ⎤ ⎡ x0 ⎤ x' ⎡ x1 − x0 ⎤ y' ⎡ x2 − x0 ⎤
⎢ y⎥ = ⎢ y ⎥ + M ⎢ y − y ⎥ + N ⎢ y − y ⎥
⎣ ⎦ ⎣ 0⎦
0⎦
⎣ 1 0⎦
⎣ 2

Ainsi :
⎡ x ⎤ ⎡ ( x1 − x0 ) / M
⎢ y ⎥ = ⎢( y − y ) / M
⎢ ⎥ ⎢ 1 0
⎢⎣ 1 ⎥⎦ ⎢⎣
0

06/02/2012

(x2 − x0 ) / N
( y2 − y0 ) / N
0

x0 ⎤ ⎡ x' ⎤
y0 ⎥⎥ ⎢⎢ y' ⎥⎥
1 ⎥⎦ ⎢⎣ 1 ⎥⎦

- 27 -

Eq. II-21

Traitement et Analyse des Images Numériques

(a)
(b)
FIG. II-6 : Principe de la transformation « affine warp « : (a) image source et (b) image résultat

Bien noter que l’équation Eq. II-21 donne la position dans l’image source d’un point
de l’image résultat. C’est bien la relation qui est nécessaire pour construire l’image résultat :
pour chaque pixel, on calcule sont antécédent dans l’image source par Eq. II-21.
Généralement, les coordonnées trouvées ne sont pas entières et on doit interpoler pour
déterminer le niveau de gris du pixel. C’est le même principe que pour effectuer une rotation
(3.1.1)

(a)

(b)

(c)
(d)
FIG. II-7 : Affine warp : (a)(c) image source avec les 3 points définissant la transformation,
(c)(d) image résultat (les pixels non définis sont en noir).

Cette méthode a été appliquée pour réaliser les images de la figure FIG. II-7. Dans le
premier exemple (a)(b), la transformation se ramène à un facteur d’échelle et une translation

06/02/2012

- 28 -

Chapitre II : Tranformations géométriques

puisque (x2 − x0 ) = 0 et ( y1 − y0 ) = 0 . Il s’agit donc d’un zoom sur une partie de l’image.
Dans le second exemple, (c)(d), on a également un cisaillement.

3.2.

Mise en correspondance du « monde réel » et de l’image

Prenons le cas classique où une caméra CCD prend l’image d’une scène, supposée
plan, perpendiculairement à ce plan. Les objets de la scène, dans le monde réel ont des
coordonnées qui s’expriment en mètre (par exemple), dans un repère lié au monde réel. Les
objets dans l’image ont des coordonnées qui s’expriment en index (numéro de ligne et numéro
de colonne). Il peut être utile d’exprimer la relation qui lie le repère du monde réel au repère
de l’image. Cette relation peut être exprimée comme la composition d’une rotation, d’un
facteur d’échelle et d’une transation. Notons [xw,yw] les coordonnées dans le monde réel et
[xi,yi] les coordonnées dans l’image. La relation qui lie ces deux représentations est de la
forme :
⎡ xw ⎤ ⎡ 1 0
⎢ y ⎥ = ⎢0 1
⎢ w⎥ ⎢
⎢⎣ 1 ⎥⎦ ⎢⎣0 0

x0 ⎤ ⎡ s 0 0 ⎤ ⎡cos θ
y0 ⎥⎥ ⎢⎢0 s 0 ⎥⎥ ⎢⎢ sin θ
1 ⎥⎦ ⎢⎣0 0 1⎥⎦ ⎢⎣ 0

− sin θ
cos θ
0

0 ⎤ ⎡ xi ⎤
0 ⎥⎥ ⎢⎢ yi ⎥⎥
1⎥⎦ ⎢⎣ 1 ⎥⎦

Eq. II-22

Ce qui revient, après développement à :

xw = xi s cos θ − yi s sin θ + x0
yw = xi s sin θ + yi s cos θ + y0

Eq. II-23

On remarque que cette transformation nécessite la connaissance de 4 paramètres : x0,
y0, s, θ. Généralement, ces paramètres ne sont pas connus a priori. On utilise alors des points
de contrôle, dont on connaît les coordonnées dans le monde réel, pour déterminer les quatres
paramètres. Il suffit pour cela de disposer de deux points de contrôle P1 et P2 dont on connaît
les coordonnées dans les deux systèmes.
Tout d’abord on forme le vecteur P1P2 dans I et on détermine sa direction dans les
deux repères par :

θ i = arctan((i y2 −i y1 ) / (i x2 −i x1 ))
θ w = arctan(( w y2 − w y1 ) / ( w x2 − w x1 ))

Eq. II-24

On obtient alors l’angle de la rotation par :

θ = θ w − θi

Eq. II-25

Il reste donc 3 inconnues à déterminer, ce qui se fait aisément en injectant la valeur
trouvée pour θ dans Eq. II-23, en considérant les deux points. NB : trois équations suffisent.
Cette méthode permet de faire des mesures dans l’image. Elle n’est exacte que si les
coordonnées des trois points considérés sont connues précisément, sans erreur. En pratique,

06/02/2012

- 29 -

Traitement et Analyse des Images Numériques

c’est rarement le cas et on préfèrera mettre en correspondance un nombre supérieur de points
(système sur-déterminé) et rechercher les paramètres de la transformation qui optimisent un
critère. Ce point est abordé dans un contexte plus général dans la section suivante.

3.3.

Recalage par une transformation affine

Supposons que l’on dispose de deux images, dont l’une est la transformation affine de
l’autre. Pour déterminer cette transformation, il faut déterminer les 6 paramètres de Eq. II-19.
En principe, il suffit donc de connaître la position de 3 points dans les deux images et de
résoudre le système d’équation résultant.
En pratique, ce n’est pas aussi simple, car les approximations sur la position des points
vont créer des erreurs sur l’estimation des paramètres. Il est donc plus sûr d’augmenter le
nombre de points et d’estimer les paramètres par minimisation d’une fonction d’erreur.

([x , y ][, u ,v ])

Notons

j

j

j

j

les n paires de matching points dont nous disposons.

j =1 ,..,n

D’après Eq. II-19 :
⎡u j ⎤ ⎡ a11
∀j ∈ [1, n], ⎢⎢ v j ⎥⎥ = ⎢⎢a21
⎢⎣ 1 ⎥⎦ ⎢⎣ 0

a13 ⎤ ⎡ x j ⎤
a23 ⎥⎥ ⎢⎢ y j ⎥⎥
1 ⎥⎦ ⎢⎣ 1 ⎥⎦

a12
a22
0

Eq. II-26

La fonction d’erreur peut être (critère des moindres carrés) :

ε (a11 , a12 , a13 , a21 , a22 , a23 ) =

∑ [(a
n

j =1

x j + a12 y j + a13 − u j ) + (a21 x j + a22 y j + a23 − v j )
2

11

2

]

Eq. II-27

Pour minimiser ε, on calcule les dérivées partielles par rapport aux six variables
∂ε ∂aij et on les met à zéro. On obtient 6 équations représentées sous forme matricielle par :
⎡ ∑ x j2
⎢ j
⎢ x y
j j
⎢∑
j

⎢ ∑ xj
⎢ j
⎢ 0

⎢ 0

⎢ 0



∑x y ∑x
∑y ∑y
∑ y ∑1
j

j

j

j

0

0

j

0

0

0

0

j

2

j

j

j

j

j

j

0

0

∑x ∑x y
∑x y ∑ y
∑x ∑y
2

j

j

j

0

0

0

0

j

2

j

j

j

j

j

j

j

j

j

j

0 ⎤
⎡∑ u j x j ⎤

⎢ j



a


0
uj yj ⎥
11
⎥ ⎢ ⎥ ⎢∑

j
⎥ ⎢ a12 ⎥ ⎢
0 ⎥
uj ⎥

⎢ a13 ⎥ ⎢ ∑
⎥⎢ ⎥ = ⎢ j

∑j x j ⎥ ⎢a21 ⎥ ⎢ ∑j v j x j ⎥
⎥ ⎢a ⎥ ⎢

∑j y j ⎥⎥ ⎢⎢a22 ⎥⎥ ⎢⎢∑j v j y j ⎥⎥
⎣ 23 ⎦

⎢ ∑vj ⎥
1
∑j ⎥
⎢⎣ j
⎥⎦


Eq. II-28

L’inversion de ce système donne le résultat.
Prenons l’exemple d’une image aerienne prise sous deux angles différents (FIG. II-8).
La seconde image (b) est une transformation affine de la première (a), et on veut calculer les 6

06/02/2012

- 30 -

Chapitre II : Tranformations géométriques

paramètres de cette transformation. Pour cela, on détermine, manuellement ou
automatiquement (c’est plus difficile !) des points de correspondance. On choisit des points
caractéristiques comme des coins, des croisements, etc. Ces points sont matérialisés sur la
figure par des croix rouges.

(a) image « im1 » et points (xj,yj)
(b) image « im2 » et points (uj,vj)
FIG. II-8 : Mise en correspondance de points caractéristiques pour le recalage

On a les correspondances suivantes :
Im1 : (xj,yj)
61
126
241
199
75
341
124
20
122
192
286
92
252
328
131
345
274
40
20
249

Im2 : (uj,vj)
141
121
327
215
90
291
247
53
191
185
412
142
299
317
154
305
414
99
55
208

On injecte ces valeurs dans Eq. II-28 en calculant la matrice nxn de gauche et le
vecteur colonne à droite du signe =. Puis on inverse l’équation pour déterminer le vecteur
colonne
des
paramètres
cherchés.
Dans
notre
exemple,
on
trouve
a11 = 1.16 , a12 = −0.31, a13 = 109.21, a21 = 0.21, a22 = 0.77 , a23 = 11.47 . Pour vérifier ce
résultat, nous pouvons appliquer à la seconde image (b) la transformation de matrice :

06/02/2012

- 31 -

Traitement et Analyse des Images Numériques
−1

⎡ a11 a12 a13 ⎤
inv( A) = ⎢⎢a21 a22 a23 ⎥⎥
⎢⎣ 0
0
1 ⎥⎦
Cela revient à créer une nouvelle image, et pour chaque pixel de cette image, à rechercher
sont antécédent par la transformée donnée par A.

(b) image reconstruite par la transformation A-1 à
partir de im2
FIG. II-9 : Reconstruction de l’image 1 à partir de l’image 2, après estimation des paramètres de la
transformation affine qui lie les deux images
(a) image source im1

La figure FIG. II-9 montre le résultat obtenu (b), à comparer avec l’image initiale (a)
(celle de FIG. II-8(a)). Cela se passe bien apparemment, à par un léger flou dû à
l’interpolation et sans doute quelques erreurs d’approximation (les points de contrôles de
l’image im2 ne sont pas sensés être entiers). Dans notre exemple, nous avons estimé ces
points de contrôle de manière extrêment précise1. Moins le matching est précis, moins
l’estimation de la transformation l’est !
Il y a d’autres moyens de déterminer la transformation affine : par maximisation de
l’entropie mutuelle par exemple.

4.

Transformations projectives
Les transformations projectives de l’espace 2D sont définies par 9 paramètres :

1

En trichant car nous avons-nous même créé la transformation qui permet de passer de im1 à im2, ce
qui nous a permis d’appliquer la transformation aux points de contrôle de im1 pour déterminer leur position dans
im2 et d’arrondir le résultat à l’entier le plus proche…

06/02/2012

- 32 -

Chapitre II : Tranformations géométriques

⎡ x' ⎤ ⎡ h11
⎢ y' ⎥ = ⎢h
⎢ ⎥ ⎢ 21
⎢⎣ t' ⎥⎦ ⎢⎣h31

h12
h22
h32

h13 ⎤ ⎡ x ⎤
h23 ⎥⎥ ⎢⎢ y ⎥⎥
h33 ⎥⎦ ⎢⎣ 1 ⎥⎦

Eq. II-29

L’équation précédente fait intervenir 9 variables, mais en fait 8 d’entre elles sont
indépendantes. En principe, il suffit de mettre en correspondance 4 points pour les estimer. En
pratique, on prend d’avantage de paires (système sur-déterminé) et on minimise un critère aux
moindres carrés.

5.

Transformations non rigides

On peut aussi définir des transformations non rigides. Elles peuvent servir à rendre
Picsou plus souriant par un traitement de morphing… Ou plus sérieusement, elles sont
utilisées en imagerie médicale pour recalage d’organes non rigides comme les poumons.

06/02/2012

- 33 -

Traitement et Analyse des Images Numériques

06/02/2012

- 34 -

Chapitre III
Outils de traitement d’image

Ce chapitre présente des outils fréquemment utilisés en traitement et analyse d’image :
histogrammes et profils, transformée de Fourier et filtrage, filtres de convolution spatiale.

1.

Histogrammes

L’histogramme d’une image montre la répartition statistique des différentes valeurs
des pixels de l’image. Il permet essentiellement de caractériser son contraste et sa lisibilité.
Représentons l’image par une fonction à deux dimensions : f(x,y) indique le niveau de
gris du pixel de coordonnées (x,y) dans l’image. f(x,y) peut prendre un certain nombre de
valeurs discrètes i (ex i ∈ [0 ,255] pour un pixel codé sur un octet). Soient H la hauteur de
l’image et W sa largeur.
Soit H(i) le nombre de pixels prenant la valeur i. L’histogramme est la représentation
des H(i) en fonction du niveau de gris i :
H (i ) = Card {( x , y ) / f ( x , y ) = i}

Eq. III-1

L’histogramme d’une image caractérise essentiellement son contraste et sa lisibilité
dans les parties claires et sombres (FIG. III-1).
Si on divise H(i) par H.W, le nombre total de pixels dans l’image, on voit que chaque
h(i) = H(i) / (HW) représente la probabilité pour un pixel d’avoir le niveau i dans cette image.
h(i ) = Card {( x , y ) / f ( x , y ) = i} /( HW )

- 35 -

Eq. III-2

Traitement et Analyse des Images Numériques

Image bien contrastée

Image peu contrastée

FIG. III-1. Exemples d’histogrammes.

2.

Profils

L’histogramme contient des informations globales. Le profil permet d’obtenir des
informations telles que le positionnement ou la taille d’un objet dans l’image, par projection
de l’image sur l’axe horizontal ou vertical.
Soit une image f(x,y) de dimension LxH. On définit les profils cumulés par :

p( x0 ) =

p( y0 ) =

H −1

∑ f ( x0 , y

y =0

), 0 ≤ x0 < L

Eq. III-3

L −1

∑ f ( x , y0 ), 0 ≤ y0 < H

Eq. III-4

x =0

On peut également calculer des profils non cumulés : il s’agit alors de la répartition
des niveaux de gris suivant une ligne ou une colonne fixée. La figure FIG. III-2 montre des
exemples de profils superposés à l’image analysée.

Image source

3.

Profil vertical cumulé

Profil vertical suivant
une colonne
FIG. III-2. Exemples de profils.

Profil horizontal
suivant une ligne

Transformée de Fourier

Une image est représentée par une fonction discrète de deux variables. Chaque pixel
d’une image NxN est en effet déterminé par son abscisse x (valeurs entières de 0 à N-1) et son
ordonnée y (valeurs entières de 0 à N-1) et sa valeur f(x,y). On définit alors la transformation
de Fourier discrète à deux dimensions :

06/02/2012

- 36 -

Chapitre III : Outils de traitement d’images

1
F ( u ,v ) =
N

N −1 N −1

∑∑

2π ( xu + yv ) j
N
f ( x , y )e


Eq. III-5

x =0 y =0

pour u et v variant de 0 à N-1. Remarquons que F(u,v) est un nombre complexe.
La transformée de Fourier inverse s’obtient par :
1
f ( x, y ) =
N

2π ( xu + yv) j
N
∑∑ F (u, v)e
+

N −1 N −1

Eq. III-6

u =0 v =0

La transformée de Fourier possède des propriétés intéressantes :
Prop 1. Elle est séparable :

1
F ( u ,v ) =
N
1
=
N

2π ( xu + yv ) j
N
∑ ∑ f ( x , y )e

N −1 N −1



x =0 y =0

2π ( xu ) j
2π ( yv ) j

N −1
N
N
∑e
∑ f ( x , y )e

N −1



x =0

y =0

2π ( xu ) j
2π ( yv) j ⎤


N −1


1
N
N
avec F ( x, v) = N ⎢ ∑ f ( x, y )e


⎢ N y =0


On peut donc commencer par effectuer une transformée de Fourier 1D sur les lignes (x fixé)
suivi d’une deuxième transformée de Fourier 1D sur le signal F(x,v) obtenu.

1 N −1
F (u , v) = ∑ F ( x, v)e
N x =0

Prop 2. La transformée de Fourier est périodique de période N sur chacun des deux axes :
F (u , v ) = F (u + N , v ) = F (u , v + N ) = F (u + N , v + N )

Eq. III-7

Prop 3. Propriétés de translation et de conjugaison.
L’image est constituée de coefficients réels. On a donc F (u , v ) = F * (− u,−v ) et par conséquent
F (u , v ) = F (− u ,−v ) .

Considérons pour le moment un signal f(x) de dimension 1. Supposons que ce signal est réel.
Alors, d’après ce qui précède : F (u ) = F (u + N ) et F (u ) = F (− u ) , et le spectre, en module, a
la forme indiquée en figure FIG. III-3.
On constate la périodicité du module de la FFT et la symétrie verticale par rapport à
N/2. La transformée de Fourier donne le résultat pour les index 0 à N-1. Or on souhaiterait
plutôt avoir la période –N/2, N/2. Pour cela, il suffit de calculer la transformée de Fourier, non
pas de f(x), mais de la fonction (-1 ) x f(x) . En effet, puisque u est une valeur entière comprise
entre 0 et N-1:

06/02/2012

- 37 -

Traitement et Analyse des Images Numériques

FIG. III-3. Transformée de Fourier d’un signal réel.
N⎞

2πjx ⎜ u − ⎟
2⎠

N

N⎞ 1

F⎜u − ⎟ =
2⎠ N


N −1



f ( x )e

1
N

N −1

∑ f ( x )e



2πjxu
N

1
=
N

N −1



2πjxu
N

1
=
N

N −1

=



x =0

e

⎛N⎞
2πjx ⎜ ⎟
⎝ 2⎠
N

x =0

∑ f ( x )e

e jπx

x =0

∑ (− 1)

x

f ( x )e



2πjxu
N

x =0

{

}

N⎞

x
F ⎜ u − ⎟ = TF (− 1) f ( x )
2⎠


En 2D, on recentre aussi la Transformée de Fourier pour obtenir un résultat plus interprétable:

FIG. III-4. Centrage de la transformée de Fourier.

Ceci ce fait très simplement en calculant, non pas directement la transformée de Fourier de
f(x,y), mais, par généralisation du résultat précédent, en calculant la transformée de Fourier de
la fonction (-1)x+yf(x,y). La figure ci dessous montre une image originale f(x,y), le module de
la transformée de Fourier F(u,v), et le module de la transformée de Fourier recentrée, obtenue
directement par calcul de la transformée de Fourier de (-1)x+yf(x,y). L’intensité de chaque
pixel est une fonction croissante de l’amplitude de chaque coefficient F(u,v).
La dynamique des coefficients F(u,v) est très différente de celle de l’image de départ.
D’autre part, le maximum d’énergie est dans les basses fréquences (au centre de l’image), et
décroît très vite si bien qu’il y a très peu de contraste. Pour améliorer la lisibilité du résultat,
on préfère afficher non pas directement le module |F(u,v)| de la FFT, mais k log (1 + F ( u ,v ) ) ,

06/02/2012

- 38 -

Chapitre III : Outils de traitement d’images

le facteur k étant choisi pour optimiser la dynamique. La figure FIG. III-6 montre un
exemple.

Image source

Transformée de Fourier

Transformée de Fourier centrée

FIG. III-5. Module de la transformée de Fourier d’une image.

k log (1 + F ( u ,v ) )

F (u ,v )

FIG. III-6 : Module de la transformée de Fourier.

4.

Filtrage dans le domaine fréquentiel

4.1.

Principe

Filtrer consiste à éliminer ou à réduire certaines fréquences du spectre. Par exemple,
multiplier terme à terme le spectre F(u,v) de l’image par la fonction H(u,v) définie par :
H (u ,v ) = 0 pour |u| > u0 et |v| > v0 est une opération de filtrage passe-bas.
4.1.1. Exemples de filtres passe-bas :

Filtre Passe-bas circulaire parfait (FIG. III-7) :

H ( u , v ) = 0 pour r = u 2 + v 2 > R0

Filtre passe-bas de Butterworth :

H ( u ,v ) =

Filtre passe-bas gaussien :

06/02/2012

H ( u , v ) = 1 sinon

H ( u ,v ) = e

- 39 -

1
⎛ r ⎞
1 + ⎜⎜ ⎟⎟
⎝ R0 ⎠


2n

avec r = u 2 + v 2

r2
2σ 2

avec r = u 2 + v 2

Traitement et Analyse des Images Numériques

Représentation en 3D ‘1’ sur les axes u et v représente la demi
fréquence d’échantillonnage

Représentation en 2D : le noir représente la
valeur 0, le blanc la valeur 1

FIG. III-7. Filtre passe-bas circulaire.

4.1.2. Filtres passe-haut et passe-bande :

Pour les filtres passe-haut, on remplace

R
r
par 0 . Les filtres passe-bande sont en
R0
r

général des combinaisons d’un passe-bas et d’un passe-haut.

4.2.

Opération de filtrage

Soit le filtre de fonction de transfert H(u,v) appliqué à l’image f(x,y) de transformée de
Fourier F(u,v). On obtient l’image filtrée g(x,y) en effectuant le produit de la transformée de
Fourier de l’image source avec le fonction de transfert du filtre, et en calculant la transformée
de Fourier inverse du résultat :
F ( u ,v ) = TF { f ( x , y )}
g ( x , y ) = TF

−1

Eq. III-8

{H(u,v)F(u,v)}

Notons que le produit H(u,v)F(u,v) est une multiplication terme à terme effectuée pour chaque
couple de fréquences (u,v). Il ne s’agit pas d’une multiplication matricielle ! Notons
également que l’on travaille sur des valeurs discrètes de u et de v et que les matrices H(u,v) et
F(u,v) doivent avoir les mêmes dimensions.
La transformation réalisée (Eq. III-8) correspond à une convolution spatiale :

g( x , y ) =

N −1 N −1

1
N

2

h( x , y ) = TF

∑ ∑ h( i ,k ) f ( x − i , y − k )

Eq. III-9

i =0 k =0
−1

{H ( u ,v )}

L’intérêt principal du filtrage par TFD réside dans la possibilité de modeler
précisément le spectre. Il est notamment utilisé en réhaussement et en restauration d’images.
Les figures FIG. III-8 et FIG. III-9 montrent des exemples de filtrages passe-bas et passehaut.

06/02/2012

- 40 -

Chapitre III : Outils de traitement d’images

4.3.

Synthèse des filtres

Comme dans le cas du filtrage d’un signal mono-dimensionnel, on distingue les filtres
RIF à réponse impulsionnelle finie et les filtres RII à réponse impulsionnelle infinie. Les
filtres RII ne sont pas très utilisés, à cause de leur problème de stabilité. On préfère donc
réaliser des filtres RIF, qui sont de plus très simples à synthétiser. La méthode de synthèse est
analogue à celles mises en œuvre pour les filtres RIF à une dimension : on étend les principes
au cas 2D. L’autre avantage des filtres RIF est la possibilité des créer des filtres à phase
linéaire, ce qui permet de limiter les distorsions.

Image source

Filtre passe-bas (fc =0.5)

Filtre passe-bas (fc=0.2)

FIG. III-8. Exemples de filtrages passe-bas (1 représente ici la demi fréquence d’échantillonnage)

Image source

Filtre passe-haut (fc =0.5)

FIG. III-9. Exemples de filtrages passe-haut

06/02/2012

- 41 -

Filtre passe-haut (fc=0.2)

Traitement et Analyse des Images Numériques

4.3.1. Méthode directe ou développement en série de Fourier

Supposons la réponse en fréquence H(u,v) du filtre connue. Cette fonction est définie
pour toutes les fréquences normalisées comprises entre -0.5 à 0.5 et est périodique de période
1 (filtre numérique). On peut donc la décomposer en série de Fourier :
+∞

H (u ,v ) =

+∞

∑ ∑ h(k ,l )e

− 2πj ( ku + lv )

Eq. III-10

k = −∞ l = −∞

avec :
h(k ,l ) = ∫

0.5



0.5

− 0.5 − 0.5

H ( u ,v )e 2πj (ku + lv )dudv

Eq. III-11

h est la réponse impulsionnelle du filtre. Dans le cas général, cette réponse impusionnelle est
infinie, et il faudra donc la tronquer (fenêtrage). La réponse en fréquence ne sera donc pas
identique à celle souhaitée : elle présentera des oscillations, qui peuvent être limitées par
fenêtrage.
4.3.2. Echantillonnage de la réponse en fréquence

Le principe est de définir les valeurs de la réponse en fréquence Hd sur une grille
discrète de NxN points et d’en déduire la réponse impulsionnelle h du filtre en calculant la
transformée de Fourier discrète inverse de Hd.
h(k ,l ) =

1
∑∑ H d (m ,n ) e2πj (km + ln )
N m n

Eq. III-12

La figure FIG. III-10 illustre le procédé pour un filtre circulaire idéal échantillonné sur
une grille de 11x11 points et 51*51 points. On voit l’influence de l’ordre : dans les deux cas,
la réponse en fréquence passe par les points définis sur la grille d’échantillonnage, mais les
oscillations entre ces points sont différentes, ainsi que la raideur. Pour limiter les oscillations,
on peut appliquer un fenêtrage.

5.

Filtre de convolution

Pour introduire le principe des noyaux de convolution spatiale, prenons le cas des
signaux mono-dimensionnels. Le filtrage le plus simple consiste à dériver le signal (passehaut) ou à l'intégrer (passe-bas).
Si on considère une ligne d'image p(0) p(1) ... p(i) comme représentant un signal
discret à une dimension, la valeur de la dérivée en i est proportionnelle à [p(i+1)-p(i-1)].
Cette opération peut être représentée par le tableau [-1 0 1] appelé NOYAU. On déplace ce
noyau le long de la ligne et, s'il est centré en i, on remplace p(i) par :

(− 1) p(i − 1) + (0 ) p(i ) + (1) p(i + 1)

Eq. III-13

On dit que l'on a effectué une convolution de noyau [-1 0 1].

06/02/2012

- 42 -

Chapitre III : Outils de traitement d’images

De même l'intégrale s'obtient en faisant une convolution de noyau [1 1 1].
⎡a ⎤
Le procédé s'applique aussi sur les colonnes de l'image avec des noyaux du type ⎢⎢b ⎥⎥ .
⎢⎣ c ⎥⎦

Echantillonnage sur une grille de 11*11 points

Réponse en fréquence du filtre d’ordre 11

Echantillonnage sur une grille de 51x51 points

Réponse en fréquence du filtre d’ordre 51

Comparaison de la réponse en fréquence obtenue en fonction de l’ordre
FIG. III-10. Synthèse par la méthode de l’échantillonnage de la réponse en fréquence

06/02/2012

- 43 -

Traitement et Analyse des Images Numériques

On peut généraliser cette opération en considérant des noyaux à deux dimensions, ce
qui donne la convolution spatiale. Les noyaux sont en général choisis carrés et de taille
impaire (pour faciliter le "centrage"), par exemple 3x3:

h(1,1)
h(2,1)
h(3,1)

h(1,2)
h(2,2)
h(3,2)

h(l,3)
h(2,3)
h(3,3)

Considérons l’image p et le voisinage du pixel de coordonnées (i,j) :

P(i-1,j-1)
p(i,j-1)
P(i+1,j-1)

p(i-1,j)
p(i,j)
p(i+1,j)

p(i-1,j+1)
P(i,j+1)
p(i+1,j+1)

Le pixel central (i,j) devient après convolution spatiale :
p’(I,j) = h(1,1)p(i-1,j-1) + h(1,2)p(i-1,j) + h(1,3)p(i-1,j+1)
+ h(2,1)p(i,j-1) + h(2,2)p(i,j) + h(2,3)p(i,j+1)
+ h(3,l)p(i+1,j-1) + h(3,2)p(i+1,j) + h(3,3)p(i+1,j+1)
soit encore :
3

3

p' (i , j ) = ∑∑ h( k ,m ) p( i + k − 2 , j + m − 2 )

Eq. III-14

k =1 m =1

En prenant le centre du noyau de convolution comme origine, l’équation précédente devient :

p' (i , j ) =

+1

+1

∑ ∑ h( k ,m ) p( i + k , j + m )

Eq. III-15

k = −1m = −1

Bien noter que la convolution spatiale n'est pas un produit matriciel mais un produit
scalaire. Il s’agit donc en fait d’une corrélation entre l’image et le masque. Cependant, comme
les coefficients sont généralement symétriques par rapport au centre du noyau, cela revient
dans ce cas à une convolution.
Cette opération peut amener des débordements: si les p(i,j) sont sur 8 bits, le résultat
ne l'est pas nécessairement. On est donc amené à normer le résultat, par exemple en le
divisant par la somme des h(i,j). Dans le cas où il y a des h(i,j) négatifs on peut, soit diviser
par la somme des valeurs absolues des h(i,j), soit diviser par la somme des h(i,j) si celle-ci est
non nulle et par 1 si cette somme est nulle.

La figure FIG. III-11 montre quelques noyaux 3x3
usuels appliqués à l’image « caméraman » :

06/02/2012

- 44 -

Chapitre III : Outils de traitement d’images

Moyennage (lissage) :
⎛1 / 9 1 / 9 1 / 9 ⎞


h = ⎜1 / 9 1 / 9 1 / 9 ⎟
⎜1 / 9 1 / 9 1 / 9 ⎟



(a)

Dérivée suivant x (imy)
⎛ − 1 − 1 − 1⎞


h=⎜ 0
0
0 ⎟
⎜ 1
1
1 ⎟⎠


(b)

Dérivée suivant y (imy)
⎛ − 1 0 1⎞


h = ⎜ − 1 0 1⎟
⎜ − 1 0 1⎟



(c)

(d)

Module de l’image du gradient

Laplacien :
⎛ − 1 − 1 − 1⎞


h = ⎜ − 1 8 − 1⎟
⎜ − 1 − 1 − 1⎟



(e)

Réhaussement :
⎛ − 1 − 1 − 1⎞

1⎜
h = ⎜ − 1 w − 1⎟
k⎜

⎝ − 1 − 1 − 1⎠

(f)

FIG. III-11 : Exemples de filtrages par convolution spatiale

06/02/2012

- 45 -

Traitement et Analyse des Images Numériques

On voit sur ces exemples que les noyaux moyenneurs (a) ont une fonction de lissage.
Ils pourront par exemple servir de réducteurs de bruit. Les noyaux dérivateurs (b)(c)(e)
détectent les fortes transitions de niveau de gris. Ils auront plutôt une fonction d’extracteur de
contours.
Soient imx et imy les deux images obtenues par dérivation horizontale et verticale
(b)(c). Le module du gradient img (d) est obtenu simplement par :

∀( x , y ),img( x , y ) = imx( x , y )2 + imy( x , y )2

Eq. III-16

Le Laplacien (e) réalise une dérivation au second ordre (voir le Chapitre V sur la
segmentation par extraction de contours). Si on ajoute à cette image une proportion variable
de l’image source, en remplaçant le coefficient central par w = 9 A − 1 avec A ≥ 1 , alors on
crée une image dont on a renforcé les contours (f). Le facteur K permet de calibrer
correctement l’image résultat.

06/02/2012

- 46 -

Chapitre IV
Réhaussement – Restauration

Donnons tout d’abord les définitions du réhaussement et de la restauration d’images :
- Réhaussement d'images : ensemble des méthodes qui modifient l'apparence d'une
image, de manière à faciliter l'extraction d'une information.
- Restauration d'images : ensemble de méthodes développées permettant de
compenser les dégradations connues ou estimées de l'image, et de rétablir la qualité
initiale.

1.

Réhaussement

Les méthodes utilisées sont de plusieurs types et peuvent être combinées entre elles.
Généralement, la méthode employée est spécifique de l’application. Il y a essentiellement
deux grandes catégories de méthodes : les méthodes spatiales qui manipulent les pixels, en
modifiant l’histogramme ou en appliquant des filtres, et les méthodes fréquentielles qui
modifient la transformée de Fourier de l’image traitée.

1.1.

Traitements sur histogrammes

1.1.1. Calibration

Un certain nombre d’opérations peut être effectué sur l’histogramme, permettant
d’améliorer la lisibilité de l’image. Considérons une image en niveau de gris peu contrastée.
Typiquement, son histogramme va occuper peu de niveaux de gris. L’idée est tout simplement
d’appliquer sur chaque pixel la transformation de calibration :

T ( i ) = a.i + b

Eq. IV-1

- 47 -

Traitement et Analyse des Images Numériques

où i représente le niveau de gris du pixel, a et b des constantes choisies afin d’occuper sur
l’image résultat le maximum de la dynamique (FIG. IV-1).
1.1.2. Egalisation

L’égalisation d’histogramme permet d’augmenter le contraste de l’image en
aboutissant à une équirépartition de tous les niveaux de gris (histogramme final plat). La
transformation est la suivante :
i

T( i ) = ∑
j =0

pj
Eq. IV-2

n

pj représentant les valeurs de l’histogramme de l’image source (nombre de pixels ayant le
niveau de gris j dans l’image, Chapitre III paragraphe 1), et n le nombre total de pixels dans
l’image.

Min =97
Max =160
Moyenne =120.45
Variance = 23.11

Image peu contrastée

histogramme

Transformation appliquée :

T ( i ) = 4 * ( i − 97 )
Min =0
Max =252
Moyenne =88.83
Variance = 80.89

Image calibrée

histogramme

Image égalisée

histogramme
FIG. IV-1 : Réhaussement par traitements sur histogramme

Démonstration (cas continu) :
Soit r la variable représentant le niveau de gris dans l’image source, r=0 représentant le

06/02/2012

- 48 -

Chapitre IV : Réhaussement - Restauration

niveau noir, r=1 le blanc et pr(r) la densité de probabilité de cette variable aléatoire.
Recherchons la transformation s=f(r) qui transforme le niveau de gris r en niveau de gris s
dans l’image résultat réhaussée, telle que :
• f est une fonction croissante monotone (conserve l’ordre des niveaux de gris)
• ps(s) = 1 : la densité de probabilité du niveau s est constante.
ds
f est une fonction croissante monotone, donc : pr ( r ) = ps ( s )
dr s= f ( r )
r

Soit la fonction f définie par s = f ( r ) = ∫ pr ( x )dx
0

r

ds d ∫0 pr ( x )dx
=
= pr ( r )
dr
dr
d’où ps ( s ) = 1

alors

pj / n représentant la probabilité d’avoir le niveau de gris j dans l’image, on voit que la
transformation T proposée est l’équivalent discret de la transformation f de la démonstration.
Sur l’exemple de la figure précédente, on constate les effets de l’égalisation. L’histogramme
obtenu n’est pas parfaitement plat car nous sommes dans le cas discret. Notons que cette
transformation, contrairement à la calibration n’est pas linéaire, et que l’aspect de l’image
obtenue est très différent de l’aspect initial.
Enfin, ces deux types de transformation peuvent être appliquées localement, c’est à
dire sur un voisinage de chaque pixel. Ceci nécessite de calculer l’histogramme local de
chaque pixel, d’en déduire la transformation T locale, et de l’appliquer sur le pixel. L’intérêt
est de mettre en évidence de fins détails qui ne pourraient apparaître par la transformation
globale de toute l’image.

1.2.

Filtrage spatial

1.2.1. Filtre de convolution

Plusieurs types de filtrage peuvent être appliqués (Chapitre III paragraphe 5), en
fonction de l’action voulue, généralement réduire le bruit ou rehausser des contours ou des
détails de l’image (deux opérations difficilement conciliables !).
Pour filtrer le bruit, on applique un filtre de lissage. Par exemple, on convolue l’image
avec le masque
⎛ 1 1 1⎞

1⎜
⎜ 1 1 1⎟
9⎜

⎝ 1 1 1⎠
Le problème est que ce traitement génère également du flou et donc provoque une
délocalisation des contours. Ceci est d’autant plus sensible que l’on choisit un masque de
grande taille.
Pour réhausser des contours, on peut additionner l’image avec une image de contour.
Mais attention à ne pas augmenter le bruit de l‘image ! Par exemple, on peut utiliser le

06/02/2012

- 49 -



Documents similaires


corrige4
tnimages 2012 vol1 v2
tnimages 2012 vol2 v1
tnimages 2012 vol3 v1
exercice4
tuto etude suspension avec accelerometre de smarthphone


Sur le même sujet..