24小时热门版块排行榜    

查看: 1072  |  回复: 0

baobiao007

木虫 (职业作家)


[资源] 【分享】二维傅里叶变换c程序

#include
#include
#include
#include"FFT.h"
//申请二维动态数组的函数
void MySpace(float ***p, int m, int n)
{
        int i;
        *p=(float **)calloc(m,sizeof(float *));
        for(i=0; i                 (*p)=(float *)calloc(n,sizeof(float));
}
//释放申请的二维动态数组
void FreeMySpace(float ***p, int m)
{
        int i;
        for(i=0; i                 free((*p));
        free(*p);
}
//矩阵转置a[m][n]->b[n][m]
void Zhuan(float ***a,float ***b,int m,int n)
{
        int i,j;
        for(i=0; i                 for(j=0; j                         (*b)[j]=(*a)[j];
}
//2D-FFT tag=1,正变换;tag=-1,反变换
void FFT2D(float **xr,float **xi,int m,int n,int tag)
{
        int i,j,k1,k2;
        float **xtr, **xti;
        MySpace(&xtr,n,m);
        MySpace(&xti,n,m);
        k1=(int)(log(n)/log(2)+0.5);
        k2=(int)(log(m)/log(2)+0.5);
    for(i=0; i                 fft(xr,xi,k1,tag);

        Zhuan(&xr,&xtr,m,n);
        Zhuan(&xi,&xti,m,n);
        for(i=0; i                 fft(xtr,xti,k2,tag);
        Zhuan(&xtr,&xr,n,m);
        Zhuan(&xti,&xi,n,m);
        FreeMySpace(&xtr,n);
        FreeMySpace(&xti,n);
}

void main()
{
        int i,j;
        const int M=64;
        const int N=256;
        float **xr, **xi;
        FILE *fp1, *fp2;
   
        MySpace(&xr,M,N);
        MySpace(&xi,M,N);
        fp1=fopen("2D-test-64-256.dat","rb" );
        fp2=fopen("2D-64-256.dat","wb" );
        for(i=0; i                 for(j=0; j                         fread(&xr[j],sizeof(float),1,fp1);
        FFT2D(xr,xi,M,N,1);
    for(i=0; i                 for(j=0; j                         fwrite(&xr[j],sizeof(float),1,fp2);
    FreeMySpace(&xr,M);
    FreeMySpace(&xi,M);
    fclose(fp1);
    fclose(fp2);
}
原始图形:

变换结果:


[ Last edited by baobiao007 on 2011-2-13 at 17:54 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

相关版块跳转 我要订阅楼主 baobiao007 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料专硕326求调剂 +5 墨煜姒莘 2026-03-15 5/250 2026-03-16 21:30 by 木瓜膏
[考研] 0854控制工程 359求调剂 可跨专业 +3 626776879 2026-03-14 9/450 2026-03-16 17:42 by 626776879
[考研] 中科院材料273求调剂 +4 yzydy 2026-03-15 4/200 2026-03-16 15:59 by Gaodh_82
[基金申请] NSFC申报书里申请人简历中代表性论著还需要在申报书最后的附件里面再上传一遍吗 20+5 NSFC2026我来了 2026-03-10 14/700 2026-03-15 23:53 by 不负韶华的虎
[考博] 东华理工大学化材专业26届硕士博士申请 +6 zlingli 2026-03-13 6/300 2026-03-15 20:00 by ryzcf
[考研] 294求调剂 +3 Zys010410@ 2026-03-13 4/200 2026-03-15 10:59 by zhq0425
[考研] 265求调剂 +4 威化饼07 2026-03-12 4/200 2026-03-14 17:23 by userper
[考研] 材料与化工(0856)304求B区调剂 +7 邱gl 2026-03-10 11/550 2026-03-14 12:18 by 邱gl
[考研] 材料080500调剂求收留 +3 一颗meteor 2026-03-13 3/150 2026-03-14 10:54 by peike
[考研] 265求调剂 +9 小木虫085600 2026-03-09 12/600 2026-03-14 01:11 by JourneyLucky
[考研] 一志愿华中农业大学071010,总分三百二,求调剂 +3 困困困困坤坤 2026-03-10 3/150 2026-03-14 00:35 by JourneyLucky
[考研] 311求调剂 +8 zchqwer 2026-03-10 8/400 2026-03-14 00:01 by JourneyLucky
[考研] 290求调剂 +9 ADT 2026-03-11 9/450 2026-03-13 21:55 by JourneyLucky
[考研] 304求调剂 +7 7712b 2026-03-13 7/350 2026-03-13 21:42 by peike
[考研] 333求调剂 +3 球球古力 2026-03-11 3/150 2026-03-13 21:27 by JourneyLucky
[考研] 0703化学求调剂 +7 绿豆芹菜汤 2026-03-12 7/350 2026-03-13 17:25 by njzyff
[考研] 290求调剂 +7 ADT 2026-03-12 7/350 2026-03-13 15:17 by JourneyLucky
[考研] 材料301分求调剂 +5 Liyouyumairs 2026-03-12 5/250 2026-03-13 14:42 by JourneyLucky
[考研] 0817化学工程与技术考研312分调剂 +3 T123 tt 2026-03-12 3/150 2026-03-13 10:49 by houyaoxu
[考研] 0703化学调剂 +3 三dd. 2026-03-10 3/150 2026-03-10 15:45 by peike
信息提示
请填处理意见