Exemple : Outils de recherche de contours de convolution
Les fonctions freichen, sobel, prewitt et roberts permettent de détecter les contours d'une image en convolutionnant divers noyaux de manière séquentielle sur la matrice. La détection de contour sert à améliorer la lisibilité des images pour certains types de caractéristiques liés aux contours.
Cette fonction convolve une matrice d'images avec les deux noyaux suivants :
1. Lisez dans une image.
2. Appliquez la fonction freichen à l'image.
3. Comparez les deux images.
(brain.bmp)
(brain_fre.bmp)
Le détecteur de contours freichen est utile dans le cas d'images où divers niveaux d'intensité définissent les différents contours. Ces noyaux sont plus sensibles aux valeurs relatives de pixels, indépendamment de leur luminosité.
sobel
Cette fonction convolve une matrice d'images avec les deux noyaux suivants :
Appliquez la fonction sobel à l'image d'entrée.
(brain_sob.bmp)
Le noyau sobel permet une détection uniforme des contours, bien qu'elle accorde plus de poids aux pixels orthogonaux qu'aux pixels diagonaux.
prewitt
Cette fonction convolve une matrice d'images avec les deux noyaux suivants :
Appliquez la fonction prewitt à l'image d'entrée.
(brain_pre.bmp)
Le noyau prewitt considère de la même manière les différentiels de pixels orthogonaux et diagonaux.
roberts
Cette fonction convolve une matrice d'images avec les deux noyaux suivants :
Appliquez la fonction roberts à l'image d'entrée.
(brain_rob.bmp)
Le noyau roberts tient compte des différentiels de pixels diagonaux uniquement, ce qui rend les coins plus nets, mais peut rendre floues les petites caractéristiques horizontales et verticales.