# pip install imgaug
import imageio
import imgaug as ia
from imgaug import augmenters as iaa
import numpy as np
# 读取图片
image = imageio.imread(r"C:\Users\xiahuadong\Pictures\风景\陆家嘴1.jpg")
print("Original:")
ia.imshow(image)
# 图像增强
seq = iaa.Sequential(
[
iaa.Affine(rotate=(-90, 90)), # 旋转
# iaa.AdditiveGaussianNoise(scale=(30, 90)), # 高斯噪音
# iaa.Crop(percent=(0, 0.2)), # 裁剪
# iaa.ElasticTransformation(alpha=90, sigma=9), # 弹性变形
# iaa.AddToHueAndSaturation((-60, 60)), # 增加色调和饱和度
# iaa.ContrastNormalization((0.25, 1.5)), # 对比度
# iaa.Multiply((0.8, 1.2), per_channel=0.2), # 色彩通道
# iaa.Fliplr(0.5), # 对50%的图像进行水平翻转
# iaa.Flipud(0.2), # 对20%的图像做垂直翻转
# iaa.Affine(scale={
# "x": (0.8, 1.2),
# "y": (0.8, 1.2)
# }), # 图像缩放为80%到120%之间,
# iaa.PiecewiseAffine(scale=(0.01, 0.05)), # 扭曲图像的局部区域
# iaa.Grayscale(alpha=(0.0, 1.0)), # 将RGB变成灰度图然后乘alpha加在原图上
# iaa.Multiply((0.5, 1.5), per_channel=0.5), # 像素乘上0.5或者1.5之间的数字.
# iaa.Add((-10, 10), per_channel=0.5), # 每个像素随机加减-10到10之间的数
# iaa.Invert(0.15, per_channel=True), # 15%的概率反转像素的强度,反色.
# iaa.Emboss(alpha=(0, 1.0), strength=(0, 2.0)), # 浮雕效果
# iaa.Sharpen(alpha=(0, 1.0), lightness=(0.75, 1.5)), # 锐化处理
],
random_order=True)
images_aug = [seq.augment_image(image) for _ in range(16)] # 循环次数
ia.imshow(ia.draw_grid(images_aug, cols=4, rows=2))
# 保存图片
img1 = images_aug[0]
from PIL import Image
img2 = Image.fromarray(img1)
img2.save("1.png")