OpenCV 提供了多种降噪方法,可以根据具体的需求选择合适的方法。常用的图像降噪方法包括:

高斯滤波(Gaussian Blur):利用高斯函数对图像进行模糊处理,去除噪声。

1
2
3
4
5
6
7
8
9
import cv2
# 读取图像
image = cv2.imread('input_image.jpg')
# 高斯滤波
denoised_image = cv2.GaussianBlur(image, (5, 5), 0)
cv2.imshow('Denoised Image', denoised_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

中值滤波(Median Blur):用像素邻域的中值来代替像素值,适用于去除椒盐噪声。

1
2
3
4
5
6
7
8
9
import cv2
# 读取图像
image = cv2.imread('input_image.jpg')
# 中值滤波
denoised_image = cv2.medianBlur(image, 5)
cv2.imshow('Denoised Image', denoised_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

双边滤波(Bilateral Filter):保留边缘的同时进行降噪处理,适合保留图像细节。

1
2
3
4
5
6
7
8
9
import cv2
# 读取图像
image = cv2.imread('input_image.jpg')
# 双边滤波
denoised_image = cv2.bilateralFilter(image, 9, 75, 75)
cv2.imshow('Denoised Image', denoised_image)
cv2.waitKey(0)
cv2.destroyAllWindows()