python如何实现均值滤波?
发布时间:2026-01-22 21:42:20

平均过滤器:典型的线性过滤算法,是指图像上的目标像素模板,包括周围的临近像素(以目标像素为中心的8个像素,形成过滤模板,即去除目标像素本身),然后用模板中所有像素的平均值代替原始像素值。
importcv2
importnumpyasnp
defblur_demo(image):
"""
均值模糊:去除随机噪声具有良好的去噪效果
(1,15)垂直方向模糊,(15,1)水平方向模糊
"""
dst=cv2.blur(image,(1,15))
cv2.imshow("avg_blur_demo",dst)
defmedian_blur_demo(image):#中值模糊对胡椒盐噪声有很好的干燥效果
dst=cv2.medianBlur(image,5)
cv2.imshow("median_blur_demo",dst)
defcustom_blur_demo(image):
"""
模糊的用户自定义
以下除以25,防止数值溢出
"""
kernel=np.ones([5,5],np.float32/25
dst=cv2.filter2D(image,-1,kernel)
cv2.imshow("custom_blur_demo",dst)
src=cv2.imread("./fapiao.png")
img=cv2.resize(src,None,fx=0.8,fy=0.8,interpolation=cv2.INTER_CUBIC)
cv2.imshow('input_image',img)
blur_demo(img)
median_blur_demo(img)
custom_blur_demo(img)
cv2.waitKey(0)
cv2.destroyAllWindows()cv2.blur(img, (1, 15)) 进行均值滤波
参数说明:img表示输入图片, (3, 3) 均值滤波的方框尺寸表示
请关注Python自学网了解更多Python知识。
下一篇 返回列表
