滤波/卷积
我们称 为 的卷积
其连续的定义为:
其离散的定义为:
这两个式子有一个共同的特征:
我们令 ,那么 就是下面这些直线:
如果遍历这些直线,就好比,把毛巾沿着角卷起来:
通俗点讲:
卷积就是一个单纯的数学计算公式,可以简单的理解为你被别人打了一拳,疼痛感并不会马上消失,那么我们将这疼痛感随着时间的变化定义为h(t),t是初始拳打出后过去的时间。如果这拳是一倍的力道,那么就是后续疼痛感函数就是1*h(t),那么现在我们定义这个力道为f(n),n是该拳打出时的时刻,所以当第0秒打出一拳时,疼痛感就是f(0)h(0),在第1秒再次打出一拳,那么疼痛感就是f(0)h(1-0)+f(1)h(1-1)=f(0)h(1)+f(1)h(0),在第2秒再次打出一拳,那么疼痛感就是f(0)h(2-0)+f(1)h(2-1)+f(2)h(2-2)=f(0)h(2)+f(1)h(1)+f(2)h(0)......那么可以推出任意时刻的疼痛感就是∑f(n)h(t-n)。
卷积在图像处理中的应用
- 在每个图片位置(x,y)上进行基于领域的函数计算
- 不同函数需要定义不同的函数
- 图像增强
- 信息提取
参数解释
f[k,l]是权重,
I[x+k,y+l]则图片中对应的像素值
k,l是卷积核中的坐标
h[x,y]则是卷积结果
下面是图示:
这是一个卷积核,上图的坐标也就是每次计算所对应的k,l
这就是一次完整的公式计算
那么也就碰到了这样一个问题,卷积核越大,那么对应的输出结果也就越小,如果想要输出和原图一样大小,怎么办呢?
那么就需要卷积核中心就对应于图像的起始像素点,
但是这样就又碰到了问题,卷积核超出了边界部分,如下图
解决的办法就是需要边界补充,有四种补充方式
- 补零
- 边界复制
- 镜像
- 块复制
平滑均值卷积
- 卷积核需要是奇数尺寸,3*3 , 5*5 , 2n-1 * 2n-1
- 参数和为1
下面是效果图
操作原理:
平滑中值卷积
- 卷积核奇数尺寸
- 操作原理
- 卷积域内的像素值从小到大排列
- 去中间值作为卷积输出
- 有效去除椒盐噪声
卷积域内的像素值排列后
输出
- 效果图
平滑高斯卷积
- 卷积核奇数尺寸
- 模拟人眼关注中心区域
- 有效去除高斯噪声
- 参数
- x,y是卷积参数坐标(卷积核中相对应于中心的坐标,中心及原点)
- 标准差σ
原理
首先高斯分布不是高斯滤波/卷积
高斯分布
高斯分布公式:
它的形状与分布:
u决定了图像的分布对称中心,σ决定了分布形状,σ越小,形状越瘦高,σ越大,形状越矮小
在高斯分布中,函数是一维的,那么怎么推到二维呢?
只需要把数值变为向量即可:
(其中不必纠结于系数,因为它只是一个常数!并不会影响互相之间的比例关系,并且最终都要进行归一化(因为我们需要像均值平滑进行计算,所以需要卷积核的和是1),所以在实际计算时我们是忽略它而只计算后半部分的) 当为二维时,。这个公式其实可以表示任意维度的高斯分布。 需要特别注意的是: 本质上都是二维空间中的坐标:是掩膜内任一点的坐标,是掩膜中心的坐标!(统计学中称为均值,即坐标的均值)
于是,对于图像中任意一点(x,y),它周围的坐标为:
中间的(x,y)就是我们公式中的了, 当遍历(x-1,y-1)...(x+1,y+1)时,
:
最后归一化得出高斯卷积核:
然后过程与均值平滑一致,就是求卷积:
与高斯分布相同,σ越大,因为越不突出,所以越模糊,σ越小,越模清楚
- 分解特性(级联高斯)
- 2D卷积核拆分成两个相同的1D卷积核然后先行的卷积核计算再进行列的卷积核计算
- 降计算(2D计算每个像素是计算k*k次乘法,那么1D总共计算2K次乘法)
- 原理: