目录
简述
什么是低通滤波?
各种滤波器简介与实现
方盒滤波
均值滤波
中值滤波
高斯滤波
双边滤波
各种滤波的对比与应用场景
相关阅读
OpenCV基础:图像变换-CSDN博客
OpenCV:图像滤波、卷积与卷积核-CSDN博客
简述
低通滤波是一种在图像处理中广泛使用的技术,主要用于去噪和平滑处理。本文将从基础概念出发,结合 方盒滤波、均值滤波、中值滤波、高斯滤波 和 双边滤波 的具体实现与应用场景,进行详细讲解。
什么是低通滤波?
低通滤波是一种通过滤掉图像中的高频成分(如噪声和细节),保留低频成分(如平滑区域)的操作。
作用:
- 去除图像中的高频噪声。
- 平滑图像,减少细节。
应用场景:
- 图像预处理(如降噪)。
- 对比度减弱(用于模糊效果)。
- 提高检测精度(用于后续图像分析)。
各种滤波器简介与实现
方盒滤波
方盒滤波是一种简单的低通滤波器,它将图像的局部像素取均值,用一个固定大小的矩形窗口滑动图像。
代码实现
import cv2# 读取图像
image = cv2.imread("image.jpg")# 方盒滤波
box_filtered = cv2.boxFilter(image, -1, (5, 5))cv2.imshow("Original", image)
cv2.imshow("Box Filter", box_filtered)
cv2.waitKey(0)
cv2.destroyAllWindows()
特点:简单快速,但可能引入边缘模糊。
运行效果:
均值滤波
均值滤波与方盒滤波类似,只不过它专门用于对邻域像素取均值,进行平滑处理。
代码实现
import cv2
import numpy as np# 读取图像
image = cv2.imread("D:\\resource\\filter\\lena.png")# 均值滤波
result = cv2.blur(image, (5, 5))cv2.imshow("Original", image)
cv2.imshow("Result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()
特点:效果较为简单,但容易丢失图像细节。
运行效果:
中值滤波
中值滤波是一种非线性滤波方法,用局部窗口内的中值替代中心像素值,常用于去除椒盐噪声。
代码实现
import cv2
import numpy as np# 读取图像
image = cv2.imread("D:\\resource\\huaji1.jpg")# 中值滤波, 对胡椒噪点效果好
result = cv2.medianBlur(image, 5)cv2.imshow("image", image)
cv2.imshow("result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()
特点
- 对椒盐噪声的去除效果特别好。
- 不会显著模糊边缘。
运行效果:
高斯滤波
高斯滤波使用高斯函数作为权重,对邻域像素加权求和,权重与像素距离呈指数关系,距离越远权重越小。
代码实现
import cv2
import numpy as np# 读取图像
image = cv2.imread("D:\\resource\\filter\\lena.png")# 高斯滤波, 针对高斯噪点的效果好
result = cv2.GaussianBlur(image, (5,5), sigmaX=1)cv2.imshow("image", image)
cv2.imshow("result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()
特点
- 平滑效果更自然,常用于降噪。
- 能够保持一定的图像边缘信息。
运行效果:
双边滤波
双边滤波是结合了高斯滤波和平滑滤波的优点,同时考虑像素的空间距离和色彩距离,既能平滑图像又能保留边缘。
代码实现
import cv2
import numpy as np# 读取图像
image = cv2.imread("D:\\resource\\filter\\lena.png")# 双边滤波
result = cv2.bilateralFilter(image, 7, 20, 50)cv2.imshow("image", image)
cv2.imshow("result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()
特点
- 边缘保留效果显著。
- 常用于美容滤镜或去噪后保留图像细节。
运行效果:
经过双边滤波后,图像中的皮肤部分更平滑了。
各种滤波的对比与应用场景
滤波类型 | 特点 | 应用场景 |
---|---|---|
方盒滤波 | 简单高效,但模糊边缘明显 | 快速平滑处理 |
均值滤波 | 类似方盒,但更平滑自然 | 去除轻微噪声 |
中值滤波 | 去噪能力强,保护边缘 | 去除椒盐噪声 |
高斯滤波 | 平滑效果自然,速度快 | 图像降噪,边缘检测的预处理 |
双边滤波 | 平滑与边缘保留并存 | 美颜滤镜,降噪后细节保留 |