高斯滤波:高斯滤波是一种线性平滑滤波,在高斯滤波中,会将中心点的权重值加大,远离中心点的权重值减小,在此基础上计算邻域内各个像素值不同权重的和。高斯滤波器相比于均值滤波器而言,对图像模糊程度较小,更能保持图像的整体细节。
gaussian = cv2.GausianBlur(src, ksize,sigmaX)
src:需要处理的图像 ksize:滤波核的大小,值为奇数 sigmaX:卷积核在水平方向(x轴方向)的标准差,控制的是权重比例
(1)在核大小固定的情况下,sigma值越大,权值分布越平缓。因此,邻域各个点的值对输出值的影响越大,最终结果造成图像越模糊。
(2)在核大小固定的情况下,sigma值越小,权值分布越突起。因此,邻域各个点的值对输出值的影响越小,图像变化也越小。
#代码展示
中值滤波:中值滤波不再采用加权求均值的方式计算滤波结果,它用邻域内所用像素的中间值代替当前像素点的像素值。
median = cv2.medianBlur(src,ksize)
src:需要处理的图像 ksize:滤波核的大小,必须为大于1的奇数
由于中值滤波器没有进行加权处理,它不会存在均值滤波器等带来的细节模糊问题,在中值滤波中,由于噪声不同于邻域的像素,故它很难被选上,所以几乎可以在不影响原有图像的情况下去除全部噪声。但由于要排序进行中值的选择,故运算量较大。
#显示所有图像
np.vstack():在竖直方向上堆叠
np.hstack():在水平方向上平铺