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
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 v 255 u u v 255
Recadrage linéaire des niveaux de gris v 255 v=f(u) u 255
Seuillage binaire Négatif
Egalisation d'histogramme
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)
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 Image f(x,y) Filtre h(x,y) Image filtrée g(x,y) 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 1 k W: voisinage 2x2 k=0,1 l=0,1 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 5 -1 0 -1 0 -1 4 -1 = 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
C’est un filtre passe-bas, peu sélectif, anisotrope Filtre Moyenneur Masque 3x3 h(k,l) u v H(u,v) TFD 2D C’est un filtre passe-bas, peu sélectif, anisotrope
- Filtre IIR version tronquée à Ks et échantillonnée masque FIR Filtre Gaussien - Filtre IIR version tronquée à Ks et échantillonnée masque FIR h(k,l) H(u,v) TFD 2D - 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
Filtrage non linéaire 2D : filtre Médian Remplacer le pixel central par la valeur médiane du voisinage 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 . . . . . 2 . .
Avantage par rapport au filtrage linéaire les bords sont conservés Filtre linéaire de largeur 3 Filtre médian voisinage 3
Principe du filtrage IIR 2D Notion de causalité 2D Pixels du passé Pixels du futur Pixel du présent Exemple: balayage colonne puis ligne 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
x,y,sont des valeurs discrètes (image échantillonnée) x=kDx , y=lDy 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 et Dy k k+1 m m+1 Dx Dx l n P1 Dy P2 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 ², ....
Warping Placage de texture animation ... 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