OpenCV学习之平滑、锐化、图像金字塔
1.平滑(模糊)
平滑又称模糊,是经常用来降噪(和其他目的)的一种图像处理操作。通过对图像应用线性滤波来执行平滑操作。
在线性运算中,像素的权值通常存储在一个称为核(Kernel)的矩阵中。因此,一个滤波可以表示为一个系数的滑动窗口。
中值滤波、高斯滤波和双边滤波都是最常用的OpenCV平滑滤波方法。中值滤波非常适合去除椒盐噪声或斑点噪声,而高斯滤波更适用于边缘检测的预处理阶段。另一方面,双边滤波对于平滑强边缘图像是一种很好的技术。
参考博客
void boxFilter(InputArray src,
OutputArray dst,
int ddepth,
Size ksize,
Point anchor=Point(-1,-1), //意味着定位像素是核的中心
bool normalize=true,
int borderType=BORDER_DEFAULT)
//该函数是一种盒式滤波,其核系数是相等的。
//对normalize=true,每个输出像素值均是其核邻域的均值,
//其所有系数均等于1/n,此处,n=元素的个数。
//对normalize=false,所有的系数都等于1
void GaussionBlur(InputArray src,
OutputArray dst,
Size ksize,
double sigmaX, //在x方向上高斯核的标准偏差(均方差)
double sigmaY=0, //在y方向上高斯核的标准偏差(均方差)