Plan - imag · Traitement - analyse d’image Transformations g´eom´etriques Plan 3 Traitement -...

Preview:

Citation preview

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

Recommended