opencv椒盐噪声
时间: 2023-11-15 14:01:59 浏览: 105
OpenCV中的椒盐噪声是一种常见的图像噪声,它会在图像中随机地添加黑色或白色像素点,就像盐粒或胡椒粒那样随机地分布在整个图像上,因此称为椒盐噪声,也称为双极冲击噪声。在OpenCV中,可以使用np.random.choice()函数生成椒盐噪声,并将其添加到图像中。添加椒盐噪声后,可以使用plt.hist()函数绘制图像的灰度直方图,以便更好地观察噪声的影响。
下面是一个使用OpenCV添加椒盐噪声的例子:
```python
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取图像
img = cv2.imread('lena.jpg', 0)
# 添加椒盐噪声
ps, pp = 0.05, 0.02
mask = np.random.choice((0, 0.5, 1), size=img.shape[:2], p=[pp, (1-ps-pp), ps])
img_noise = img.copy()
img_noise[mask==1] = 255
img_noise[mask==0] = 0
# 绘制图像和灰度直方图
plt.subplot(121)
plt.imshow(img, cmap='gray')
plt.title('Original Image')
plt.axis('off')
plt.subplot(122)
plt.imshow(img_noise, cmap='gray')
plt.title('Image with Salt and Pepper Noise')
plt.axis('off')
plt.figure()
plt.hist(img_noise.ravel(), 256, [0, 256])
plt.title('Histogram of Image with Salt and Pepper Noise')
plt.show()
```
阅读全文