引入对应的模块
import cv2
import numpy as np
读取图片
img = cv2.imread('images/NOISYCAT.png')
定义图像显示函数
def cv_show(name, img):
cv2.imshow(name, img)
cv2.waitKey(0)
cv2.destroyAllWindows()
显示原图
cv_show('noisycat',img)
一、 均值滤波
简单平均卷积操作 一般卷积核取的是奇数
blur = cv2.blur (img,(3,3))
cv_show('均值滤波', blur)
二、方框滤波
**# 基本与均值滤波一致,可以选择归一化,在python中,
ddepth=参数-1的意思是,图片的颜色通道与规定的一致**
box1 = cv2.boxFilter( img, -1, (3,3),normalize=True )
cv_show('boxFliter',box1)
# 使用方框滤波容易出现越界情况,大于255
box2 = cv2.boxFilte r(img, -1, (3,3),normalize=False)
cv_show('boxF',box2)
三、高斯滤波
aussian = cv2.GaussianBlu r(img, (5,5),1)
cv_show('高斯',aussian)
四、中值滤波
median = cv2.medianBlur (img, 5)
cv_show('median',median)
五、 展示所有的
res = np.hstack ((blur,aussian,median))
print(res)
cv_show('median vs average',res)
六、显示结果: