Bonjour,
j'aurais besoin pour mon algorithme de construire les descripteurs de SURF manuellement. En effet, j'envoie à mon application un fichier de configuration contenant les valeurs des points d'intérêt de SURF (x, y, laplacian, dir, size, hessian). A partir de ces données, je tente de construire le CVSeq nécessaire pour la comparaison de descripteurs à l'aide de l'algorithme suivant :
Mais lors du calcul des coins de l'image source sur l'image dest, je n'obtiens pas le même résultat qu'en donnant directement l'image. J'ai aussi essayé de construire un tableau de CvSurfPoint plutôt que de float mais cela ne fonctionne pas non plus. Je n'ai plus aucune autre solution, est-ce-que je manque quelque chose ? Le souci, c'est que je n'ai pas accès à l'image du programme, je ne peux donc pas calculer directement à partir de l'image.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CvSeq* imageDescriptors = cvCreateSeq(0, sizeof(CvSeq), sizeof(CvSURFPoint), kp_storage); //initialisation de la séquence //Dans une boucle float *tmp2 = (float *)malloc(6*sizeof(float)); tmp2[0]=x; tmp2[1]=y; tmp2[3]=size; tmp2[4]=dir; tmp2[5]=hessian; tmp2[6]=lap; cvSeqPush(imageDescriptors, &tmp2);
Merci par avance.
Partager