OpenCV计算机视觉学习(10)——图像变换(傅里叶变换,高通滤波,低通滤波) (3)

OpenCV计算机视觉学习(10)——图像变换(傅里叶变换,高通滤波,低通滤波)

  离散傅里叶逆变换由下式给出:

OpenCV计算机视觉学习(10)——图像变换(傅里叶变换,高通滤波,低通滤波)

  令R和I分别表示F的实部和虚部,则傅里叶频谱,相位角,功率谱(幅度)定义如下:

OpenCV计算机视觉学习(10)——图像变换(傅里叶变换,高通滤波,低通滤波)

OpenCV计算机视觉学习(10)——图像变换(傅里叶变换,高通滤波,低通滤波)

OpenCV计算机视觉学习(10)——图像变换(傅里叶变换,高通滤波,低通滤波)

2.3  用 FFT 计算二维离散傅里叶变换

  二维离散傅里叶变换的定义为:

OpenCV计算机视觉学习(10)——图像变换(傅里叶变换,高通滤波,低通滤波)

  二维离散傅里叶变换可通过两次一维离散傅里叶变换来实现:

  (1)做一维N点DFT(对每个 m 做一次,共 M 次)

OpenCV计算机视觉学习(10)——图像变换(傅里叶变换,高通滤波,低通滤波)

  (2)作M点的DFT(对每个k做一次,共N次)

OpenCV计算机视觉学习(10)——图像变换(傅里叶变换,高通滤波,低通滤波)

  这两次离散傅里叶变换都可以用快速算法求得,若M和N都是2的幂,则可以使用基二FFT算法,所需要乘法次数为:

OpenCV计算机视觉学习(10)——图像变换(傅里叶变换,高通滤波,低通滤波)

  而直接计算二维离散傅里叶变换所需要的乘法次数为(M+N)MN,当M和N比较大用FFT运算,可节约很多运算量。

2.4  图像傅里叶变换的物理意义

  图像的频率是表征图像中灰度变换剧烈程度的指标,是灰度在平面空间上的梯度。如:大面积的沙漠在图像中是一片灰度变化缓慢的区域,对应的频率值很低;而对于地表属性变换剧烈的边缘区域在图像中是一片灰度变化剧烈的区域,对应的频率值较高。傅里叶变换在实际中有明显的物理意义,设f 是一个能量有限的模拟信号,则其傅里叶变换就表示 f 的频谱。从纯粹的数学意义上看,傅里叶变换是将一个函数转换为一系列周期函数来处理的。从物理效果来看,傅里叶变换是将图像从空间域转换到频率域,其逆变换是将图像从频率域转换到空间域。换句话说,傅里叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数。

  傅里叶逆变换是将图像的频率分布函数变换为灰度分布函数傅里叶变换以前,图像(未压缩的位图)是由对在连续空间(现实空间)上的采样得到一系列的集合,通常用一个二维矩阵表示空间上各点,记为 z=f(x, y)。又因为空间是三维的,图像是二维的,因此空间中物体在另一个维度上的关系就必须由梯度来表示,这样我们才能通过观察图像得知物体在三维空间中的对应关系。

  傅里叶频谱图上我们看到的明暗不一的亮点,其意义是指图像上某一点与领域点差异的强弱,即梯度的大小。也即该点的频率的大小(可以这么理解,图像中低频部分指低梯度的点,高频部分相反)。一般来说,梯度大则该点的亮度强,否则该点的亮度弱。这样通过观察傅里叶变换后的频谱图,也叫功率图,我们就可以直观的看出图像的能量分布:如果频谱图中暗的点数更多,那么实际图像是比较柔和的(因为各点与领域差异都不大,梯度相对较小);反之,如果频谱图中亮的点数多,那么实际图像一定是尖锐的,边界分明且边界两边像素差异较大的。

  对频谱移频到原点以后,可以看出图像的频率分布是以原点为圆心,对称分布的。将频谱移频到圆心除了可以清晰的看出图像频率分布以外,还有一个好处,它可以分离出周期性规律的干扰信号,比如正弦干扰。一幅频谱图如果带有正弦干扰,移频到原点上就可以看出,除了中心以外还存在以另一点为中心,对称分布的亮点集合,这个集合就是干扰噪音产生的。这时可以很直观的通过在该位置放置带阻滤波器消除干扰。

  对上面的傅里叶变换有了大致的了解之后,下面通过Numpy和OpenCV分别学习图像傅里叶变换的算法及操作代码。

2.5  二维傅里叶变换的性质

分离性

  二维离散傅里叶变换具有分离性

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpgdpd.html