300 likes | 533 Views
III. Pré-traitements & Amélioration. 1. Opérations pixel à pixel 2. Opérations sur un voisinage : filtrage 3. Transformations géométriques. Pourquoi pré-traiter une image ? Pour corriger les effets de la chaîne d ’acquisition Correction radiométriques et/ou géométriques
E N D
III. Pré-traitements & Amélioration • 1. Opérations pixel à pixel • 2. Opérations sur un voisinage : filtrage • 3. Transformations géométriques
Pourquoi pré-traiter une image ? • Pour corriger les effets de la chaîne d ’acquisition • Correction radiométriques et/ou géométriques • Réduire le bruit : Restauration, Déconvolution • Améliorer la visualisation • Améliorer les traitements ultérieurs (segmentation, compression …)
III.1 Opérations pixel à pixel • Modification d'un pixel indépendamment de ses voisins • Histogramme des niveaux de gris • Comptage des pixels ayant un niveau de gris (NG) donné • Histogramme densité de probabilité des niveaux de gris Niveau de gris
v v 255 255 u u 0 0 0 0 255 255 • Modification d ’histogramme • Transformation des niveaux de gris : f • v=f(u) avec u niv. gris de départ, v niv.gris d'arrivée • f peut prendre une forme quelconque
Recadrage linéaire des niveaux de gris v 255 v=f(u) u 0 255
Seuillage binaire • Négatif
Autres transformations • Non-linéaire, Logarithme, Extraction de plans binaires, • Ecrêtage, Compression-dilatation de dynamique, • Spécification d’histogramme, • Codage en couleur, Pseudo-couleur, .... • Segmentation basée sur les niveaux de gris (multi-seuillage)
Filtre h(x,y) Image filtrée g(x,y) Image f(x,y) III.2 Opérations sur un voisinage : filtrage • Modification d'un pixel en fonction des ses voisins • Filtrage linéaire • Domaine spatial : filtres FIR 2D (masque), filtres IIR • Domaine fréquentiel dans le plan de Fourier g(x,y) = h(x,y)*f(x,y) (convolution bidimensionnelle) G(u,v) = H(u,v) . F(u,v) • Filtrage non-linéaire dans le domaine spatial
Filtrage spatial FIR 2D : masque de convolution • Convolution par une réponse impulsionnelle finie appelée • Masque de Convolution f est l’image de départ h est le masque de convolution W défini un voisinage • Un pixel f(i,j) est remplacé par une somme pondérée de lui-même et des pixels de son voisinage
Exemple : Filtre moyenneur 0 1 k W: voisinage 2x2 k=0,1 l=0,1 0 1/4 1/4 1 h(k,l) = 1 /4 pout tout (k,l) 1/4 1/4 l ( En ne conservant que la valeur entière ) 0 1 2 2 1 1 2 1 1 2 0 0 3/4 6/4 7/4 x 5/4 5/4 3/4 x x x x x 0 1 1 x 1 1 0 x x x x x
Moyenneur 2x2 (zoom)
Remarques • Utilisation de voisinages très divers : • Rectangulaires 2x2, 3x3, 4x4, 5x5, 7x7, 1x2, 2x1, 1x3, 3x1... • En croix, «Circulaires»... • Valeurs des coefficients: • Constants(Moyenneur), Gaussiens… • Effets de filtrage passe-bas : image plus «flou»:, contours moins précis mais réduction du bruit haute fréquence • Le principe du masque de convolution sera utilisé pour d’autres • traitements (Détection de contours) • L’utilisation d’un voisinage entourant un pixel est un principe très général en traitement de l’image
Exemple : réduction du bruit Filtre moyenneur 3x3 (k=-1,0,1 l=-1,0,1), Valeur constante h(k,l)=1/9
Exemple : réhaussement de contours 0 -1 0 -1 4 -1 0 -1 0 0 -1 0 -1 5 -1 0 -1 0 = Image d’origine + Laplacien
Filtres FIR 2D et plan de Fourier g(x,y) = h(x,y)*f(x,y) G(u,v) = H(u,v) . F(u,v) • Filtrage : N².(L-1) + N² vs. N².Log2N + N² • Synthèse de filtres • 1D 2D • Echantillonnage en fréquence • Fenêtre
Masque 3x3 TFD 2D v u h(k,l) H(u,v) • Filtre Moyenneur C’est un filtre passe-bas, peu sélectif, anisotrope
TFD 2D h(k,l) H(u,v) • Filtre Gaussien - Filtre IIR version tronquée à Ks et échantillonnée masque FIR - C’est un filtre passe-bas isotrope peu sélectif. - H(u,v) est aussi une gaussienne
Fenêtrage fréquentiel DFT Filtrage DFT-1
. . . . . 2 . . . . . . . . . . 1 3 2 4 3 1 4 2 2 3 2 1 1 2 3 3 1 1 2 2 2 3 3 3 4 • Filtrage non linéaire 2D : filtre Médian • Remplacer le pixel central par la valeur médiane du voisinage
Avantage par rapport au filtrage linéaire • les bords sont conservés Filtre linéaire de largeur 3 Filtre médian voisinage 3
Exemple: balayage colonne puis ligne Pixels du passé Pixel du présent Pixels du futur • Principe du filtrage IIR 2D • Notion de causalité 2D • Filtrage récursif • Remarques • Le choix du balayage est arbitraire • Le pixel présent ne dépend que des pixels du passé • Voisinage = pixels du passé entourant le pixel présent
III.3 Transformations géométriques • Objectif • Corriger les déformations dues au système de prise de vue f(x,y) = f’(x’,y’) avec x’=h1(x,y) et y’=h2(x,y) • Exemple : transformation affine (translation, rotation) Remarque : les paramètres a,b,c,d peuvent ne pas être les mêmes pour toutes les régions d’une image
Problème • x,y,sont des valeurs discrètes (image échantillonnée) x=kDx , y=lDy • et x’=h1(kDx , lDy) et y’=h2(kDx , lDy) ne seront pas • nécessairement des multiples entiers de Dx etDy k k+1 m m+1 Dx Dx l n P1 P2 Dy Dy l+1 n+1 P3 P4
Solution: Interpolation m f’(Q)=f’(mDx,nDy) = G[f(P1),f(P2),f(P3),f(P4)] avec f(P1)=f (kDx, lDy) f(P2)=f ((k+1)Dx,lDy) f(P3)=f ((k+1)Dx,(l+1)Dy) f(P4)=f (kDx, (l+1)Dy) P1 P2 Q n d4 P3 P4 • Plus proche voisin: f(Q)=f(Pk) , k : dk=min{d1,d2,d3,d4} • Interpolation linéaire • Interpolation bilinéaire, fonctions spline, Moindre ², ....
y y’ x’= x+0.5 y y’= y x x’ 128x128 • Warping Placage de texture animation ...
Plan • I. Introduction • II. Représentations & Acquisition • III. Pré-traitement & Amélioration • IV. Compression • V. Segmentation • VI. Introduction à l'indexation • VII. Introduction au tatouage • VIII. Conclusion