title: Filtre de Prewitt
text: # Filtre de Prewitt
  
  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
  
  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
  
  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 $G_x$ et $G_y$ 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 :
  
      $\mathbf {G_{x}} ={\begin{bmatrix}-1&0&+1\\-1&0&+1\\-1&0&+1\end{bmatrix}}*\mathbf {A} \quad {\mbox{et}}\quad \mathbf {G_{y}} ={\begin{bmatrix}-1&-1&-1\\0&0&0\\+1&+1&+1\end{bmatrix}}*\mathbf {A}$
  
  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, $G_x$ peut s'écrire :
  
      ${\begin{bmatrix}-1&0&+1\\-1&0&+1\\-1&0&+1\end{bmatrix}}={\begin{bmatrix}1\\1\\1\end{bmatrix}}{\begin{bmatrix}-1&0&1\end{bmatrix}}$
  
  Enfin, nous pouvons calculer l'amplitude du gradient via la norme du vecteur ainsi défini en tout point :
  
      $\mathbf {G} ={\sqrt {{\mathbf {G} _{x}}^{2}+{\mathbf {G} _{y}}^{2}}}$
  
  De même, nous pouvons calculer sa direction :
  
      $\mathbf {\Theta } =\operatorname {arctan} \left({\mathbf {G} _{y},\mathbf {G} _{x}}\right)$
  
  Par exemple, $\Theta =0$ correspond à un front vertical qui est plus sombre du côté droit.
  
  ## Exemple
  
  | 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
  
  * Vision artificielle
  
  ## Lien externe
  
  * (en) Bibliographic citations for Irwin Sobel
  