python cv2图像去噪
时间: 2023-11-20 10:07:52 浏览: 61
以下是使用Python和OpenCV进行图像去噪的示例代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('image.jpg')
# 将图像转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 对灰度图像进行高斯模糊
blur = cv2.GaussianBlur(gray, (5, 5), 0)
# 对模糊图像进行自适应阈值处理
thresh = cv2.adaptiveThreshold(blur, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 11, 2)
# 对二值化图像进行形态学操作
kernel = np.ones((3, 3), np.uint8)
closing = cv2.morphologyEx(thresh, cv2.MORPH_CLOSE, kernel, iterations=4)
# 对形态学操作后的图像进行去噪
denoise = cv2.fastNlMeansDenoising(closing, None, 10, 7, 21)
# 将去噪后的图像保存
cv2.imwrite('denoise.png', denoise)
```
上述代码中,我们首先读取了一张图像,并将其转换为灰度图像。然后,我们对灰度图像进行高斯模糊,以减少图像中的噪声。接下来,我们使用自适应阈值处理将图像二值化,并对二值化图像进行形态学操作,以进一步减少噪声。最后,我们使用fastNlMeansDenoising函数对形态学操作后的图像进行去噪,并将结果保存到文件中。