lisanfuliyebianhuan

所属分类:图形图像处理
开发工具:Visual C++
文件大小:761KB
下载次数:22
上传日期:2006-04-04 12:24:55
上 传 者wqzmodern
说明:  简单方便的DFT(离散傅立叶变换)方法处理图像问题,希望对大家有用。
(easy DFT (Discrete Fourier Transform) approach to image problems in the hope that useful for all.)

文件列表:
DFT\DFT.c (6954, 2005-05-11)
DFT\文件说明.txt (400, 2005-05-11)
DFT\DATAOUT.TXT (9864, 2005-05-11)
DFT\DFT.EXE (58864, 2005-05-11)
DFT\complex.c (537, 2005-05-11)
DFT\STDEFINE.H (962, 2005-05-03)
DFT\font.c (4298, 2005-05-11)
DFT\ASC1526.Dat (13312, 2005-05-09)
DFT\Hzk3232.Dat (1046784, 2005-05-09)
DFT\ASC1221.Dat (10752, 2005-05-09)
DFT\HZK2424.Dat (588816, 2005-05-09)
DFT (0, 2005-05-08)

“离散余弦变换演示程序”使用说明 离散余弦变换(DFT)是数字信号处理中最基本的变换,在对数字音频、数字图像的处理过程中都需要使用到离散余弦变换。 本程序实现了简单的DFT变换,并制作了图形化的演示程序。程序中采用的是常规的DFT而不是快速的离散余弦变换(FFT)。由于只是演示程序,所以对代码没有做什么优化,对较长的序列也没有做特别的处理,只是简单的把序列长度限制在1000以内。 程序采用了图形化的界面,演示DFT变换的过程和结果,并且可以将变换结果保存到文件,以备使用。 程序使用C语言书写,在Turbo C 2.0环境下编译通过。程序代码书写清晰、美观,必要之处都做了注释,可以方便的阅读和学习。 由于Turbo C的内存限制,本程序不可能对较长序列进行DFT变换,因此在程序中,简单的将序列的长度限制为1000。并且,由于计算机的运算精度有限,并且在程序中也没有做特别的处理,因此会出现个别数据的误差(特别是在计算复数的相角时误差比较明显)。 程序中,给出了三种序列的输入方法,一种是手动输入、一种是由程序生成一个矩形窗序列、一种是从一个数据文件中读入数据。数据文件的格式是:文本文件,首行给出序列的长度,后面每一行写一个复数,按实部、虚部的顺序排列,中间用“#”号分隔。 整个程序界面友好,全中文提示,使用图形界面显示原序列和DFT变换后的序列。在变换完后,还可以按照提示保存变换结果到一个数据文件里。 程序中中文的显示,采用了本工作室即将推出的Graphics++的部分代码,效果良好。 使用示例: 1.手动输入数据 进入菜单后选择1,开始手动输入数据,按照提示输入序列长度,可输入10。然后按照提示输入数据,数据是一个复数序列,输入时用空格分隔实部和虚部,例如输入以下数据: 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 这实际上是一个矩形窗序列。 输入完毕后,程序将使用图形显示你刚才输入的序列,显示完毕后,程序会对输入的序列进行DFT变换,然后将结果显示出来。 2.自动生成矩形窗序列 使用这个功能,将由程序自动生成一个矩形窗序列。例如,可以输入序列长度500,矩形窗的长度5。 3.从数据文件读入数据 使用这个功能,可以从一个数据文件读入数据,来作为输入序列。 RockCarry 2005.5.11

近期下载者

相关文件


收藏者