Filtre de Prewitt

Traitement d'image

Le filtre de Prewitt est utilisé en traitement d'image pour la détection de contours. Il tient son nom de Judith M. S. Prewitt.

Description simplifiée

modifier

En termes simples, le filtre calcule le gradient d'intensité lumineuse de l'image à chaque point, donnant la direction et le taux de la plus grande décroissance. Le résultat nous indique les changements abrupts de luminosité de l'image et donc exhibe les contours probables de celle-ci. En pratique cette technique est plus fiable et facile à mettre en œuvre qu'un algorithme plus direct.

Techniquement, il s'agit d'un opérateur différentiel discret calculant une approximation du gradient d'intensité lumineuse d'une image.

Formulation

modifier

Mathématiquement, le filtre est composé de deux matrices 3×3 que l'on va convoluer avec l'image originale pour calculer une approximation de sa dérivée en tout point. La première matrice donne la dérivée horizontale et la seconde donne la dérivée verticale. Si nous définissons A comme étant l'image source, et Gx et Gy les deux images dérivées horizontale et verticale (respectivement) de l'intensité lumineuse de l'image, on peut les calculer ainsi avec l'opération de convolution 2D suivante :

 

Cet opérateur ainsi défini pouvant se décomposer en un produit d'une moyenne et d'une différentielle, il calcule le gradient lissé.

Par exemple, Gx peut s'écrire :

 

Enfin, nous pouvons calculer l'amplitude du gradient via la norme du vecteur ainsi défini en tout point :

 

De même, nous pouvons calculer sa direction :

 

Par exemple,   correspond à un front vertical qui est plus sombre du côté droit.

Exemple

modifier
 
Image en nuances de gris d'un mur de briques et d'un râtelier à vélo
 
Gradient avec le filtre de Prewitt d'une image en nuances de gris d'un mur de briques et d'un râtelier à vélo

Article connexe

modifier

Lien externe

modifier

Notes et références

modifier