Post on 12-Mar-2020
Traitement - analyse d’image Transformations geometriques
Plan
3 Traitement - analyse d’imageIntroTraitementTransformations geometriquesFiltrageAnalyse - detection de contourDetection de droites - Transformee de Hough
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 50 / 111
Traitement - analyse d’image Transformations geometriques
Les operations de base
les differentes operations
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 51 / 111
Traitement - analyse d’image Transformations geometriques
Les operations de base
Homothetie
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 51 / 111
Traitement - analyse d’image Transformations geometriques
Les operations de base
Translation
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 51 / 111
Traitement - analyse d’image Transformations geometriques
Les operations de base
Rotation
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 51 / 111
Traitement - analyse d’image Transformations geometriques
Les operations de base
Cisaillement
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 51 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image vectorielleOperation de rotation
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 52 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image vectorielleOperation de rotation
Exemple : rotation du segment S = [P1 = (0, 0),P2 = (10, 0)] avec
matrice de rotation M =
(0, 8 −0, 60, 6 0, 8
)
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 52 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image vectorielleOperation de rotation
Exemple : rotation du segment S = [P1 = (0, 0),P2 = (10, 0)] avec
matrice de rotation M =
(0, 8 −0, 60, 6 0, 8
)
⇒ M(S) = [M(P1),M(P2)] = [(0, 0), (8, 6)]
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 52 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image vectorielleOperation de rotation
Segment S = [P1 = (0, 0) , P2 = (10, 0)]
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 53 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image vectorielleOperation de rotation
Affichage dans une grille pixel : algorithme de Bresenham
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 53 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image vectorielleOperation de rotation
Affichage dans une grille pixel : algorithme de Bresenham
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 53 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image vectorielleOperation de rotation
Segment f (S) = [f (P1) = (0, 0) , f (P2) = (8, 6)]
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 53 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image vectorielleOperation de rotation
Affichage dans une grille pixel : algorithme de Bresenham
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 53 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image vectorielleOperation de rotation
Affichage dans une grille pixel : algorithme de Bresenham
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 53 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation d’agrandissement
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 54 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation d’agrandissement
Image I de dimensions L× HFacteur d’agrandissement n (n entier ≥ 2)
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 54 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation d’agrandissement
Image I de dimensions L× HFacteur d’agrandissement n (n entier ≥ 2)
→ Image agrandie I de dimensions nL× nH
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 54 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation d’agrandissement
Image I de dimensions L× HFacteur d’agrandissement n (n entier ≥ 2)
→ Image agrandie I de dimensions nL× nH
Pixel (x , y) de I 0 ≤ x ≤ L− 1 0 ≤ y ≤ H − 1
Pixel (x , y) de I 0 ≤ x ≤ nL− 1 0 ≤ y ≤ nH − 1
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 54 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation d’agrandissement
Image I de dimensions L× HFacteur d’agrandissement n (n entier ≥ 2)
→ Image agrandie I de dimensions nL× nH
Correspondance entre x et x x =x(nL− 1)
L− 1x =
x(L− 1)
nL− 1
Correspondance entre y et y y =y(nH − 1)
H − 1y =
y(H − 1)
nH − 1
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 54 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation d’agrandissement
Calcul de l’image I
Algorithme 1 : interpolation au plus prochepour x de 0 a nL− 1 faire
pour y de 0 a nH − 1 faire
// partie entiere la plus proche
x ← arrondi
(x(L− 1)
nL− 1
)
, y ← arrondi
(y(H − 1)
nH − 1
)
I (x , y) ← I (x , y)fin pour
fin pour
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 55 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation d’agrandissement
Calcul de l’image I
Algorithme 2 : interpolation bilineairepour x de 0 a nL− 1 faire
pour y de 0 a nH − 1 faire
xr ← x(L− 1)
nL− 1, yr ← y(H − 1)
nH − 1// partie entiere inferieurex ← arrondi inf(xr) , y ← arrondi inf(yr)dx ← xr − x , dy ← yr − y // partie decimaleI (x , y) ← (1− dx)(1 − dy) I (x , y) + dx (1− dy) I (x + 1, y)
+ (1− dx) dy I (x , y + 1) + dx dy I (x + 1, y + 1)fin pour
fin pour
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 56 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation d’agrandissement - exemple 1
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 57 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation d’agrandissement - exemple 1
100 200
1000
0
0
0
0
0
0 0
0
0
100
100
100 100 100
100
100
100
100
100
100
100 100 100
100
100
100
100
200
200
200 200 200
200
200
200
200
Interpolation au plus proche
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 57 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation d’agrandissement - exemple 1
Interpolation au plus proche
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 57 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation d’agrandissement - exemple 1
100 200
1000
0
200
20
20
180
180
160
140 160
160140120
40
8060
40
60
40
120
120
80
80
60
60
80
80
140
140
120
120
100
100
100
100
100
100
Interpolation bilineaire
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 57 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation d’agrandissement - exemple 1
Interpolation bilineaire
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 57 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation d’agrandissement - exemple 2
Image initiale Image agrandie ×3 Image agrandie ×3(au plus proche) (bilineaire)
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 58 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation de rotation
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 59 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation de rotation
Image bitmap
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 59 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation de rotation
Rotation de l’image bitmap
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 59 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation de rotation
RESPECTER UNE GRILLE HORIZONTALE-VERTICALE
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 59 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation de rotation
Calcul de l’image tournee par la fonction reciproque
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 59 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation de rotation
Calcul de l’image tournee par la fonction reciproque
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 59 / 111
Traitement - analyse d’image Transformations geometriques
Cas d’une image bitmapOperation de rotation
Calcul de l’image tournee par la fonction reciproque
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 59 / 111
Traitement - analyse d’image Transformations geometriques
Image bitmapCalcul de l’image finale
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 60 / 111
Traitement - analyse d’image Transformations geometriques
Image bitmapCalcul de l’image finale
Pour chaque pixel (x ′, y ′) de l’image transformee I ′,
x’
y’
Image initiale Image transformée
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 60 / 111
Traitement - analyse d’image Transformations geometriques
Image bitmapCalcul de l’image finale
Pour chaque pixel (x ′, y ′) de l’image transformee I ′,calculer (x , y) = f −1(x ′, y ′)
x’
y’
x
y
Image initiale Image transformée
f−1
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 60 / 111
Traitement - analyse d’image Transformations geometriques
Image bitmapCalcul de l’image finale
Pour chaque pixel (x ′, y ′) de l’image transformee I ′,calculer (x , y) = f −1(x ′, y ′) en general (x , y) coordonnees non entieres
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 60 / 111
Traitement - analyse d’image Transformations geometriques
Image bitmapCalcul de l’image finale
Methode 1 : au plus prochechoisir le pixel (X ,Y ) le plus proche de (x , y)→ I ′(x ′, y ′) ← I (X ,Y )
x’
y’
X
Y
Image initiale Image transformée
f−1
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 61 / 111
Traitement - analyse d’image Transformations geometriques
Image bitmapCalcul de l’image finale
Methode 2 : interpolation bilineairechoisir les 4 pixels (X ,Y ), (X + 1,Y ), (X ,Y + 1) et (X + 1,Y + 1)autour de (x , y)
X
Y
Y+1
X+1 x’
y’
Image initiale Image transformée
f−1
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 62 / 111
Traitement - analyse d’image Transformations geometriques
Image bitmapCalcul de l’image finale
Methode 2 : interpolation bilineaire
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 63 / 111
Traitement - analyse d’image Transformations geometriques
Image bitmapCalcul de l’image finale
Methode 2 : interpolation bilineaire
X = ⌊x⌋ = floor(x) , Y = ⌊y⌋ = floor(y)dx = x − X , dy = y − Y
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 63 / 111
Traitement - analyse d’image Transformations geometriques
Image bitmapCalcul de l’image finale
Methode 2 : interpolation bilineaire
X = ⌊x⌋ = floor(x) , Y = ⌊y⌋ = floor(y)dx = x − X , dy = y − Y
I ′(x ′, y ′)
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 63 / 111
Traitement - analyse d’image Transformations geometriques
Image bitmapCalcul de l’image finale
Methode 2 : interpolation bilineaire
X = ⌊x⌋ = floor(x) , Y = ⌊y⌋ = floor(y)dx = x − X , dy = y − Y
I ′(x ′, y ′)
=(1− dy dy
)(
I (X ,Y ) I (X + 1,Y )I (X ,Y + 1) I (X + 1,Y + 1)
)(1− dxdx
)
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 63 / 111
Traitement - analyse d’image Transformations geometriques
Image bitmapCalcul de l’image finale
Methode 2 : interpolation bilineaire
X = ⌊x⌋ = floor(x) , Y = ⌊y⌋ = floor(y)dx = x − X , dy = y − Y
I ′(x ′, y ′)
=(1− dy dy
)(
I (X ,Y ) I (X + 1,Y )I (X ,Y + 1) I (X + 1,Y + 1)
)(1− dxdx
)
= (1− dx)(1 − dy )I (X ,Y ) + dx(1− dy )I (X + 1,Y )+ (1− dx)dy I (X ,Y + 1) + dx dy I (X + 1,Y + 1)
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 63 / 111
Traitement - analyse d’image Transformations geometriques
Image bitmapOperation de rotation
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 64 / 111
Traitement - analyse d’image Transformations geometriques
Image bitmapOperation de rotation
Calcul en utilisant le pixel le plus proche
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 64 / 111
Traitement - analyse d’image Transformations geometriques
Image bitmapOperation de rotation
Calcul en utilisant l’interpolation bilineaire
Nicolas SZAFRAN (UGA - UFR IM2AG) L3 Info - Image 2016/2017 64 / 111