中值滤波原理比较简单,假设有一个数组[1556789],取其中的中间值(即中位数)作为卷积后的结果即可,中值滤波对胡椒噪音(也叫椒盐噪音)效果明显。
对下面带胡椒噪声的图片进行处理。
注意点:
方和滤波和均值滤波和高斯滤波的dsize均为元组,中值滤波为整数。
示例代码如下:
import cv2
import numpy as np
img = cv2.imread("OpenCV.png")
# 中值滤波
# 注意dsize数据类型为int,不是元组
new_img = cv2.medianBlur(img, 5)
# 尝试使用高斯滤波处理噪声
# new_img = cv2.GaussianBlur(img, (5, 5),sigmaX=20)
cv2.imshow("img", np.hstack((img, new_img)))
cv2.waitKey(0)
cv2.destroyAllWindows()
输出结果如下: