
图像平滑处理(高斯滤波和中值滤波)
图像平滑处理(Image Smoothing)是图像处理的一种常见技术,用于减少图像中的噪声和细节,从而产生更加模糊或平滑的图像。这个过程在图像处理中有各种应用,包括去噪、边缘检测前的预处理、纹理分析、模式识别等。图像平滑处理通过模糊图像中的亮度和颜色信息,从而减少噪声并使图像更具可处理性。
·
一、引言
1、什么是图片平滑处理?
图像平滑处理(Image Smoothing)是图像处理的一种常见技术,用于减少图像中的噪声和细节,从而产生更加模糊或平滑的图像。这个过程在图像处理中有各种应用,包括去噪、边缘检测前的预处理、纹理分析、模式识别等。图像平滑处理通过模糊图像中的亮度和颜色信息,从而减少噪声并使图像更具可处理性。
2、以下是俩种图片平滑处理方法?
1)高斯滤波(Gaussian Filter):
高斯滤波使用一个高斯分布的权重核来对图像进行加权平均。这意味着中心像素的权重最高,周围像素的权重逐渐减小。高斯滤波通常比均值滤波更有效,因为它更好地保留了图像的细节。
对应python函数为:
cv2.GaussianBlur(src, ksize[, sigmaX[, sigmaY[, dst]]])
其中参数为
参数说明:
src:输入图像,通常是一个NumPy数组。
ksize:滤波器的大小,它是一个元组,表示在水平和垂直方向上的像素数量。例如,(5, 5)表示一个5x5的滤波器。
sigmaX和sigmaY:分别表示在X轴和Y轴方向上的标准差。这些值与滤波器大小相同。默认情况下,它们都等于0,这意味着没有高斯模糊。
dst:输出图像,通常是一个NumPy数组。如果为None,则会创建一个新的数组来存储结果。
2)中值滤波(Median Filter):
中值滤波用于去除图像中的椒盐噪声(Salt and Pepper Noise)。它使用一个窗口内像素值的中值替代中心像素值,因此对异常值具有鲁棒性(也就是健壮和强壮的意思。它是在异常和危险情况下系统生存的能力),但可能在某些情况下不如均值或高斯滤波平滑。
对应python函数为:
cv2.medianBlur(src, ksize[, dst])
其中参数为:
参数说明:
src:输入图像。
ksize:滤波器的大小,它是一个整数,表示在水平和垂直方向上的像素数量。例如,5表示一个5x5的滤波器。
dst:输出图像,通常是一个NumPy数组。如果为None,则会创建一个新的数组来存储结果。
二、实现代码
1、导入库
import cv2
2、所需图像:
noise.png
3、高斯滤波处理
GaussianB = cv2.GaussianBlur(noise,(3,3),1) #标准差为1,标准正太分布。
cv2.imshow('GaussianBlur',GaussianB)
cv2.waitKey(0)#按任意键退出
cv2.destroyAllWindows()
输出结果为:
4、中值滤波:
medianB=cv2.medianBlur(noise,3)
cv2.imshow('medianB',medianB)
cv2.waitKey(0)
cv2.destroyAllWindows()
输出结果为:
注:中值滤波是去噪效果较好的图片平滑处理方法
点击阅读全文
更多推荐
目录
所有评论(0)