Labview使用图像处理的离散傅里叶变换

[复制链接]
查看132 | 回复0 | 2025-1-2 08:16:42 | 显示全部楼层 |阅读模式
>
在《机器视觉算法应用》第二版一书中,阅读到3.2.4 傅里叶变换,之前傅里叶变换在做信号处理的时候有使用过,将一段连续的时域时候,经过FFT的变换,变成了一段频域信号,方便分析信号的频率,从而可以进行处理特定的频率,用滤波器将其筛选掉。这里不讲述傅里叶变换的原理,因为我自己也还没有弄明白其缘由。
连续傅里叶变换的公式
以下是书中提及到的一维函数连续信号的傅里叶变换的公式:
以及二维傅里叶变换和逆变换如下:
H(x)代表频率域,而h(x)代表时域,以下的F(x)代表频率域,而f(x)代表时域。
但是书中的公式和网上所能查找的公式中是有差异的,以e为底数的复数网上的二维傅里叶变换公式是负数,二维傅里叶逆变换是正数。
这是网上找到的时域到频率域的一维傅里叶变换的公式,明显和书中3.27式中的是e为底数的指数复数正负相反;
同样网上搜索到的一维傅里叶逆变换的符号同样也是相反的。
因此傅里叶公式以网上搜索到的为准。
疑问一:书中和网上的差异先mark,希望以后能到找到其原因进行解释。
欧拉公式
由欧拉公式和连续一维傅里叶变换公式得知,我们可以认为h(x)是由不同频率和不同振幅的正弦波和余弦波组成。
离散傅里叶变换
实际上图像中的数据是离散的,因此需要使用到离散的傅里叶变换,《机器视觉算法应用》第二版书中,提及到的二维离散傅里叶变换的公式以及逆变换的公式如下:
也是存在e为底数的指数和网上的正负有差异:
如何在Labview中实现
首先,在Labview中绘制一张中间白色周围黑色的图片:
运行之后的效果如下:
在Labview实现傅里叶变换有三种方式,第一种是使用视觉运动的工具包:
注意需要新建一个复数的图像,来存放离散傅里叶变换后的图片:
经过处理后的效果如下:
第二种是使用信号处理中的FFT函数:
程序框图如下:
经过处理后的效果如下:
以下是未移位的效果:
第三种,可以使用离散二维傅里叶变换对输入的数据进行处理,之后输出成照片。但是疑问二:我编写的公式有不对或者应该有不理解的地方,没有达到第一种和第二种实现的效果
将错误的代码贴在下面,希望以后可以解决:
运行后的效果:
文章参考链接:

《数字图像处理中的傅里叶变换》(https://blog.csdn.net/weixin_66244480/article/details/135044093)


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则