频率

狭义概念:频率是单位时间内完成周期性变化的次数。
广义概念:频率就是指一定时间内的变化次数。
信号处理中的函数自变量是时间;
  数字图像处理的函数自变量不再是时间,而是换成了图像矩阵的像素灰度值。

原来在信号处理中,从前一秒到后一秒,信号周期性变化的次数,就是频率;相应地,在数字图像处理中,从一个像素点到相邻的一个像素点,灰度值变化的多少,就是频率

高频分量:就是频率值高,就是像素之间灰度变化大,这通常对应着图像区域边缘等;
低频分量:就是频率值低,就是像素灰度之间灰度变化小,这通常是图像中平坦的区域。

平滑滤波和锐化滤波

平滑滤波能去除高频分量,而锐化滤波能去除低频分量。
具体讲是:平滑滤波去处噪声,锐化滤波强化边缘、细节与周围的对比度。

平滑滤波主要包括:线性平滑滤波(方框滤波、均值滤波、高斯滤波等)、非线性平滑滤波(中值滤波、序统计滤波)。opencv中对应boxblur、blur、gaussianblur函数。
锐化滤波主要包括:线性锐化滤波(拉普拉斯算子、高频提升滤波)、非线性锐化滤波(基于梯度的锐化滤波、最大-最小锐化变换等)

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

平滑滤波

线性平滑滤波
opencv现在有3个线性平滑滤波器:方框滤波、均值滤波、高斯滤波

先说均值滤波。均值滤波就是用指定大小的、元素全为1的模糊核,对原图进行卷积操作(其实,就是原图像中当前位置对应的核大小的区域,各个元素相加),然后除以核的元素个数。也可以理解为,其核为:元素全为1、系数为元素个数的矩阵。

CNN图像滤波 图像滤波模板_图像处理

然后是方框滤波。是均值滤波的推广:元素全为1、系数为alpha的矩阵。alpha等于核的个数时,就是均值滤波;否则一般取1(哦,为什么要搞这么大?难道不会超出255麻?)

再看高斯滤波。前面两个滤波的核(也叫模板),元素值都只有一种。如果模板的元素不只一种,就是加权线性滤波了。
高斯滤波是加权线性滤波的一种,准确说是:模板元素的分布符合二次高斯分布。高斯分布其实就是正态分布。因为一般认为噪声的分布都符合高斯分布,那么去噪也用符合高斯分布的模板,效果会比较好。
通过为GaussianBlur函数传入sigmaX,sigmaY,size等参数,函数能生成相应的符合高斯分布的模板。然后对原图像和模板进行卷积操作,就得到滤波后的图像。

非线性平滑滤波
opencv现在有2个非线性平滑滤波:中值滤波和双边滤波

中值滤波:模板限定区域内,取像素灰度的中值(我理解为中位数),作为计算结果。中值滤波的效果是,让与周围像素灰度值的差比较大的像素改取与周围像素值接近的值,消除了信号序列(这里是模板框定范围内像素点灰度值)的孤立点。因为不是简单的取均值,产生的模糊更少些,通常能比均值滤波更好地保持图像的细节。

锐化滤波

主要包括:线性锐化滤波(拉普拉斯算子、高频提升滤波)、非线性锐化滤波(基于梯度的锐化滤波、最大-最小锐化变换等)
线性锐化滤波可以借助模板卷积实现。对应积分运算的模板卷积可以平滑图像,反过来对应微分运算的模板卷积可以锐化图像。锐化模板系数的取值,应该在中心为正而周围远离中心处为负

CNN图像滤波 图像滤波模板_均值滤波_02