手动给图片添加噪声
时间: 2023-09-23 14:03:33 浏览: 146
给图片添加噪声可以使用Python的Pillow库。以下是一个示例代码,可以向图片添加高斯噪声:
```python
from PIL import Image
import numpy as np
import random
# 打开图片
image = Image.open('example.jpg')
# 转换为numpy数组
img_array = np.array(image)
# 高斯噪声函数
def add_gaussian_noise(image):
# 随机生成均值和标准差
mean = 0
std = random.uniform(5, 50)
# 生成噪声
noise = np.random.normal(mean, std, image.shape)
# 将图像的每个像素加上噪声
noisy_image = image + noise
# 确保像素值在0-255之间
noisy_image = np.clip(noisy_image, 0, 255)
return noisy_image.astype(np.uint8)
# 添加高斯噪声
noisy_img = add_gaussian_noise(img_array)
# 转换为PIL Image对象并保存
noisy_img = Image.fromarray(noisy_img)
noisy_img.save('example_with_noise.jpg')
```
这段代码首先打开了一个名为"example.jpg"的图片,然后将其转换为numpy数组。然后定义了一个名为"add_gaussian_noise()"的函数,该函数将在图像上添加高斯噪声。最后,将添加了噪声的图像保存为"example_with_noise.jpg"。你可以根据需要修改代码以添加其他类型的噪声。