opencv滤波与卷积

 

雨下整夜~~

正在播放周杰伦《七里香》 💓💗●━━━━━━─────── ⇆ ↻ ㅤ ◁ ㅤㅤ❚❚ ㅤㅤ▷

平滑

也称为模糊,目的通常是为了减少噪声和伪影
降低图像分辨率
opencv提供五种不同的平滑操作
之前的边界处理就是为了每个像素周围都有像素(字面意思)

简单模糊和方框型滤波器

目标图像中每个值都是源图像中相应位置一个核的像素平均值
多通道分别计算
boxfilter(方框型)是一般化形式,blur(简单模糊)是归一化形式

中值滤波器

将每个像素替换为周围矩形区域内的中值像素
可以避免较大孤立的异常值

高斯滤波器

“应该是最有用的一种滤波器”
定义在x,y方向的sigma值 3x3,5x5,7x7的标准sigma核相对其他核性能更优
支持单/三通道的8位/32位浮点型数据

双边滤波器

是一种比较打的图像分析算子,就是边缘保持平滑
高斯模糊的过程是减缓像素在空间上的变化,因此与邻域关系紧密,随机噪声(不是空间相关的)在像素间的变化幅度大,所以很好的减弱噪声并保留小信号,但是破坏边缘信息,把边缘也模糊了

双边滤波由两部分高斯平滑组成,第一部分是空间上的高斯平滑,第二部分是基于色彩强度差的高斯平滑,在多通道图像上强度差由各分量的加权累加代替
相似程度更高的像素权值更高,边缘更明显,对比度更高,类似水彩画,多次迭代后特别显著
(大的sigmaspace值会有卡通效果)

导数和梯度

卷积中最重要也是最基础的部分是(近似)计算导数,但适合实际情况的不多

索贝尔导数

用来表示微分的最常用的算子是索贝尔算子
Sobel算子可以实现任意阶导数和混合偏导数

滤波器宽度高度大于等于3才有意义 并不是真的导数,是定义在离散空间上的多项式,一阶代表直线,二阶代表抛物线
核越大越近似,但如果导数在空间上变化剧烈则容易引起偏差

Scharr滤波器

索伯算子在转动上没有完美的对称。因此沙尔想要改进这个特性。(wiki)
Sobel缺点是核较小时准确度不高,大型的核在精度问题不太显著

沙尔算子的概念源自于试图在频域上最小化加权的均方角度差,这个最佳化问题需要考量滤波器在数值上的一致性,因此它们是微分核(wiki)

注意矩阵卷积的形式!

拉普拉斯变换

laplace(f)=p“x+p“y 是对拉普拉斯离散近似
二阶用Sobel导数实现
意味着被较大值/较小值包围的点值会变得很大/很小
可以在二阶值为0处找到一阶导数极大值,即图像的边缘

这三天参加数学建模校内选拔赛,笔记可能会少一点

写两句?