高斯滤波是一种线性平滑滤波,对于消除高斯噪声有很好的效果,对于服从正态分布的噪声非常有效。
高斯滤波就是对整幅图像进行加权平均的过程,与均值滤波类似,不同的是,均值滤波的模板系数均为1,而高斯滤波的模板系数是计算出来的。
高斯滤波的详细操作是:用一个模板(或称卷积、掩模)扫描图像中的每个像素。用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
自己写代码挺麻烦,可以用opencv自带的函数GaussianBlur()来实现高斯滤波。
import cv2 as cv
import suanfa as sf
img = cv.imread('lena512color.tiff', 0)
img = sf.add_noise(img, 2000)
res1 = cv.GaussianBlur(img, (3,3), 0)
cv.imshow('org', img)
cv.imshow('result', res1)
cv.waitKey(0)
左图:原图, 右图:高斯滤波处理后图像