You are on page 1of 37

Université Virtuelle de Tunis

Cours Master IASRIA

Traitement d’Image et
Reconnaissance de Formes

Transformations d’Images
AFEF ELLOUMI OUESLATI

Année Universitaire 2021-2022


PLAN
1
Introduction

2
Transformations ponctuelles

3
Transformations de voisinage

4
Transformations spectrales
Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Introduction
• Une scène est un grande quantité d’informations dont il faut extraire
l’information utile
Il faut soumettre l’image à des transformations
Image Image
source
Transformation 1 Résultat

Image
source 1

Image Image
source 2
Transformation 2 Résultat

Image
source 3

• Les transformations sont classées de la manière suivante:


• Transformations ponctuelles
• Transformations de voisinage
• Transformations morphologiques
• Transformations spectrales

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes 3


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations ponctuelles
• Pour ces transformations, la nouvelle valeur d’un pixel dépend uniquement de
son ancienne valeur

• m’(i,j)=f1(m(i,j)) ou
• m’(i,j)=f2(m1(i,j),m2(i,j))

• Ces transformations peuvent être réalisées avec :

• Les opérations arithmétiques : addition, soustraction, multiplication, division


par
• une constante
• ou avec une autre image

• Les opérations logiques: OU, ET, NON, ……


• une constante
• ou avec une autre image

• Les anamorphoses : l’application d’ un log ou d’une exponentielle.

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes 4


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations ponctuelles
• Remarque 1 :
1 1 1
• Soit l’exemple suivant : M= 0 1 0 +5
1 0 0

• Cette transformation est une addition entre matrice et un scalaire


• Elle se fait point par point
• Le nombre d’opération (fait par la machine) est égal à 9 qui est la valeur de la
résolution spatiale
• Le nombre réel d’opération est 2 (0+5 et 1+5) et donc il dépend réellement de la
résolution colorimétrique

Opter pour une solution judicieuse et plus optimale


• Faire uniquement 2 opérations d’addition et mettre dans une table de
0 5
correspondance 1 +5 = 6
• Le reste des opérations sont de simples affectations
C’est ce que nous faisons nous réellement

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes 5


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations ponctuelles
• Remarque 2 :
1 1 1
• On reprend le même exemple : M= 0 1 0 +5
1 0 0

• Quelle est la résolution colorimétrique de la matrice initiale?


• Chaque pixel est codé sur 1 bit

• Quelle est la résolution colorimétrique de la matrice M après l’addition ?


• Chaque pixel doit être codé sur 3 bits (car valeur max 6)

• Il y a un problème de dépassement de capacité car au départ


on a réservé 1 bit

Solution:
• Il faut remettre les valeurs dans l’intervalle
• On peut utiliser une simple division sur le nombre total de pixels
Opération de normalisation

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes 6


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations ponctuelles
• Exemples:
• addition : superposition de deux images ImR1=Im1+Im2

Im1 Im2

• Logique : masquage avec (Et et Ou)


ImR2=Et(Im1,M) ImR3=Ou(Im1,M)

Im1 M

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes 7


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations de voisinage
• Dans ces transformations la nouvelle valeur d’un pixel dépend des anciennes
valeurs du pixel et de ses voisins

• Exemple le calcul d’une moyenne est une transformation de voisinage


• Si on veut calculer la moyenne de 9 pixels comment on fait ?
• on fait la somme de tous les pixels sur 9

On a V= (P1+P2+P3+P4+P5+P6+P7+P8+P9)/9

• On doit utiliser une matrice

1 1 1
1/9. 1 1 1
1 1 1

• Cette transformation de voisinage est linéaire donc


• On doit faire un produit de convolution entre l’image et la matrice de la
transformation

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes 8


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations de voisinage
• Dans ces transformations la nouvelle valeur d’un pixel dépend des anciennes
valeurs du pixel et de ses voisins donc il faut définir le voisinage

• Exemple de voisinages
V2 V3 V4 V5 V9

1
𝟏
V2
1 0 1 1 0 1 0 1 1 1
𝟏 1 𝟏 1 𝟏 1 1 𝟏 1 1 𝟏 1
0 1 0 1 1 1

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes 9


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations de voisinage
• Dans ces transformations la nouvelle valeur d’un pixel dépend des anciennes
valeurs du pixel et de ses voisins.

• Quand cette transformation est linéaire , on procède par produit de


convolution entre l’image et la matrice de la transformation

• Produit de convolution
 On rappelle que :
 Le produit de convolution est la réponse d’un système à une excitation
donnée (h(t) est la réponse impulsionnelle)
x(t) y(t)
h(t)
La procédure :
On prend le symétrique d’un signal qu’on décale par rapport à l’autre et
on mesure leur similitude (l’aire commune) en fonction du décalage

C’est le même principe pour l’image (signal 2D)

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes10


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations de voisinage
Produit de convolution
• On rappelle pour le signal 1D et on passe à 2D
• Cas 1D continu +∞
𝑦 𝑡 = 𝑥 𝑡 ∗ ℎ 𝑡 = න 𝑥 −𝑢 + 𝑡 ℎ 𝑢 𝑑𝑢
• Cas 1D discret −∞
𝑁−1
1
𝑦 𝑛 =𝑥 𝑛 ∗ℎ 𝑛 = ෍ 𝑥 −𝑖 + 𝑛 ℎ(𝑖)
𝑁
0
• Cas 2D
f(x,y) g(x,y)
h(x,y)

• Cas 2D continu
+∞ +∞
𝑔 𝑥, 𝑦 = 𝑓 𝑥, 𝑦 ∗ ℎ 𝑥, 𝑦 = න න f(−α + 𝑥, −β + y)ℎ α, β 𝑑α𝑑β
−∞ −∞
• Cas 2D discret
𝑁−1 𝑀−1
1
𝑔 𝑛, 𝑘 = 𝑓 𝑛, 𝑘 ∗ ℎ 𝑛, 𝑘 = ෍ ෍ 𝑓 −𝑖 + 𝑛, −𝑗 + 𝑘 ℎ(𝑖, 𝑗)
𝑁𝑀
𝑖=0 𝑗=0

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes11


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations de voisinage
Produit de convolution

• Le produit de convolution est le principe du filtrage spatial linéaire

• Un filtre spatial est donc défini par :

• Le support du filtre : taille et forme du voisinage considéré : c'est souvent un


carré de taille impaire (3x3, 5x5, 7x7, ...) mais cela peut être une croix, un
disque, etc. ;

• La position du pixel central dans le support ;

• L'algorithme utilisé pour le calcul de la valeur de sortie à partir des valeurs du


voisinage.

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes12


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations de voisinage
Produit de convolution

• Algorithme : balayage de l'image par le masque de convolution

• Le masque est superposé sur l'image,


en le positionnant sur le voisinage du pixel
courant ;

• Chaque coefficient du masque est multiplié


Avec le pixel qu'il recouvre, puis on additionne
toutes les valeurs pour obtenir la valeur de
Sortie du pixel courant ;

• Cette opération est répétée pour tous les


pixels de l'image.

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes13


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations de voisinage
Produit de convolution

• Algorithme : balayage de l'image par le masque de convolution


Exemple avec la matrice du filtre −1 −2 −1
0 𝟎 0
1 2 1
• Le masque est superposé sur l'image,
en le positionnant sur le voisinage
du pixel courant le zéro sur le 75 ;
• Chaque coefficient du masque est
Multiplié avec le pixel qu'il recouvre,
puis on additionne toutes les valeurs pour
obtenir la valeur de sortie du pixel courant ;
• (-1)*0+(-2)*0+(-1)*75+(0)*0+(0)*75+(0)*80+
+(1)*0+(2)*75+(0)*80 =155

• Cette opération est répétée pour tous les


pixels de l'image.

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes14


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations de voisinage
Produit de convolution
• Algorithme : balayage de l'image par le masque de convolution

• Cette opération est répétée pour tous les pixels de l'image.

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes15


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations de voisinage
Produit de convolution
• Algorithme : balayage de l'image par le masque de convolution
• Gestion des bords
• On constate que pour les pixels du bord, le masque déborde de l'image. Les
valeurs résultat des pixels du bord sont dans ce cas indéfinies.

• Pour obtenir des valeurs plausibles, on peut adopter différentes solutions:


• Zero-padding : on suppose que les pixels en dehors de l'image sont de
valeur nulle ;
• Duplication : on duplique les premières et dernières lignes et colonnes au
delà des bords ;

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes16


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations de voisinage
Algorithme parallèle et algorithme séquentiel
Il existe deux manières de calculer l’image transformée
- Algorithme parallèle
• Si tous les pixels sont modifiés en même temps.
• L’algorithme est dit parallèle.
• Dans ce cas, la nouvelle valeur d’un pixel est obtenue en utilisant uniquement
les anciennes valeurs des pixels voisins.
• Ceci nécessite de travailler sur deux matrices.
• C’est l’algorithme que nous allons adopter

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes17


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations de voisinage
- Algorithme séquentiel
• Si le travail s’effectue sur la même matrice, la nouvelle valeur d’un
pixel est utilisée pour déterminer la nouvelle valeur des pixels suivants.
• Tout se passe comme si les pixels sont modifiés séquentiellement. Un tel
algorithme est dit séquentiel.
• Dans le cas des algorithmes itératifs, un algorithme séquentiel converge
beaucoup plus rapidement qu’un algorithme parallèle.

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes18


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
• Afin d’analyser un signal ou une image , il est impératif de travailler
sur deux domaines
• Temporel (signal 1D) et fréquentiel
• Spatial (signal 2D) et fréquentiel

• Plusieurs transformations permettent de basculer du domaine spatial


au domaine fréquentiel:
La transformée de Fourier, de Walsh, Hadamard, cosinus ……

• La transformation que nous allons considérer est la Transformée de


Fourier

• On rappelle pour le signal 1D et on passe à 2D

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes19


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Transformée de Fourier
• On rappelle pour le signal 1D
• Cas 1D continu, on considère le signal x(t) à énergie finie
+∞
𝑑é𝑓.
𝑇𝐹 𝑥(𝑡) = 𝑋 𝑓 = න 𝑥 𝑡 exp −𝑖2𝜋𝑓𝑡 𝑑𝑡 = "Transformée de Fourier" de 𝑥 𝑡
−∞
et
+∞

𝑥 𝑡 = 𝑇𝐹 −1 𝑋 𝑓 = න 𝑋 𝑓 exp 𝑖2𝜋𝑓𝑡 𝑑𝑓 = "Transformée de Fourier inverse"


−∞

Notation: x(t)  X(f);


X(f) = “spectre d’amplitude” et Arg[X(f)] =“spectre de phase” du signal

• x(t) et X(f) sont deux descriptions équivalentes du même signal

Description fréquentielle même information


Description temporelle

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes20


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Transformée de Fourier
• On rappelle pour le signal 1D
• Cas 1D discret

Pour la Transformée de Fourier discrète il faut


-Discrétisation de t : t → nTe
- Discrétisation de f : f → k Fe/N
avec Te= Fe =1
𝑁−1
1 𝑘
−𝑖2𝜋𝑁𝑛
𝑋(𝑘) = ෍ 𝑥(𝑛)𝑒 , 𝑛 = 0, … , 𝑁 − 1
𝑁
𝑛=0
𝑁
2 −1
𝑘
𝑖2𝜋𝑁𝑛 𝑁 𝑁
𝑥 𝑛 = ෍ 𝑋(𝑘)𝑒 ,𝑘 = − ,…, − 1
2 2
𝑁
𝑘=− 2

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes21


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Transformée de Fourier
• On passe à 2D maintenant
• Cas 2D continu, on considère l’image f(x,y) continue
+∞ +∞
𝑑é𝑓.
𝑇𝐹 𝑓(𝑥, 𝑦) = 𝐹 𝑢, 𝑣 = න න 𝑓(𝑥, 𝑦) exp −𝑖2𝜋(𝑢𝑥 + 𝑣𝑦) 𝑑𝑥𝑑𝑦
−∞ −∞
et
+∞ +∞
−1 𝑑é𝑓.
𝑓 𝑥, 𝑦 = 𝑇𝐹 𝐹 𝑢, 𝑣 = න න 𝐹(𝑢, 𝑣) exp 𝑖2𝜋(𝑢𝑥 + 𝑣𝑦) 𝑑𝑢𝑑𝑣
−∞ −∞

• Cas 2D discret, on considère l’image f(x,y) discrète,


𝑁−1 𝑀−1
1 . 𝑢𝑥 𝑣𝑦
𝐹 𝑢, 𝑣 = ෍ ෍ 𝑓(𝑥, 𝑦) exp −𝑖2𝜋( + ) Pour un but de simplification
𝑁𝑀 𝑁 𝑀 Ici nous considérons les
𝑥=0 𝑦=0
et éléments x, y u et v discrets
𝑁−1 𝑀−1 N nombre de ligne
. 𝑢𝑥 𝑣𝑦
𝑓(𝑥, 𝑦) = ෍ ෍ 𝐹 𝑢, 𝑣 exp 𝑖2𝜋( + ) M nombre de colonne
𝑁 𝑀
𝑢=0 𝑣=0

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes22


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Transformée de Fourier Exercice
1. Calculer la TF d’un signal sinusoïdal de la forme x(t)=Acos (2π𝑓0 𝑡)

2. Calculer la TF d’un signal rectangulaire centré en 0 de durée T et


d’amplitude A

3. Déduire la TF2D d’une image sinusoïdale


4. Déduire la TF2D d’une image carrée

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes23


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Transformée de Fourier : Correction Exercice

1. La TF d’un signal sinusoïdal de la forme x(t)=Acos (2π𝑓0 𝑡)

A
X(f)= (𝜕(𝑓 − 𝑓0 )+𝜕(𝑓 + 𝑓0 ))
2

2. La TF d’un signal rectangulaire centré en 0 de durée T et d’amplitude


A

X(f)=𝐴𝑇𝑠𝑖𝑛𝑐(𝜋𝑓𝑇)

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes24


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Transformée de Fourier Exercice
3. Déduire la TF2D d’une image sinusoïdale

4. Déduire la TF2D d’une image carrée

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes25


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Transformée de Fourier Exercice
3. Déduire la TF2D d’une image sinusoïdale

2 𝑟𝑎𝑖𝑒𝑠 𝑑𝑒 𝑑𝑖𝑟𝑎𝑐 𝑎𝑢𝑠𝑠𝑖

4. Déduire la TF2D d’une image carrée


2 𝑠𝑖𝑛𝑢𝑠 𝑐𝑎𝑟𝑑𝑖𝑛𝑎𝑢𝑥

Remarque : généralement, on trace : Log(1+ F(u,v)) car F(u,v) décroit rapidement

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes26


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Transformée de Fourier Exercice correction
Déduire la TF2D d’une image sinusoïdale 2 𝑟𝑎𝑖𝑒𝑠 𝑑𝑒 𝑑𝑖𝑟𝑎𝑐 𝑎𝑢𝑠𝑠𝑖

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes27


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Transformée de Fourier Exercice correction
4. Déduire la TF2D d’une image carrée 2 𝑠𝑖𝑛𝑢𝑠 𝑐𝑎𝑟𝑑𝑖𝑛𝑎𝑢𝑥

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes28


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Transformée de Fourier

Remarque : généralement, on trace : Log(1+ |F(u,v)|) car |F(u,v)| décroit rapidement

Images |F(u,v)| Log(1+ |F(u,v)|)

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes29


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Propriétés de la Transformée de Fourier 2D
1. La séparabilité
TF 2D peut être obtenue en effectuant 2 fois la TF 1-D : simplifier les
calculs

2. La translation

Remarque : C’est ce qu’on fait généralement pour avoir le module de la TF centré.


La modification de l’origine de l’espace temporel, ne modifie pas le module
|F(u,v)|

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes30


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Propriétés de la Transformée de Fourier 2D
2. La translation
pour une représentation correcte dans le cas 1D

Exemple

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes31


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Propriétés de la Transformée de Fourier 2D
2. La translation on représente la TF2D centrée

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes32


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Propriétés de la Transformée de Fourier 2D
3. Périodicité et symétrie du conjugué :
La TF discrète et son inverse sont périodiques et de période N :
F(u,v)=F(u+N,v)=F(u,v+N)=F(u+N,v+N)
Remarque : On rappelle qu’échantillonner dans un domaine revient à périodiser dans le
domaine dual et donc l’image et sa TF2D sont toutes les deux numériques et périodiques
Si F * est le conjugué de F, on a : F(u,v)=F*(−u,−v)

4. Rotation
Si l’image f subit une rotation θ, alors sa TF2D F subit la même rotation:

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes33


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Propriétés de la Transformée de Fourier 2D
5. Linéarité
La TF2D est linéaire : si une image est constituée par plusieurs images
élémentaires alors son spectre est la somme pondérée des spectres

6. Le Produit de convolution et la TF2D


On rappelle que le produit de convolution est utilisé pour le filtrage
𝑔 𝑥, 𝑦 = 𝑓 𝑥, 𝑦 ∗ ℎ 𝑥, 𝑦 → 𝐺 𝑢, 𝑣 = 𝐹 𝑢, 𝑣 . 𝐻(𝑢, 𝑣)

7. La fonction de corrélation et la TF2D


On rappelle que la fonction de corrélation peut s’écrire sous forme de produit de
convolution et est utilisée pour l’étude de similarité
∗ ∗
𝑔 𝑥, 𝑦 𝑜𝑓 𝑥, 𝑦 = 𝑔 𝑥, 𝑦 ∗ 𝑓 −𝑥, −𝑦 → 𝐺 𝑢, 𝑣 . 𝐹 𝑢, 𝑣

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes34


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Propriétés de la Transformée de Fourier 2D

Mise en évidence des propriétés

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes35


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Algorithme de la Transformée de Fourier 2D: la FFT

• Le calcul de la TF devrait entraîner le calcul d’un double intégrale. L’algorithme


FFT exploite les propriétés suivantes :

- La séparabilité pour ramener le calcul de la TF 2-D au calcul de la TF 1-D

- La symétrie entre les termes paires et impaires pour ramener le problème au


calcul de la TF de deux échantillons.

• Le nombre d’opérations d’une TF2D est égal à N2 opérations

• Le nombre d’opérations d’une FFT est égal à Nlog2(N) opérations

→ Cet algorithme garantit un gain en opérations donc en mémoire et en temps


d’exécution

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes36


Introduction Transformations ponctuelles Transformations de voisinage Transformations spectrales

Transformations spectrales
Application de la Transformée de Fourier 2D
Mise en évidence des propriétés des textures

Afef Elloumi Oueslati Traitement d’Images et Reconnaissance des Formes37

You might also like