用paddle怎么给图片添加高斯噪声、椒盐噪声、随机剪切、旋转、缩放
时间: 2023-10-20 09:21:47 浏览: 167
可以使用PaddlePaddle中的transforms模块来对图片进行变换。
首先,需要使用Pillow库读取图片。安装Pillow库可以使用pip命令:
```
pip install Pillow
```
然后,使用transforms模块进行图片变换。下面是对图片添加高斯噪声、椒盐噪声、随机剪切、旋转和缩放的示例代码:
```python
import paddle
from paddle.vision.transforms import transforms
from PIL import Image
# 读取图片
img = Image.open('image.jpg')
# 定义变换
transform = transforms.Compose([
transforms.RandomRotation(degrees=15), # 旋转
transforms.RandomResizedCrop(size=(224, 224), scale=(0.8, 1.0)), # 随机剪切和缩放
transforms.ColorJitter(brightness=0.4, contrast=0.4, saturation=0.4), # 调整亮度、对比度和饱和度
transforms.RandomApply([transforms.RandomAffine(degrees=15)], p=0.5), # 随机仿射变换
transforms.RandomApply([transforms.RandomApply([transforms.ColorJitter(0.4, 0.4, 0.4, 0.1)], p=0.8)], p=0.5), # 随机颜色变换
transforms.RandomApply([transforms.GaussianBlur(kernel_size=3, sigma=(0.1, 2.0))], p=0.5), # 高斯模糊
transforms.RandomApply([transforms.RandomErasing(scale=(0.02, 0.1), ratio=(0.3, 3.3), value=0)], p=0.5), # 随机擦除
transforms.RandomApply([transforms.RandomChoice([transforms.GaussianNoise(mean=0, std=0.1), transforms.RandomErasing(scale=(0.02, 0.1), ratio=(0.3, 3.3), value=0)])], p=0.5), # 随机高斯噪声或椒盐噪声
transforms.ToTensor(), # 转换为Tensor
])
# 变换图片
img_transformed = transform(img)
```
在上面的代码中,使用了多种变换方式,包括旋转、随机剪切、缩放、调整亮度、对比度和饱和度、随机仿射变换、随机颜色变换、高斯模糊、随机擦除和随机高斯噪声或椒盐噪声。其中,变换的参数可以根据需要进行调整。
最后,需要注意的是,transforms模块中的变换操作都是针对PIL图像格式的,如果要对其他格式的图像进行变换,需要先将其转换为PIL图像格式。
阅读全文