数字图像处理(二)
空间域滤波平滑空间滤波器(低通)均值滤波高斯滤波双边滤波中值滤波 锐化空间滤波器(高通)各向梯度之和算子(拉普拉斯算子(二阶微分))梯度幅值算子(一阶微分)梯度幅值改进算子(sobel算子) 混合空间滤波器 频率域滤波低通滤波高通滤波同态滤波空间域滤波
平滑空间滤波器(低通)
均值滤波
均值滤波器可以一定程度降低高斯噪声,但对椒盐噪声效果不好,并且平滑也会带来图像模糊化。
椒盐噪声是灰度值过大或过小的噪声,对均值的影响较大,所以滤波效果不好。
# 方法1img_smooth = cv.blur(img_org, ksize=(3, 3))# 方法2kernel = np.array([[1, 1, 1], [1, 1, 1], [1, 1, 1]])/9img_smooth = cv.filter2D(img_org, -1, kernel)
高斯滤波
高斯滤波构造二维高斯分布的核函数,可以有效的出去图像的高斯噪声。
# 方法1img_smooth = cv.GaussianBlur(img,(5,5),0.6)# 方法2kernel = cv.getGaussianKernel(ksize=3, sigma=0.6) * cv.getGaussianKernel(ksize=3, sigma=0.6).Timg_smooth = cv.filter2D(img_org, -1, kernel)
双边滤波
双边滤波希望在非边缘部分,让图像平滑(高斯滤波); 在边缘部分,让图像变得锐化(让模板中与中心像素差值大的权重更小),可以有效保留边缘。
img_smooth = cv.bilateralFilter(img_org,r,差值,差值)
中值滤波
中值滤波用模板中像素值的中位像素值来确定当前像素值, 可以有效去除椒盐噪声。
11 blur = cv.medianBlur(img_org,5)
锐化空间滤波器(高通)
各向梯度之和算子(拉普拉斯算子(二阶微分))
拉普拉斯算子可以突现出图像中小的细节信息。
kernel0 = np.array([[0, -1, 0],[-1, 4, -1],[0, -1, 0]])kernel1 = np.array(