python给mvtec数据集图片椒盐噪声或者高斯噪声或者随机噪声
时间: 2023-11-02 21:06:35 浏览: 116
可以使用Python中的OpenCV库对图片进行添加噪声的操作。下面是添加椒盐噪声、高斯噪声和随机噪声的示例代码:
添加椒盐噪声:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('img.png')
# 添加椒盐噪声
noise_img = np.copy(img)
h, w, c = noise_img.shape
for i in range(h):
for j in range(w):
if np.random.random() < 0.05:
noise_img[i][j] = [255, 255, 255] if np.random.random() > 0.5 else [0, 0, 0]
# 显示图像
cv2.imshow('noise_img', noise_img)
cv2.waitKey(0)
```
添加高斯噪声:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('img.png')
# 添加高斯噪声
mean = 0
var = 0.1
sigma = var ** 0.5
noise_img = np.copy(img)
h, w, c = noise_img.shape
for i in range(h):
for j in range(w):
for k in range(c):
noise = np.random.normal(mean, sigma)
noise_img[i][j][k] = np.clip(noise_img[i][j][k] + noise * 255, 0, 255)
# 显示图像
cv2.imshow('noise_img', noise_img)
cv2.waitKey(0)
```
添加随机噪声:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('img.png')
# 添加随机噪声
noise_img = np.copy(img)
h, w, c = noise_img.shape
noise = np.random.randint(-50, 50, (h, w, c))
noise_img = np.clip(noise_img + noise, 0, 255)
# 显示图像
cv2.imshow('noise_img', noise_img)
cv2.waitKey(0)
```
注意:以上代码中的`img.png`是要添加噪声的图片,需要根据实际情况进行修改。
阅读全文