0
dst是复杂的DFT结果,也是此部分代码完成时的最后结果。opencv DFT源代码我知道如何使用N点复DFT获得2N点DFT,但不知道为什么它需要在该过程后进行另一次旋转
for(j = 2, wave++; j < n2; j += 2, wave++)
{
/* calc odd */
h2_re = scale2*(dst[j+1] + t);
h2_im = scale2*(dst[n-j] - dst[j]);
/* calc even */
h1_re = scale2*(dst[j] + dst[n-j]);
h1_im = scale2*(dst[j+1] - t);
/* rotate i can not understand this*/
t = h2_re*wave->re - h2_im*wave->im;
h2_im = h2_re*wave->im + h2_im*wave->re;
h2_re = t;
t = dst[n-j-1];
dst[j-1] = h1_re + h2_re;
dst[n-j-1] = h1_re - h2_re;
dst[j] = h1_im + h2_im;
dst[n-j] = h2_im - h1_im;
}
为什么需要另一个旋转其中/ *旋转*/
谢谢!我是中国人,不擅长英语,对不起! – dahua