学习OpenCV 09 平滑/模糊处理
平滑(smoothing)也称模糊(blurring),是一种简单而又常用的图像处理操作。其目的有很多,但通常是为了减少噪声(noise)和伪影(camera artifacts)。在降低图像分辨率(resolution)时,平滑也是非常重要的。
预备知识
在阐明平滑操作前,需要阐明几个概念:
- 滤波器(filter)指的是一种由一幅图像I(x,y)根据像素点(x,y)附近的区域计算得到一幅新图像I'(x,y)的算法。其中模板(template)规定了滤波器的形状及这个区域内像素的组成规律。一般认为滤波器(filter)和核(kernel)描述的是同一个意思,信号处理领域通常用滤波器,数学领域通常用核。
- 卷积(convolution),上述滤波操作即I'(x,y)的像素的值由I(x,y)及其周围的像素值加权相加得来,及对于任意形状的核(比如5×5),需要对核内所有的点i.j做加权,然后相加,对于每一对(i,j),将其点乘原图像中相对于像素点(x,y)做一个偏移(i,j)后的像素点的值后相加,由I(x,y)计算I'(x,y)的过程即为卷积。
- 锚点(anchor point)定义了核与源图像的对齐关系,即下图加粗的点。
- 均值(mean):即数列的平均值。
- 中值(median):中值(又称中位数)是指将统计总体当中的各个变量值按大小顺序排列起来,形成一个数列,处于变量数列中间位置的变量值就称为中位数。中值的优点是不受偏大或偏小数据的影响,很多情况下用它代表全体数据的一般水平更合适。如果数列中存在极端变量值,