离散Fourier变换,螅岔出礤在信息处理过程中应用广泛。比如,在处理图像的时候,计算机获得的是离散的图像数据,因此使用的变换也是离散的。下面,我介绍一下对离散数据进行Fourier变换的方法。
工具/原料
电脑
Mathematica
方法/步骤
1、首先,给出一个离散的随机数据。a=Table[RandomInteger[9],10]
2、直接套用Fourier:Fourier[a]得到的结果,是一组复数序列。
3、给出一幅图片:img=图片;
4、把图片转化为图片数据:data=ImageData[img];通过数据,可以知道,这是一幅四通道图片。
5、看看一个小区域上的数据,进行处理的结果。Fourier[data[[50;;53,60;;63]]]
6、对整个数据进行处理,并看看相对应的小区域的处理结果。掂迎豢畦Fourier[data][[50;;53,60;;63]]这样可以发现,整体的变换结果,和局部的变换结果,差异很大。
7、把Fourier变换之后的图片数据,转化为图片:Fourier[data]//Image
8、好像,Fourier变换之后擢爻充种的数据转化为图片后,系统把虚数部分忽略了,只保留了实数部分。(Fourier[data]//Image//ImageData)[[50;;53,60;;63]]
9、看看Fourier[data]的实数部分:(Fourier[data]//Re)[[50挢旗扦渌;;53,60;;63]]发现不一样。
10、看看Fourier[data]的虚数部分:(Fourier[data]//Im)[[50;;53,60;;63]]也不一样。
11、这是怎么回事呢?我糊涂了。(Abs[Fourier[data]]^2)[[50;;53,60;;63]]也不是。
12、算了,不明白。把图片变得不那么黑:100*Fourier[data]//Image
13、(1-10*Fourier[data])//Image