python编写程序利用h1,h2,h3模板对高斯噪声和椒盐噪声进行平滑
时间: 2024-05-06 15:20:19 浏览: 101
基于matlab的图像椒盐噪声的平滑效果⽐较
5星 · 资源好评率100%
以下是一个利用h1,h2,h3模板对高斯噪声和椒盐噪声进行平滑的Python程序:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('noisy_image.png')
# 高斯噪声平滑
h1 = np.array([[1, 1, 1], [1, 5, 1], [1, 1, 1]]) / 13
gaussian_smoothed = cv2.filter2D(img, -1, h1)
# 椒盐噪声平滑
h2 = np.array([[1, 1, 1], [1, 0, 1], [1, 1, 1]]) / 8
salt_pepper_smoothed = cv2.filter2D(img, -1, h2)
# 高斯噪声和椒盐噪声平滑
h3 = np.array([[1, 1, 1], [1, 4, 1], [1, 1, 1]]) / 12
combined_smoothed = cv2.filter2D(img, -1, h3)
# 显示图像
cv2.imshow('Original Image', img)
cv2.imshow('Gaussian Smoothed Image', gaussian_smoothed)
cv2.imshow('Salt and Pepper Smoothed Image', salt_pepper_smoothed)
cv2.imshow('Combined Smoothed Image', combined_smoothed)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个程序中,我们首先读取了一个带有高斯噪声和椒盐噪声的图像。然后,我们定义了三个不同的模板h1,h2和h3,分别用于对高斯噪声、椒盐噪声和高斯噪声和椒盐噪声的组合进行平滑。我们使用cv2.filter2D函数对图像进行卷积,并将结果存储在三个不同的变量中。最后,我们使用cv2.imshow函数显示原始图像和三个平滑图像。
阅读全文