目录
一:区分卷积和相关
图像处理中常常需要用一个滤波器做空间滤波操作。空间滤波操作有时候也被叫做卷积滤波,或者干脆叫卷积(离散的卷积,不是微积分里连续的卷积);滤波器也有很多名字:卷积模版、卷积核、掩模、窗口等。
空间滤波也可以分为线性滤波和非线性滤波。非线性滤波常见的有中值滤波、最大值滤波等,相当于自定义一个函数,在数学上由于不满足线性变换因此叫做非线性滤波。
线性滤波则通常是:将模版覆盖区域内的元素,以模版中对应位置元素为权值,进行累加。看起来挺简单的,但是要区分相关(cross-correlation)和卷积(convolution)两种模式。
我们最容易的理解是:
相关:从左向右,从上到下,逐个元素乘积再求和
卷积:将模板反转180度,然后执行相关操作。这和卷积神经网络说的不同。
当然,如果模版是180°对称的那么卷积和相关是相同的。但是并不是所有的模版都对称。因此,在滑窗操作、计算图像梯度等场合,不要使用“卷积”,而要使用“滤波”或者“相关”。因为,我们通常讲的卷积,其实是相关,那就不要用卷积这个词以免引起混淆。
二:滤波器的种类
空间域滤波大体分为两类:平滑空间滤波、锐化空间滤波。
2.1 平滑空间滤波
对像素点领域的像素值施于某种算法,以其结果替代当前像素点对应的像素值。平滑空间滤波器常用于模糊处理和降低噪声。模糊处理常用于预处理任务中,比如在(大)目标提取之前去除图像中的一些琐碎的细节,以及连接直线或曲线的缝隙。通过线性和非线性滤波模糊处理,可以降低噪声。平滑的空间滤波器分为:平滑的线性滤波器和基于统计排序(非线性)滤波器。
2.1.1 平滑的线性滤波器
(1)算术均值滤波
最简单的均值滤波器,计算公式如下:
表示的是中心点在
处,大小为m×n的矩形图像区域的一组坐标,
表示均值处理之后点(x,y)处的像素值。
表示这个区域里面的像素值。算术均值滤波其实就是计算区域的平均值,用平均值代替当前点
的像素值。
(2)几何均值滤波
几何均值滤波其实就是计算区域内像素值的乘积的幂。几何均值滤波器实现的平滑相比于算术均值滤波器丢失的图像细节更少。
(3)谐波均值滤波
谐波均值滤波是用mn除以区域内像素值取倒数的和,谐波均值滤波对于盐粒噪声效果比较好,但不适用于胡椒噪声,也利于处理高斯噪声,因为椒盐噪声对应黑白相间的亮暗点,椒对应黑(像素值比较小,黑色的像素值是0),盐对应白(像素值比较大,白色的像素值是255),如果是胡椒噪声,的值比较大,那么求和之后整体的值是比较小的,那么整个滤