均值滤波是指以当前点为中心,用其周围N×N个点像素值的平均值来替代当前点的像素值。用于计算平均值的N×N个点称为邻域,用于滤波计算的卷积核大小与邻域相同。例如,一个大小为3×3的邻域如图4-12所示。
则卷积核为 。
则中心点的均值滤波值=(125+129+130+134+253+127+125+133+131)÷9=143,143比253更接近周围的值。
OpenCV的cv2.blur()函数用于实现均值滤波,其基本格式如下。
dst=cv2.blur(src,ksize [,anchor [,borderType]])
参数说明如下。
dst为滤波结果图像。
src为原图像。
ksize为卷积核大小,表示为(width,height),width和height通常设置为相同值,且为正数和奇数。
anchor为锚点,默认值为(-1,-1),表示锚点位于卷积核中心。
borderType为边界值处理方式。