Bonjour,
J'ai poste la question sur le forum de calcul scientifique python (http://www.developpez.net/forums/d85...hon-numpy-fft/), mais je me demande maintenant si mon probleme ne vient pas de mon utilisation de cvDFT...
Voila mon code C :
voila mon code python et son resultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 double a[] = { 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4 }; CvMat *Ma = cvCreateMat(5, 5, CV_64FC1); Ma->data.db = a; cvDFT(Ma, Ma, CV_DXT_FORWARD, 0); printMatrix(a, 5, 5); >> [ 50 0 0 0 0 ] [ -12.5 0 0 0 0 ] [ 17.2048 0 0 0 0 ] [ -12.5 0 0 0 0 ] [ 4.0615 0 0 0 0 ]
Je ne suis pas le seul a avoir eu le probleme : http://sci.tech-archive.net/Archive/.../msg00091.html ici avec un vecteur simple...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 >>> a = np.mgrid[:5, :5][0] >>> a array([[0, 0, 0, 0, 0], [1, 1, 1, 1, 1], [2, 2, 2, 2, 2], [3, 3, 3, 3, 3], [4, 4, 4, 4, 4]]) >>> real(np.fft.fft2(a)) array([[ 50. , 0. , 0. , 0. , 0. ], [-12.5, 0. , 0. , 0. , 0. ], [-12.5, 0. , 0. , 0. , 0. ], [-12.5, 0. , 0. , 0. , 0. ], [-12.5, 0. , 0. , 0. , 0. ]]) >>>
Je me doute que le probleme ne viens pas d'opencv mais de mon utilisation ^^ Quelqu'un sais ou je me trompe ?
merci d'avance !
Partager