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?
utilise cvFilter2D avec ta matrice
=>
OpenCv Addict
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));
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager