class="dp-cpp">- int main(int argc, char* argv[])
- {
- unsigned int i;
- CvMat* s = cvCreateMat(1,32,CV_32FC1);
- CvMat* d = cvCreateMat(1,32,CV_32FC1);
- CvMat* s2 = cvCreateMat(1,32,CV_32FC1);
- for(i=0;i<32;i++)
- cvSetReal2D(s,0,i,i);
-
-
- for(i=0;i<32;i++)
- printf("%6.2f ",cvGetReal2D(s,0,i));
- printf(" ");
-
-
- cvDFT(s,d,CV_DXT_FORWARD);
-
- printf("The result of DFT: ");
- for(i=0;i<32;i++)
- printf("%6.2f ",cvGetReal2D(d,0,i));
-
-
- cvDFT(d,s2,CV_DXT_INVERSE);
- printf(" The result of IDFT: ");
- for(i=0;i<32;i++)
- printf("%6.2f ",cvGetReal2D(s2,0,i));
- printf(" ");
-
- system("pause");
-
- return 0;
- }
结果:
0.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00 8.00 9.00
10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00 19.00
20.00 21.00 22.00 23.00 24.00 25.00 26.00 27.00 28.00 29.00
30.00 31.00
The result of DFT:
496.00 -16.00 162.45 -16.00 80.44 -16.00 52.74 -16.00 38.63 -16.00
29.93 -16.00 23.95 -16.00 19.50 -16.00 16.00 -16.00 13.13 -16.00
10.69 -16.00 8.55 -16.00 6.63 -16.00 4.85 -16.00 3.18 -16.00
1.58 -16.00
The result of IDFT:
0.00 32.00 64.00 96.00 128.00 160.00 192.00 224.00 256.00 288.00
320.00 352.00 384.00 416.00 448.00 480.00 512.00 544.00 576.00 608.00
640.00 672.00 704.00 736.00 768.00 800.00 832.00 864.00 896.00 928.00
960.00 992.00
Press any key to continue . . .
(hardVB) |