410 likes | 913 Views
Filtrage des images. Filtrage. L'objectif du filtrage est: 1. D’ améliorer la qualité visuelle de l’image Par le l issage : Atténuer le bruit 2. D’extraire les structure de l’image Par la d étection des contours : Détecter des variations brusque entre pixels.
E N D
Filtrage L'objectif du filtrage est: 1. D’ améliorer la qualité visuelle de l’image Par le lissage: Atténuer le bruit 2. D’extraire les structure de l’image Par la détection des contours: Détecter des variations brusque entre pixels
Filtrage • Deux types de filtrages : • Linéaire • Non-linéaire
Le bruit dans l’image peut-être • Bruit additif • Bruit multiplicatif • Bruit convolutif
Bruit additif • principaux types de bruits • Uniforme : chaque pixel est modifié par l’ajout d’une valeur aléatoire • Impulsionnel : quelques pixels prennent des valeurs complètement aléatoires
Filtrage linéaire • Le filtrage linéaire, consistent à modifier la valeur de chaque pixel par une moyenne pondérée de la valeur du pixel et de celles de ces voisins. • Le filtrage d’image est réalisé au moyen de produits de convolution Image filtrée=h* image à filtrer . Où h le filtre ou masque de convolution. Ce masque est nécessairement de taille impaire.
Filtrage linéaireComment faire la Convolution? par glissement Masque h Image I • Si le masque recouvre des zones en dehors de l'image: • Soit on considère que l'image est entourée de noir, donc des valeurs nulles. • Soit on considère que l'image est entourée d'elle même, effet miroir
Un voisinage d’un pixel est un ensemble de pixels voisins Système de voisinage
Filtrage linéaire: Application Lissage • Lissage par moyennage • Lissage gaussien • Lissage pyramidal • …..
Lissage par moyennage Les coefficients d’un filtre moyenneur sont égaux. Leurs valeurs est 1/N2. Avec Nla taille du masque. Pour N=3
Lissage par moyennageAlgorithme h=[1/9,1/9,1/9; 1/9,1/9,1/9; 1/9,1/9,1/9] Pour j: 1 àNlfaire Pour i: 1 àNcfaire Im2(i,j)= 0 Pour l : –1 à 1 faire Pour k : –1 à 1 faire Im2(i,j)= Im1(i+k, j+l)*h(k+2,l+2) FinPour FinPour
Exemple: Lissage par moyennage N=1 N=3 N=5 N=9 N=15 Plus d est grand, plus le lissage sera important, et plus l'image filtrée perd les détails de l'image originale
Lissage: par filtre gaussien Le noyau gaussien centré et d'écart-type est défini par :
Lissage: par filtre gaussien s=1.5; for i=-3:3 for j=-3:3 g(i+4,j+4)=(1/sqrt(2*3.14*s^2))*exp(-((i^2)+(j^2))/(2*s^2)); end end
g =0.0049 0.0148 0.0288 0.0360 0.0288 0.0148 0.0049 0.0148 0.0450 0.0876 0.1094 0.0876 0.0450 0.0148 0.0288 0.0876 0.1706 0.2130 0.1706 0.0876 0.0288 0.0360 0.1094 0.2130 0.2660 0.2130 0.1094 0.0360 0.0288 0.0876 0.1706 0.2130 0.1706 0.0876 0.0288 0.0148 0.0450 0.0876 0.1094 0.0876 0.0450 0.0148 0.0049 0.0148 0.0288 0.0360 0.0288 0.0148 0.0049 =1.5 g =0.0000 0.0006 0.0027 0.0044 0.0027 0.0006 0.0000 0.0006 0.0073 0.0328 0.0540 0.0328 0.0073 0.0006 0.0027 0.0328 0.1468 0.2420 0.1468 0.0328 0.0027 0.0044 0.0540 0.2420 0.3990 0.2420 0.0540 0.0044 0.0027 0.0328 0.1468 0.2420 0.1468 0.0328 0.0027 0.0006 0.0073 0.0328 0.0540 0.0328 0.0073 0.0006 0.0000 0.0006 0.0027 0.0044 0.0027 0.0006 0.0000 =1 g =0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0003 0.0000 0.0000 0.0000 0.0000 0.0000 0.0146 0.1080 0.0146 0.0000 0.0000 0.0000 0.0003 0.1080 0.7981 0.1080 0.0003 0.0000 0.0000 0.0000 0.0146 0.1080 0.0146 0.0000 0.0000 0.0000 0.0000 0.0000 0.0003 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 =0.5
Exemple: Lissage par filtre gaussien N=1 N=3 N=5
Filtrage linéaire: Application détection des contours • But: est d’extraire les contours dans une image • Principe : est basé sur le gradient et la dérivé Le calcul du gradient pour un pixel (i,j) selon la direction vertical, peut-être donné par: ∇ p(i,j) = ((p(i + 1,j) − p(i,j)) + ( p(i,j) − p(i −1,j)))/2 ∇ p(i,j) = (p(i + 1,j) − p(i −1,j)) /2 ∇ p(i,j) = (p(i + 1,j).1+p(i,j).0− p(i −1,j).1) /2 MASQUE p(i -1,j) p(i,j) p(i+1,j)
Filtrage linéaire: Application détection des contours Pour immuniser l’opérateur du bruit, on fait une moyenne avec le gradient de voisinage dans la même direction: D’où la notion des filtres directionnels:
Filtres directionnels Direction 900 Image original Image directonnel
Filtres directionnels Direction 1800 Image original Image directonnel
Filtres directionnels Direction 450 Image original Image directonnel
Filtrage linéaire: Application détection des contours Le calcul de dérivé pour un pixel (i,j) selon la direction vertical, peut-être donné par: Δpv(i, j) = [p(i +1, j) − p(i, j)]− [p(i, j) − p(i −1, j)] Δpv (i, j) = p(i + 1, j).1 + p(i, j).(-2) + p(i −1, j).1 MASQUE p(i -1,j) p(i,j) p(i+1,j) Le calcul de dérivé pour un pixel (i,j) selon la direction horizental, peut-être donné par: Δph (i, j) = p(i, j + 1) − 2.p(i, j) + p(i, j −1) MASQUE D’où le filtre Laplacien
Filtre Laplacien Image original Image Laplacien
Filtre Non-Linéaire • Si le filtre ne peut pas être exprimé par une combinaison linéaire, il est appelé " non-linéaire ". • Les filtres non-linéaires sont plus complexes à mettre en œuvre que les filtres linéaires. • Les résultats obtenus avec les filtres non-linéaires sont très souvent de meilleure qualité que ceux obtenus par les filtres linéaires. • -Élimine le bruit sans rendre l’image flous (conservation des contours).
Filtre médian • La nouvelle valeur du pixel est la médiane des valeurs des niveaux de gris du voisinage • Très adapté au bruit type Impulsionnel "poivre et sel ’’ • Préserve les contours
Exemple: Lissage par filtre median N=1 N=3 N=7
Filtrage non-linéaire: Application détection des contours filtre de Roberts ∇p (i, j) = |p(i, j) − p(i +1, j +1) + p(i +1, j) − p(i, j +1)| Image original Image Robert
Filtres adaptatifs Dépend des données
Filtrage fréquentiel • Utilise Transformée de Fourier 2D ou TFF(transformé de fourrier rapide Image FFT de l’image
Filtre passe haut Très-haute fréquence
Filtre passe haut haute fréquence
Filtre passe bas Base fréquence
Filtre passe bas Très-Base fréquence