opencv图像添加椒盐噪声
时间: 2023-07-05 22:11:39 浏览: 73
可以使用OpenCV中的`randn()`函数来生成高斯噪声,使用`rand()`函数来生成椒盐噪声。以下是添加椒盐噪声的示例代码:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('test.jpg')
# 添加椒盐噪声
noise_img = np.zeros(img.shape, np.uint8)
p = 0.05 # 噪声比例
for i in range(img.shape[0]):
for j in range(img.shape[1]):
r = np.random.rand()
if r < p / 2:
noise_img[i][j] = 0
elif r < p:
noise_img[i][j] = 255
else:
noise_img[i][j] = img[i][j]
# 显示图像
cv2.imshow('img', img)
cv2.imshow('noise_img', noise_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,`p`表示噪声比例,即图像中像素点被噪声覆盖的比例。通过循环遍历每个像素点,生成随机数,若随机数小于`p/2`,则将该像素点设置为黑色(椒噪声);若随机数在`p/2`和`p`之间,则将该像素点设置为白色(盐噪声);否则保持原来的像素值。