Vous êtes sur la page 1sur 24

TSAC – Traitement Numérique des Images (TNI)

Opérations géométriques

Dr. ZOUAGUI T.

USTO – Faculté GE - Département d’Électronique

Introduction

• Comment transformer une image ?


– Chaque pixel de l’image est défini par sa position
(x,y) et par son intensité (x,y) dans l’image
– Il existe deux types de transformations sur les
pixels de l’image :
• Les transformations géométriques qui modifient les
positions des pixels
• Les transformations qui modifient les intensités des
pixels
– Possibilité d’effectuer des opérations qui
induisent ces deux types de transformations
2

1
Introduction

• Les opérations géométriques ont pour but de


modifier la position des informations
contenues dans l’image sans modifier le
niveau de gris
• Opérations qui peuvent s’appliquer sur la
totalité des pixels, sur un objet particulier voire
à certains points spécifiques (recalage de
points caractéristiques)

Introduction

• Opérations géométriques : agissent sur la


position des pixels de l’image = forme des
objets

2
Transformations géométriques

• A quoi ça sert ?
– Modification de taille
• Réduction, agrandissement
– Déformation d’une image (correction de
distorsions simples)
– Recaler des images que l’on veut comparer
• Mettre en correspondance des images
– Mosaïque d’images
– Morphing
5

Recalage d’images : mise en correspondance d’images

IRM: imagerie par résonance magnétique


US : imagerie ultrasonore

• Recalage :
– Monomodal – Multimodal
– Intra-sujets – inter-sujets
6

3
Mosaïque d’images

Morphing

4
Transformations géométriques

• Diversité des transformations :


– Transformations linéaires (rigide, affine)
– Transformations non-linéaires (polynomiales,
splines)

9
Opération géométrique : symétrie ou miroir

Transformations géométriques

• Opérations qui dépendent des coordonnées


des pixels
• Indépendantes des valeurs de niveaux de gris

De l’image  à l’image ’, comment assigner les niveaux de gris ? 10

5
Transformations géométriques 2D

• Translation

• Changement d’échelle (scaling)


– Homothétie

• Rotation

• Cisaillement
– Glissement ou inclinaison
11

Translation

• Translater par (a,b)


– (a,b) sont les déplacements en x et en y de la
translation

12

6
Changement d’échelle (Scaling)

• Changer d’échelle par (a,b)


– (a,b) facteur d’agrandissement (>1) ou de
réduction (<1) en x et en y

13

Changement d’échelle (Scaling)


• Réflexion ou miroir

14

7
Rotation

• Faire une rotation d’un angle θ

Sens horaire

Sens anti-horaire

15

Cisaillement

• Cisailler avec (a,b)

16

8
Représentations matricielles des
transformations 2D
• Les matrices homogènes permettent de décrire
toutes les opérations géométriques affine par
rapport aux variables x et y
• Le principe est d’introduire une 3ème dimension
fictive pour prendre en compte la translation
• La forme générale d’une transformation
géométrique affine en matrice homogène est :

17

Représentations matricielles des


transformations 2D

18

9
19

Pixels hors des limites de l’image initiale et pixels non remplis (mis à zéros)

Rotation de l’image ‘Washington_ir’ de 45° par rapport à son centre


20

10
Cascade d’opérations
géométriques

Cascade de 2 translations

Rotation suivie d’une


translation

On remarque le caractère non commutatif des deux opérations


21

• Exemple de transformations
– L’ordre des transformations est très important
– Les transformations ne sont pas commutatives

22

11
Transformations inverses

• Translation • -a , -b

• Changement
d’échelle • 1/a , 1/b

• Rotation • -θ

• Cisaillement • -a , -b
23

Transformations complexes

• Transformations géométriques complexes :


utilisation de termes polynomiaux en x2, y2, x3,
y3, voire des termes du genre sin(x) ou
sin(y), …

r(x,y) et s(x,y) polynômes en x,y de degré N; P et Q sont les coefficients

24

12
Transformations complexes : inclinaisons et distorsions

25

Transformations géométriques
• Problème :
– Une transformation directe
n’implique pas que tous les pixels
de l’image destination auront une
intensité ou une couleur
• Phénomènes de ‘trous’ dans les
images
– Deux solutions :
• Appliquer une transformation inverse
(s’assurer que la matrice doit être
inversible)
• Boucher les trous
– Dans les deux cas, il faut
interpoler
26

13
Transformations directe et inverse
• Transformation directe : on part des pixels de l’image initiale
et on calcule leur transformée
– Génération de ‘trous’ ou de ‘superpositions’
• Transformation inverse : on part des pixels de l’image
résultat et on détermine à quel pixel ils correspondent dans
l’image initiale par transformation inverse

Transformation directe

Transformation inverse
27

Transformation directe

• Difficile de distribuer le niveau de gris sur les pixels


voisins
• Des ‘trous’ peuvent apparaître car on n’a pas la
certitude que tous les pixels de l’image transformée
recevront une valeur

28

14
Transformation inverse

• Interpolation de la valeur du pixel à partir des


voisins
• Aucun ‘trou’ car on parcourt tous les pixels
de l’image transformée

29

Interpolation

• Procédé d’estimation de valeur entre deux


informations préexistantes
• L’interpolation ‘invente’ des pixels là où il n’y
en avait pas et les intercale entre deux
originaux pour augmenter la taille d’image par
exemple
• Interpolation d’image est nécessaire lorsqu’on
change la taille ou on crée une distorsion
dans l’image
30

15
Interpolation
Augmenter ou diminuer la taille de l’image

Image originale

Après interpolation

Corriger une distorsion, changer de perspective, créer une rotation


31

Interpolation

• Différents modes d’interpolation :


– Interpolation par le plus proche voisin
– Interpolation bilinéaire
– Interpolation bicubique
– Interpolation polynomiale (B-spline, …)
–…

32

16
Interpolation par le plus proche
voisin
• Chercher dans l’image le plus proche voisin
– Avantages : le plus facile à implanter et le plus
rapide
– Inconvénients : contours moins précis

P1 P2

P3 P4
Q
33

Interpolation par le plus proche


voisin

34

17
Interpolation bilinéaire
• Interpolation linéaire dans les 2 dimensions de
l’image, consiste à effectuer d’abord une
interpolation sur les lignes puis sur les colonnes (ou
l’inverse, au choix)
• On s’intéresse aux 4 voisins les plus proches dont
on connaît les positions et les niveaux de gris ou
couleurs
• Le niveau de gris varie linéairement dans ce
voisinage
• Somme pondérée avec des poids inversement
proportionnels à la distance 35

Interpolation bilinéaire
• On commencera par calculer les pixels horizontaux
situés entre A et B, ainsi que ceux entre C et D
– Définition de l’équation d’une droite passant entre les
points A et B par exemple

Interpolation sur les 2 lignes


puis interpolation sur la colonne

36

18
Interpolation bilinéaire

37

Interpolation

• Exemple d’interpolation pour une rotation

Rotations

45° 90° 2 x 45° 6 x 15°

L’image se dégrade

Seule la rotation de 90° est sans pertes car aucun pixel n’a à être repositionné.
On peut noter la dégradation de l’image avec des rotations successives

38

19
• Exemple d’interpolation pour une rotation

39

• Exemple de comparaison des techniques


d’interpolation

40

20
• L’interpolation fonctionne le mieux lorsqu’elle
est appliquée à petite dose et sur une grande
quantité d’informations. Une image constituée
d’une faible quantité de pixels montrera plus
de trace de dégradation qu’une image plus
riche au départ
• Dans tous les cas, l’interpolation n’inventera
pas des détails qui ne se trouvait pas dans
l’image originale
• Le problème majeur avec l’interpolation est
qu’elle peut augmenter fortement un défaut
de l’image en l’agrandissant
41

Interpolation

Image
originale

Aliasing Blurring Edge halo

Artéfacts dus à l’interpolation 42

21
Résumé

43

44

22
Composition de transformations

• Transformation rigide
– Translation + rotation
• Transformation de similarité
– Translation + rotation + scaling uniforme
• Transformation affine
– Translation + rotation + scaling + cisaillement

Toutes ces transformations sont des groupes où Rigide  similarité  affine


45

46

23
47

Mosaïque d’images

Interpolation bicubique
48

24

Vous aimerez peut-être aussi