图像读取
lena = cv2.imread('Lena_noise.jpg',cv2.IMREAD_GRAYSCALE)
均值滤波
简单的平均卷积操作
blur = cv2.blur(lena, (3, 3)) # 核大小可以修改为(5, 5)、(7, 7) 一般为基数
cv2.imshow("blur", blur)
cv2.waitKey(0)
cv2.destroyAllWindows()
以核大小3×3为例:
方框滤波
基本和均值滤波一样,可以选择归一化
boxFilter = cv2.boxFilter(lena, -1, (3, 3), normalize=True)
cv2.imshow("boxFilter", boxFilter)
cv2.waitKey(0)
cv2.destroyAllWindows()
高斯滤波
高斯模糊的卷积核里的数值是满足高斯分布,相当于越中间权值越大
GaussianBlur = cv2.GaussianBlur(lena, (3, 3), 1)
cv2.imshow("GaussianBlur", GaussianBlur)
cv2.waitKey(0)
cv2.destroyAllWindows()
中值滤波
相当于用中值代替
medianBlur = cv2.medianBlur(lena, 3)
cv2.imshow("medianBlur", medianBlur)
cv2.waitKey(0)
cv2.destroyAllWindows()