Les filtresapplications

  • Idée générale

    PREWITT : approximation du gradient par convolution de l'image avec des masques de convolution.

    SOBEL : Le filtre de Sobel détecte séparément les bords horizontaux et verticaux sur une image en niveaux de gris.

Le filtre de Prewitt

Prewitt est l'un des premiers algorithmes de détection de contours dans le domaine du traitement d'image. Il s'insipire fortement de la méthode du Laplacien que nous avons vue. Il s'agit d'une approximation du gradient par convolution de l'image avec des masques de convolution.
Les différents masques de convolution de Prewitt sont :

Pour la suite, nous allons nous intéresser au 1er et au 3ème filtre. La premier filtre étant un filtre verticla et le 3ème horizontal.

Le filtre de Sobel

Le filtre de Sobel détecte séparément les bords horizontaux et verticaux sur une image en niveaux de gris. Les images en couleurs sont transformées RVB en niveaux de gris. L'application du filtre aboutit à une image transparente avec de fines lignes noires et quelques restes de couleurs, comme avec le filtre Laplace, mais les lignes sont plus épaisses et plus noires.

Cette méthode combine à la fois le lissage par le filtre monodomensionnel [1,2,1] et la dérivée selon une direction perpendiculaire au lissage, obtenue par le filtre [1,0,-1]. On peut voir le résultat comme la moyenne des dérivées des moyennes. Pour cela nous commençons par calculer les résultats des lissages:

Puis la dérivée

Nous notons aussi que la dérivée devrait être divisée par deux. Cependant, afin d'obtenir un meilleur résultat visuel, on préfère ne pas diviser par deux. Dans le cas d'un image dont les valeurs sont situées entre 0 et 255, la différence maximale en valeur absolue est toujours 255. Considérant que seules les valeurs maximales des valeurs absolues nous intéressent, on omet ce facteur de 2 et on obtient :

Ce qui donne les masques de convolution suivants:

L'image de contours de Sobel est obtenue en calculant, pour chaque pixel, la racine carrée de la somme des carrés des valeurs des pixels dans chacune des images intermédiaires, obtenues chacune à l'aide des filtres dI/dx et dI/dy.
On peut appliquer le détecteur de Sobel sur des images en couleurs en appliquant la même algorithme sur les différentes composantes RGB prises séparément. On peut également appliquer le détecteur de Sobel uniquement sur la composante de luminance.