Calcul du Gradient d'une image avec Scilab
Méthode : Gradient de Sobel
Le gradient de Sobel est défini par un noyau de 3 lignes et 3 colonnes.
Le gradient de Sobel selon x est
Le gradient de Sobel selon y est
Dans scilab ce gradient est disponible directement selon x et y, Sobel(img, CV_16S, 1, 0, 3);
pour la direction x et Sobel(img, CV_16S, 0, 1, 3);
pour la direction y. CV_16S indique que le résultat sera un entier signé compris entre -32768 et 32767.
Le code Scilab pour afficher les gradients selon x et y est le suivant :
1
scicv_Init();
2
imgCouleur=imread("c:/temp/OCV_Haribo.png"); // Lecture de l'image
3
img=cvtColor(imgCouleur,CV_BGR2GRAY); // conversion de l'image couleur en niveau de gris
4
dx = Sobel(img, CV_16S, 1, 0, 3);
5
dy = Sobel(img, CV_16S, 0, 1, 3);
6
absdx=convertScaleAbs(dx);
7
absdy=convertScaleAbs(dy);
8
scf(1);matplot(absdx)
9
scf(2);matplot(absdy)
10
Gradient selon y |
Gradient selon x |