如何用mathematica对一幅图像进行二维傅立叶变换

2024-12-16 12:39:04
推荐回答(1个)
回答1:

费了不少功夫,不过也学了不少。助人利己吧,呵呵~
找一个样例图片
img = Import["ExampleData/lena.tif"]

转化成灰度格式
img2 = ColorConvert[img, "GrayLevel"];

ImageData可以得到矩阵格式的数据,然后直接Fourier命令得到复数矩阵,这就是结果了。为了可视化,Abs取模并使用对数函数进行“再分布”(不知道这个词合不合适~),然后画出来!
ArrayPlot[Log[1 + Abs[Fourier[ImageData[img2]]]]]