CHAP5 Convolution et Filtrage 2 Modification des valeurs d’une image Pour l’in
CHAP5 Convolution et Filtrage 2 Modification des valeurs d’une image Pour l’instant, nous avons vu surtout des transformations ponctuelles des pixels d’une image Lire la valeur d’un pixel la remplacer par une autre Il existe aussi des transformations locales Lire la valeur de quelques pixels voisins calculer une nouvelle valeur pour un pixel …et des transformations globales Lire la valeur de tous les pixels de l’image calculer une nouvelle valeur pour un seul pixel 3 Locale: g(x0,y0)=T[f(V)] V:voisinage de (x0,y0) Globale: g(x0,y0)=T[f(x,y)] par ex: TF Ponctuelle: g(x0,y0)=T[f(x0,y0)] g f T (x0,y0) (x0,y0) Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal. Transformations des pixels 4 Convolution numérique La convolution discrète est un outil permettant l’utilisation de filtres linéaires ou de filtres de déplacements invariants L ’équation générale de la convolution, notée g(x), de la fonction d’origine f(x) avec une fonction h(x) est : Dans notre cas, une image est vue comme une fonction mathématique h(x) est appelé masque de convolution, noyau de convolution, filtre, fenêtre, kernel, … ∀ k f(x) est la fonction d’origine et g(x) la fonction convoluée (résultat de la convolution) g x = f x ∗ h x = ∑ h x−k f k 5 Exemple de convolution 2D Note : par convention pratique, la taille de l’image résultat est la même que celle de l’image d’origine Image d’origin e Image convoluée (résultat) Filtre de convolution (masque) * = 6 Convolution numérique discrète En pratique, la convolution numérique d'une image se fera par une sommation de multiplications Un filtre de convolution est une matrice (image) généralement (mais pas toujours) de taille impaire et symétrique 3x3, 5x5, 7x7, … u v Convolution d’une image par un filtre 2D : I ' i , j = I i , j ∗ filtre i , j I ' i , j = ∑ ∑ I i−u , j−v ⋅ filtre u , v 7 Convolution numérique * Image Noyau de convolution I K 8 Convolution numérique R = I*K R I K R(1,1) = I(0,0) K(0,0) + I(1,0) K(1,0) + I(2,0) K(2,0) + I(0,1) K(0,1) + I(1,1) K(1,1) + I(2,1) K(2,1) + I(0,2) K(0,2) + I(1,2) K(1,2) + I(2,2) K(2,2) 9 Convolution numérique R = I*K I R K R(2,1) = I(1,0) K(0,0) + I(2,0) K(1,0) + I(3,0) K(2,0) + I(1,1) K(0,1) + I(2,1) K(1,1) + I(3,1) K(2,1) + I(1,2) K(0,2) + I(2,2) K(1,2) + I(3,2) K(2,2) 10 Convolution numérique R = I*K I R K R(x,y) = I(x-1,y-1) K(0,0) + I(x, y-1) K(1,0) + I(x+1, y-1) K(2,0) + I(x-1,y) K(0,1) + I(x,y) K(1,1) + I(x+1,y) K(2,1) + I(x-1,y+1) K(0,2) + I(x,y+1) K(1,2) + I(x+1,y+1) K(2,2) Convolution numérique R = I*K I R K R(N-2,M-2) = I(N-3,M-3) K(0,0) + I(N-2,M-3) K(0,1) + I(N-1,M-3) K(0,3) + I(N-3,M-2) K(1,0) + I(N-2,M-2) K(1,1) + I(N-1,M-2) K(1,2) + I(N-3,M-1) K(2,0) + I(N-2,M-1 )K(2,1) + I(N-1,M-1) K(2,2) 11 12 Convolution numérique ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Problème : Que faire avec les bords de l'image ? Mettre à zéro (0) Convolution partielle Sur une portion du noyau Miroir de l'image f(-x,y) = f(x,y) … (pas de solution miracle) 13 14 Masque de convolution Le masque de convolution représente un filtre linéaire permettant de modifier l'image On divisera le résultat de la convolution par la somme des coefficients du masque Pour éviter de modifier la luminance globale de l'image, la somme des coefficients doit être égale à 1 15 Filtres passe-haut Accentue les détails et les contours (hautes fréquences) accentuation Deux types pour le filtrage spatial Filtres passe-bas Atténue le bruit et les détails (basses fréquences) lissage CVIPTools : Utilities>Filter>Specify a filter 16 Le filtre moyenneur Le filtre moyenneur Permet de lisser l'image (smoothing) Remplace chaque pixel par la valeur moyenne de ses voisins Réduit le bruit Réduit les détails non-important Brouille ou rend floue l'image (blur edges) Filtre dont tous les coefficients sont égaux Exemple de filtres moyenneurs : 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1 1 1 1 1 1 1 1 1 ou 1/9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5x5 3x3 CVIPTools : Utilities>Filter>Mean 18 Exemples de filtres moyenneurs Origina l Moyenne 5x5 Moyenne 11x11 Source : monkey.geog.ucsb.edu/mh/115b/filter.pdf Le filtre Gaussien Fonction gaussienne en 3D Image d'une gaussienne Le filtre gaussien donnera un meilleur lissage et une meilleure réduction du bruit que le filtre moyenne 1 9 8 × 1 2 3 2 1[ ] 2 6 8 6 2 3 8 10 8 3 2 6 8 6 2 1 2 3 2 1 19 CVIPTools : Utilities>Filter>Specify a blur>Gaussian 20 Exemples de filtres gaussiens Origina l Gauss 5x5 Gauss 11x11 Source : monkey.geog.ucsb.edu/mh/115b/filter.pdf 21 Filtres non-linéaires (autre que convolution) 22 Filtre médian (non- linéaire) Pour nettoyer le bruit dans une image, il existe mieux que le filtre moyenneur ou le filtre gaussien Il s'agit du filtre médian C'est un filtre non-linéaire, qui ne peut pas s'implémenter comme un produit de convolution On remplace la valeur d'un pixel par la valeur médiane dans son voisinage NxN 30 10 20 10 250 20 25 10 30 brui t 10, 10, 10, 20, 20, 25, 30, 30, 250 médiane Moyenne = 45 CVIPTools : Utilities>Filter>Median 23 Exemple de filtre médian Origin al Moyenne 3x3 Médian 3x3 Source : Gonzalez and Woods. Digital Image Processing. Prentice-Hall, 2002. 24 Nettoyage du bruit dans une image Bruit "poivre et sel" 3 X 3 Moyenne 5 X 5 Moyenne Filtre médian 7 X 7 Moyenne CVIPTools : Utilities>Creeate>Add noise 25 Image initiale Bruit Poivre & Sel Moyenne V8 Médian V8 Min V8 Max V8 Source : Caroline Rougier. Traitement d'images (IFT2730). Univ. de Montréal. uploads/Sante/ chap5-convolution-et-filtrage.pdf
Documents similaires










-
52
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 01, 2021
- Catégorie Health / Santé
- Langue French
- Taille du fichier 1.1367MB