首页 > 代码库 > 数学之路-python计算实战(18)-机器视觉-滤波去噪(双边滤波与高斯滤波 )

数学之路-python计算实战(18)-机器视觉-滤波去噪(双边滤波与高斯滤波 )

高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

#滤波去噪
lbimg=cv2.GaussianBlur(newimg,(3,3),1.8)
cv2.imshow(‘src‘,newimg)
cv2.imshow(‘dst‘,lbimg)
cv2.waitKey()
cv2.destroyAllWindows()   


双边滤波器的好处是可以做边缘保存(edge preserving),一般过去用的维纳滤波或者高斯滤波去降噪,都会较明显地模糊边缘,对于高频细节的保护效果并不明显。双边滤波器顾名思义比高斯滤波多了一个高斯方差sigmad,它是基于空间分布的高斯滤波函数,所以在边缘附近,离的较远的像素不会太多影响到边缘上的像素值,这样就保证了边缘附近像素值的保存。

#滤波去噪
lbimg=cv2.bilateralFilter(newimg,3,140,140)
cv2.imshow(‘src‘,newimg)
cv2.imshow(‘dst‘,lbimg)
cv2.waitKey()
cv2.destroyAllWindows()