想要滤波的程度大一些,就需要把核的大小弄大一些;中值滤波和高斯滤波好像处理时稍好
均值滤波
任意一点的像素值,都是周围N*N给像素值的均值
5*5 的模糊程度< 10*10的模糊程度
o=cv2.imread("image\\lenaNoise.png")
r=cv2.blur(o,(5,5))
方框滤波
- cv2.boxFilter(原始图像,目标图像深度,核大小,normalize属性)
- 目标图像深度=-1,则深度和原始图像一致
- normalize属性:是否进行归一化
- true:就等于均值滤波
- false:就把核的像素值全部加起来,因为很容易超过255,所以当核的数量比较大时,容易变成全白的图片
r=cv2.boxFilter(o,-1,(5,5),normalize=0)
高斯滤波
让临近的像素具有更高的重要度,对周围像素计算加权平均值,较近的像素具有较大的重要的值
r=cv2.GaussianBlur(o,(3,3),0)
#只能为奇数
sigamaX=0 时,opencv会自己计算
中值滤波
让临近的像素按照大小排列,取排列像素集中于中间位置的值作为中值滤波的值
r=cv2.medianBlur(o,3)
#主要这里ksize必须大于1,而且只是一个数字不是元组