龙空技术网

零基础学习Opencv第19节-图像中离散傅里叶变换

清泉视觉科技工作室 209

前言:

目前我们对“离散傅里叶变换及其快速算法实验结论”大概比较着重,大家都需要剖析一些“离散傅里叶变换及其快速算法实验结论”的相关内容。那么小编也在网上网罗了一些对于“离散傅里叶变换及其快速算法实验结论””的相关文章,希望小伙伴们能喜欢,大家一起来了解一下吧!

1、离散傅里叶变换(DFT)

DFT是对离散时间的傅里叶变换DTFT的采样,两者关系如下:

DTFT就是对一个一般的非周期离散时间序列做傅里叶变换,得到周期的连续频谱,但是为了方便计算机处理,我们希望频谱也是离散化的,那么就需要对频谱进行采样,然后才可以储存和计算。那么,怎么直接从离散序列得到其离散频谱?根据周期对应离散,非周期对应连续的原理,我们讲非周期的离散序列进行周期延拓,成为周期离散序列,那么在进行傅里叶变换就可以得到周期离散的频谱了,这就是DFT,当然,DFT主要取得是周期频谱得主值序列就好了。

2、DFT与图像处理的关系

图像得离散傅里叶变换公式如下:

将空间域得像素信息看作是离散得序列,经过DFT得到实数图像,虚数图像或者幅度图像,相位图像。一般图像处理过程中,有幅度图像就够了,因为幅度图像包含了全部几何信息。

在频率域中,高频部分代表图像得细节和纹理;低频部分代表了图像得轮廓。

如果对图像经过低通滤波,那么滤波之后就只剩轮廓。

DFT在图像中得运用可以有:

图像增强,图像去噪,边缘检测,特征提取,图像压缩等

3、OPencv中得dft()函数

作用是对以为或者二位得数组进行离散傅里叶不变换

dft(输入矩阵名,输出矩阵名,int flag(),int nonzeroRoes = 0)

flag是标识符,取值及含义如下:

这里的反向变换就是逆Z变换,上面的flag可以用加法的形式同时用多个dft(tmp,tmp,DFT_INVERSE+DFT_SCALE,C.rows)

nonzeroRows默认是0,若取值非0,那么函数会假设只有输入矩阵的第一个非零行包含非零元素,这样的话对有利于函数对其他进行更高效的处理。

写点个人看法,仅代表个人观点:图像处理以变量不同分:时间域,空间域,频率域。这三个是目前比较常用的。本节讲的傅里叶变换就属于频率域。在之前有相关学者提出频率域的东西不符合人眼机制。这个确实,但是,这并不代表频率域的处理算法不好。在雷达成像上还是用的比较多的,也是处理比较方便。所以任何一种算法都会有适合它的领域,即使是学者专家他也只是代表某一个领域。

标签: #离散傅里叶变换及其快速算法实验结论