python给图片添加噪声
时间: 2024-09-30 17:16:18 浏览: 40
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
在Python中,我们可以使用各种库来给图片添加噪声,最常用的是PIL(Python Imaging Library)和OpenCV。下面是一个简单的例子,使用PIL库中的`ImageFilter`模块添加高斯噪声:
```python
from PIL import Image, ImageFilter
# 打开图片
img = Image.open('image.jpg')
# 添加高斯噪声
noisy_img = img.filter(ImageFilter.GaussianBlur(radius=5))
# 可能还需要调整噪点的强度,例如通过增加sigma值
# noisy_img = img.filter(ImageFilter.GaussianNoise(sigma=0.1))
# 保存处理后的图片
noisy_img.save('noisy_image.jpg')
```
如果你想添加更复杂的噪声,如椒盐噪声,可以使用其他库,如`scikit-image`(skimage):
```python
from skimage.util import random_noise
# 加载图片
import skimage.io as io
img_array = io.imread('image.jpg', as_gray=True) # 如果是彩色图,记得设置as_gray=False
# 添加椒盐噪声
noisy_array = random_noise(img_array, mode='salt', amount=0.05)
# 将数组转换回图像并保存
noisy_img = Image.fromarray(noisy_array * 255)
noisy_img.save('noisy_image.jpg')
```
阅读全文