gpt4 book ai didi

matlab - 如何在opencv中将Matlab fft函数转换为cvDft

转载 作者:行者123 更新时间:2023-12-02 16:42:58 29 4
gpt4 key购买 nike

我对opencv非常陌生。我需要将代码从Matlab转换为opencv。

a = [0;0;0;0;0;0;0;0;0.09707;0.0998;0.1202;-0.1606;-0.0913;0.1523;0.1288];
c = abs(fft(a,15));
c >> 0.3463
0.1056
0.3608
0.5705
0.4232
0.2407
0.1486
0.1488
0.1488
0.1486
0.2407
0.4232
0.5705
0.3608
0.1056

C是我从matlab获得的结果。而我将为此使用cvDFT时,结果是不同的。请帮助我举一些例子..我的c代码在下面给出...
CvMat* fftin = cvCreateMat(nn,1,CV_64FC2);
CvMat* fftout = cvCreateMat(nn,1,CV_64FC2);
cvZero(b); ////consider a hav the value of mat b is empty for imgin
cvMerge(a,b,NULL,NULL,fftin);
cvDFT(fftin,fftout,CV_DXT_FORWARD,0);
cvSplit(fftout,out_real,out_img,0,0);
for (int i = 0;i<out_real->rows;i++)
{
double val11= cvGetReal2D(out_real,i,0);
double val12= cvGetReal2D(out_img,i,0);
val11 = abs(val11);
val12 = abs(val12);
printf("DFT value is:%f %f\n",val11,val12);
cvSetReal2D(C_out,i,0,val11);
}

最佳答案

在第一个示例中,您似乎正在打印结果中每个复数值的大小。但是在第二个示例中,您似乎正在打印复数值中每个分量的绝对值(例如X和Y而不是长度或斜边)。

关于matlab - 如何在opencv中将Matlab fft函数转换为cvDft,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10425658/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com