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

如果需要处理的原图及代码,请移步小编的GitHub地址

  传送门:请点击我

  如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice

  在数字图像处理中,有两个经典的变换被广泛应用——傅里叶变换和霍夫变化。其中,傅里叶变换主要是将时间域上的信号转变为频率域上的信号,用来进行图像降噪,图像增强等处理,这一篇主要学习傅里叶变换,后面在学习霍夫变换。

  下面学习一下傅里叶变换。有人说傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式(出处(强烈建议看这篇文章):https://zhuanlan.zhihu.com/p/19763358)

  傅里叶变换的作用

  对于数字图像这种离散的信号,频率大小表示信号变换的剧烈程度或者说信号变化的快慢。频率越大,变换越剧烈,频率越小,信号越平缓,对应到的图像中,高频信号往往是图像中的边缘信号和噪声信号,而低频信号包含图像变化频繁的图像轮廓及背景灯信号。

  需要说明的是:傅里叶变换得到的频谱图上的点与原图像上的点之间不存在一一对应的关系。

高频:变换剧烈的灰度分量,例如边界

低频:变换缓慢的灰度分量,例如一片大海

  滤波器:

低通滤波器:只保留低频,会使得图像模糊

高频滤波器:只保留高频,会使得图像细节增强

  不懂的话,可以看之前文章中粘贴的一幅图,这里再粘贴一下:

具体模糊和滤波的关系如下图(https://www.zhihu.com/question/54918332/answer/142137732):

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

1,频域及其频域数据的应用 1.1  什么是频域

  从我们出世,我们看到的世界都是以时间贯穿,股票的走势,人的身高,汽车的轨迹都会随着时间发生变换。这种以时间作为参照来观察动态世界的方法我们称其为时域分析。而我们也想当然的认为,世间万物都在随着时间不停的改变,并且永远不会停止下来。但是我们可以用另一种方法观察世界的话,你可以发现世界是永恒不变的,而这个静止的世界就叫做频域。

  正式定义:频域是描述信号在频率方面特性时用到的一种坐标系。在电子学,控制系统工程和统计学中,频域图显示了一个在频率范围内每个给定频带内的信号量。

  下面举个例子:

  我们普通人对音乐的理解是什么呢?可能如下图:

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

  上图是我们对音乐最普遍的理解,一个随着时间变化的震动。但是我相信对于乐手来说,音乐更直观的理解是这样的:

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

   下面我们将两个图简化,借用百度百科的正弦函数在时域和频域的表现如下:

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

  总结来说,在时域我们观察到钢琴的琴弦一会上一会下的摆动,如同上图上一样的走势,而在频域,就只是永恒的,如上图下一样。而贯穿时域与频域的方法之一,就是傅里叶分析。傅里叶分析可分为傅里叶级数(Fourier Serie)和傅里叶变换(Fourier Transformation)。

1.2  频域数据的应用

图像去噪

  我们可以根据需要获得在频域对图像进行处理,比如在需要除去图像中的噪声时,我们可以设计一个低通滤波器,去掉图像中的高频噪声,但是往往也会抑制图像的边缘信息,这就是造成图像模糊的原因。以均值滤波为例,用均值模板与图像做卷积,大家都知道,在空间域做卷积,相当于在频域做乘积,而均值模板在频域是没有高频信号的,只有一个常量的分量,所以均值模板是对图像局部做低通滤波。除此之外,常见的高斯滤波也是一种低通滤波器,因为高斯函数经过傅里叶变换后,在频域的分布依然服从高斯分布,如下图所示,所以它对高频信息有很好的滤除效果。

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

 

图像增强及锐化

  图像增强需要增强图像的细节,而图像的细节往往就是图像中高频的部分,所以增强图像中的高频信息能够达到图像增强的目的。

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

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