Quelqu'un saurait il comment effectuer une convolution de Sharpen en OpenCV svp?
Quelqu'un saurait il comment effectuer une convolution de Sharpen en OpenCV svp?
Je viens de trouver la matrice correspondante à Sharpen. Alors là je découvre l'utilisation d'une matrice sur une image (je découvre l'imagerie surtout!)
-1 -1 -1
-1 9 -1
-1 -1 -1
Comment faire pour l'appliquer dessus?
voila comment je l'ai utilisé :
et voila, a+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CvMat* kernel = cvCreateMat(hauteur,largeur,CV_64FC1); // Initialisation de tous les pixels de kernel cvmSet(kernel,y,x,val); // on affecte la valeur que l'on veut à chaque pixel du kernel ... ... IplImage* imageFiltre = cvCreateImage(cvGetSize(image),IPL_DEPTH_32F,1); // initialisation du résultat du filtrage cvZero(imageFiltre ); // initialisation de tous les pixels à zéro cvFilter2D(image,imageFiltre,kernel); cvReleaseImage(&image); // on libère la mémoire de l'ancienne image cvReleaseMat(&kernel); // on libère la mémoire du kernel du filtrage
(ha pardon k3ops j'avais pas vu ta réponse pendant que je cherchais à utiliser cvFilter2D merci !)
Merci...J'espère que ça va marcher!
Du coup voici le code (qui m'a lair d'ailleurs moins compliqué que le tien k3ops ?!)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 float sharpenValues[] = {-1,-1,-1, -1, 9,-1, -1,-1,-1}; CvMat sharpenMat = cvMat(3,3,CV_32FC1,sharpenValues); cvFilter2D(cvMilImage, cvMilImageProc, &sharpenMat, cvPoint(-1,-1));
Partager