对图像加入高斯白噪声和椒盐噪声的
时间: 2024-04-30 12:22:48 浏览: 81
gaosibaizaosheng.rar_图像 椒盐_图像 白噪声_图像 高斯白噪声
Python实现方法如下:
1. 加入高斯白噪声:
```python
import cv2
import numpy as np
img = cv2.imread('image.jpg', 0)
mean = 0
var = 100
sigma = var ** 0.5
gaussian = np.random.normal(mean, sigma, (img.shape[0], img.shape[1])) # 生成高斯噪声
gaussian = gaussian.reshape(img.shape[0], img.shape[1]).astype('uint8')
img_gaussian = cv2.add(img, gaussian) # 图像加上高斯噪声
cv2.imshow('Original Image', img)
cv2.imshow('Gaussian Noise', img_gaussian)
cv2.waitKey(0)
```
2. 加入椒盐噪声:
```python
import cv2
import numpy as np
img = cv2.imread('image.jpg', 0)
noise_num = int(0.05 * img.shape[0] * img.shape[1]) # 噪声点数占总像素点数的5%
for i in range(noise_num):
x = np.random.randint(0, img.shape[0] - 1)
y = np.random.randint(0, img.shape[1] - 1)
if np.random.randint(0, 2) == 0:
img[x, y] = 0 # 椒噪声
else:
img[x, y] = 255 # 盐噪声
cv2.imshow('Original Image', img)
cv2.waitKey(0)
```
注意:在实际应用中,处理图像时需要先将像素值归一化到[0, 1]范围内,处理完成后再乘以255还原到[0, 255]范围。
阅读全文