//临时变量
double dTmpOne;
double dTmpTwo;
//进行傅里叶变换的宽度和高度(2的整数次幂)
//图像的宽度和高度不一定为2的整数次幂
int nTransWidth;
int nTransHeight;
//计算进行傅里叶变换的宽度(2的整数次幂)
dTmpOne = log(Width)/log(2);
dTmpTwo = ceil(dTmpOne);
dTmpTwo = pow(2,dTmpTwo);
nTransWidth = (int) dTmpTwo;
//计算进行傅里叶变换的高度(2的整数次幂)
dTmpOne = log(Height)/log(2);
dTmpTwo = ceil(dTmpOne);
dTmpTwo = pow(2,dTmpTwo);
nTransHeight = (int) dTmpTwo;
pCTData =new CComplexor [nTransWidth*nTransHeight];
pCFData =new CComplexor [nTransWidth*nTransHeight];
for(y=0;y<Height;y++)
{
for(x=0;x<Width;x++)
{
pCTData[y*nTransWidth+x] = CComplexor(pScrImgDat[y*Width+x],0);
}
}
for(y=0;y<nTransHeight;y++)
{
for(x=0;x<nTransWidth;x++)
{
if(y>Height||x>Width)
pCTData[y*nTransWidth+x] = CComplexor(0,0);
}
}
FFT图像补零
最新推荐文章于 2024-08-13 22:17:27 发布