Académique Documents
Professionnel Documents
Culture Documents
Image Processing
Y;BENHAMZA
Types de Transformation
• On distingue 3 type d’opérations:
• 1-Opération ponctuelle: la nouvelle valeur d’un pixel dépend uniquement de
son ancienne valeur.
Transformation Ponctuelle:
Ex: Etirement Histogramme,
Ajustement des couleurs,…
Types de Transformation
• On distingue 3 type d’opérations:
• 2-Opération local: la nouvelle valeur d’un pixel dépend de son ancienne
valeur mais aussi de son voisinage.
Transformation Locale
Ex: Débruitage,Lissage, contour…
Types de Transformation
• On distingue 3 type d’opérations:
• 3-Opération Globale: la nouvelle valeur d’un pixel dépend de tous les pixels
de l’image
Transformation Globale
Ex: Transformée Fourier,
Transformé Cosinus…
Transformation locale
• Propriété:
• Commutativité: 𝑘 ⊗ 𝑙 = 𝑙 ⊗ 𝑘
• Associativité: (𝑘 ⊗ 𝑙) ⊗ 𝑚 = 𝑙 ⊗ (𝑘 ⊗ 𝑚)
• Distributivité: 𝑘 ⊗ (𝐼 + 𝑚) = (𝑘 ⊗ 𝐼) + (𝑘 ⊗ 𝑚)
Taille du filtre
? - - - - - ?
• Comment faire pour calculer les pixels au bords! ? - - - - - ?
1. On ne filtre pas. ? - - - - - ?
? - - - - - ?
• Recopier les ancienne valeurs, ou bien ..
? - - - - - ?
• Retourner le résultat avec moins de lignes et de colonnes ? - - - - - ?
• Remplir les bords par des zéros, une symétrie (pair ou impair) ou périodicité,
Puis filtrer. Sinon,…
3. Convolution partiel (juste une portion du noyau)
Traitement des bords!
0 0 0 0 0 0 0 0 0 0 0 4 2 0 3 5 1 9 4 2 0 3
0 0 0 0 0 0 0 0 0 0 0 9 9 8 2 8 5 8 9 9 8 2
0 0 1 2 1 9 8 0 6 0 0 0 6 1 2 1 9 8 0 6 1 2
0 0 9 1 5 8 3 1 6 0 0 Insertion de Zéros! 1 6 9 1 5 8 3 1 6 9 1
0 0 5 9 9 8 5 2 5 0 0 2 5 5 9 9 8 5 2 5 5 9
0 0 2 4 4 6 1 2 8 0 0 2 8 2 4 4 6 1 2 8 2 4
0 0 7 7 1 3 6 3 4 0 0 3 4 7 7 1 3 6 3 4 7 7
0 0 3 6 9 7 9 8 1 0 0 Périodicité! 8 1 3 6 9 7 9 8 1 3 6
0 0 0 3 5 1 9 4 2 0 0 4 2 0 3 5 1 9 4 2 0 3
0 0 8 2 8 5 8 9 9 0 0 9 9 8 2 8 5 8 9 9 8 2
0 0 0 0 0 0 0 0 0 0 0 0 6 1 2 1 9 8 0 6 1 2
0 0 0 0 0 0 0 0 0 0 0 1 6 9 1 5 8 3 1 6 9 1
1 9 9 1 5 8 3 1 6 6 1 9 9 5 9 9 8 5 2 5 2 5
2 1 1 2 1 9 8 0 6 6 0 5 1 9 1 5 8 3 1 6 1 3
2 1 1 2 1 9 8 0 6 6 0 1 2 1 2 1 9 8 0 6 0 8
1 9 9 1 5 8 3 1 6 6 1 5 1 9 1 5 8 3 1 6 1 3
9 5 5 9 9 8 5 2 5 5 2
Symétrie Paire! 9 9 5 9 9 8 5 2 5 2 5
4 2 2 4 4 6 1 2 8 8 2 4 4 2 4 4 6 1 2 8 2 1
7 7 7 7 1 3 6 3 4 4 3 1 7 7 7 1 3 6 3 4 3 6
6 3 3 6 9 7 9 8 1 1 8 Symétrie Impaire! 9 6 3 6 9 7 9 8 1 8 9
3 0 0 3 5 1 9 4 2 2 4 5 3 0 3 5 1 9 4 2 4 9
2 8 8 2 8 5 8 9 9 9 9 8 2 8 2 8 5 8 9 9 9 8
2 8 8 2 8 5 8 9 9 9 9 5 3 0 3 5 1 9 4 2 4 9
3 0 0 3 5 1 9 4 2 2 4 9 6 3 6 9 7 9 8 1 8 9
Filtrage: Passe Bas Vs Passe Haut
• Passe Bas:
• Suppression ou réduction de bruit.
• Lissage/floutage (smoothing/blurring)
• Ex Filtre: Moyenneur, Gaussien, Median, …
• Passe Haut:
• Détection de contours (passe haut).
• Ex Filtre : Robert, Sobel, Prewit, Laplace
Types de bruit communs
1. Bruit gaussien :
Suit la distribution Gaussienne pour
obtenir une variation d’intensités.
2. Bruit poivre et sel :
Contient des occurrences aléatoires
de pixels blancs et noirs
3. Bruit impulsionnel :
Contient des occurrences aléatoires
de pixels blancs
Types de bruit communs
1. Bruit gaussien :
La quantité de bruit est relatif à
l’écart-type de la gaussienne.
2. Bruit poivre et sel :
La quantité de bruit est exprimé par
une densité (un pourcentage)
3. Bruit impulsionnel :
La quantité de bruit est exprimé par
une densité (un pourcentage)
Filtre Passe-Bas
Pour enlever les bruits, et adoucir les contour!
Filtre Moyenneur
• Filtre passe-bas.
• Tout filtres de taille (m,n) dont les coefficient sont égales à 1/mn est
appelé filtre moyenneur.
• Sa fonction: calcule la moyenne du voisinage.
• Effet: Elimination de bruit.
Filtre Décroissant
• Famille de Filtre Passe-bas.
• Les filtres décroissant sont une famille de filtre qui sont de coefficients
positifs qui s’affaiblissent lorsqu’ils s’éloignent du centre.
• Utilisé pour « lisser l’image » et « réduire le bruit »
1 2 1 1
2 4 2 = 1 2 1 * 2
• Ex: 1/25*( 1 2 1
) 1
L’opération de filtrage est une somme de « produits » (coefficients de filtre avec
valeurs des pixels).
• Ils sont dit linéaires car ils vérifient la condition de linéarité
•
• Filtrer la somme de deux images = filtrer séparément les deux images puis faire la somme.
• Si un tel cas se présente: On préfère faire la somme des deux images (moins couteux en
temps) que de filtrer les deux images séparément.
• Tout filtre qui ne fonctionne pas ainsi est appelé Non-linéaire (ex:filtre
median!)
Filtre Linéaire Vs Non-Linéaire
Linéaire: Non-Linaire:
• Moyenne (vu) • Median (vu)
• Gaussien (vu) • Diffusion
• Kirsch • Kuwahara
• Robinson • SNN
• MDIF • Déparasitage
• DOG (Difference Of Gaussian) • Harris
• LOG (Logarithm of Gaussian)
Diffusion
• Calculs les différences entre chaque voisin et le pixel central.
• La différence sera utilisée comme paramètre d’une fonction qui
calcule une proposition de modification.
• La somme de ces proposition est pondérée par une valeur « delta ».
• Proposition de fonction (Hakim et Perona):
Kuwahara
• Calculer la moyenne et l’écart-type de 4 sous-voisinage,
• Remplacer le centre (pixel 0) par la moyenne du groupe ayant le plus
petit écart-type.
•
SNN (Symmetric Nearest Neighbor)
• Pour chaque deux voisins symétrique ( et ), on ne retient que le
niveau de gris le plus proche du niveau de gris du pixel central.
• On calcule la moyenne des quatre éléments obtenues.
•
Filtre de Déparasitage (Despeckle)
• Calculer la moyenne du voisinage ( ).
• Calculer l’écart-type du voisinage ( ).
• Remplacer le pixel (central) si sa valeur v satisfait: .
• Utilisé généralement dans des bruit multiplicatif!
Harris (Détecteur de coins)
• ( )
• est la matrice de Harris
• La moyenne des dérivés partielles sur le voisinage
Un contour est la frontière qui sépare deux objets dans une image
Types de contours
Effet de Bruit sur un contour
•Contour bruités: effet de bruit en
regardant le profile des
différents contours
Vecteur
Scalaire
Détection de contours
• Dans le contour épais de la
figure (qu’on ne souhaite pas
avoir); le Laplacien nous aide a
trouver le fil de la plus grande
pente (un f. On le détecte grâce
au passage vers 0 du Laplacien.
• Le Laplacien sera étudier
approfondie ultérieurement.
Gradient
•Vecteur à 2 composantes sera associé à chaque pixel de l’image .
•Défini par son module G et sa direction θ
)= (
Gradient
•Pour chaque pixel, on calcule le gradient dans les 2 directions
orthogonales Gx et Gy
•Un contour est détecté si G dépasse une certaine valeur
(seuil)
•La carte de direction ( ) est utilisée pour suivre les contours
Calcul du module du Gradient se fait de
plusieurs façons
•Cas discret:
Détecteurs de gradient par masques
•Masques de taille 2x2 ou 3x3 pixels
•Somme des coefficients de ces filtres est nulle
–Réponse nulle dans une zone de « niveau de gris constant »
•Coefficients antisymétriques
• avec Gx (z6 z5 ) Gy (z8 z5 )
• z6 z5 z8 z5
Filtre Gradient: Exemple
|Gx| |Gy|
z7 z8 z9 0 1 -1 0
• avec Gx (z9 z5 ) , Gy (z6 z8 )
• z9 z5 (z6 z8
Filtre Gradient de Roberts: Exemple
|Gx| |Gy|
•
Filtre Gradient de Prewitt
• La dérivée est réalisée dans les deux sens diagonales:
z1 z2 z3 Gx Gy
z4 z5 z6 1 0 -1 1 1 1
1 0 -1 0 0 0
z7 z8 z9
1 0 -1 -1 -1 -1
• avec Gx (z1 +z4 +z7) -(z3+z6 +z9) , Gy (z1 + z2 +z3) -(z7+z8 +z9)
•
Filtre Gradient de Prewitt: Exemple
|Gx| |Gy|
•
Filtre Gradient de Sobel
• La dérivée est réalisée dans les deux sens diagonales:
z1 z2 z3 Gx Gy
z4 z5 z6 1 0 -1 1 2 1
2 0 -2 0 0 0
z7 z8 z9
1 0 -1 -1 -2 -1
• avec Gx (z1 +2z4 +z7) -(z3+2z6 +z9) , Gy (z1 + 2z2 +z3) -(z7+2z8 +z9)
•
Filtre Gradient de Sobel: Exemple
|Gx| |Gy|
• Filtres de Robinson:
• Les coefficients représentent la dérivée première sur x(resp. y) d’une
gaussienne G(I,j). C-à-d:
•
Difference of Gausian: DOG
• Calcul du noyau : les coefficients sont le résultat de la soustraction de 2 gaussiennes de
variances différentes :
•
( ) ( )
• &
• Principe : Un filtre gaussien peut être vu comme un filtre passe-bas (seule les basses
fréquences sont conservées), d'où l'effet de flou observé dans le filtre " flou gaussien ".
En effectuant une soustraction de 2 gaussiennes, on a alors l'équivalent d'un filtre passe-
bande.
Laplacien of Gausian: LOG
• Calcul du noyau : somme des dérivées secondes sur x et y de la gaussienne
G(i,j).C'est à dire :
25
Dérivation du 2nd ordre
Laplacien
•
• (simple changement de variable x = x-1)
•
f(x-1,y-1) f(x,y-1) f(x+1,y-1) Filtre pour Lx=
,
= 𝑓 x + 1, 𝑦 − 2𝑓 𝑥, 𝑦 + 𝑓 𝑥 − 1, 𝑦
L8
1 1 1
1 -8 1
1 1 1
• Remarque: Si on inverse le signe du filtre, ça reste un filtre laplacien valide!
Laplacien
• Exemple
Détection de contours
•L’image contours C est construite en appliquant un seuil à l’image du
gradient G (norme du gradient).
•Choisir un Seuil S, telque si G(x,y)>S alors C(x,y)=255 sinon C(x,y)=0.
•Problème :
–Comment déterminer le niveau du seuil S pour détecter les contours ?
–Le seuillage automatique est plus simple pour les images en niveaux de gris que pour les
images du gradient car celles-ci n’ont qu’un seul maximum en général
•Un seuil trop bas = sur-détection : on détecte beaucoup
de bruit et des contours épais apparaissent
2) G0 est un contour si : ou si
Image filtrée
Masque Image Originale
moyenneur/gaussien
•
Filtre « High-boost »
•
• (
• ( -
IMAGE
IMAGE Filtre
Filtrée