jpg数据增强扩充

jpg_data_aug

# 用于数据扩充增强  具体使用时需要修改imread和imwrite路径
import imageio
import numpy as np
import imgaug as ia
from imgaug import augmenters as iaa  # 引入数据增强的包
import cv2
import glob
from imgaug.augmentables.segmaps import SegmentationMapsOnImage

ia.seed(1)
image = cv2.imread("images\image30.jpg")

seq = iaa.Sequential(
    [  # 建立一个名为seq的实例,定义增强方法,用于增强
        iaa.Resize({"height": 1024, "width": 1284}),
        iaa.Sequential(
            [
                iaa.Fliplr(0.5),  # 水平翻转50%的图像
                iaa.Flipud(0.5),  # 垂直翻转50%的图像
                iaa.Affine(scale=(0.5, 1.5)),
                iaa.Affine(
                    rotate=(-45, 45),
                    shear=0,
                    # mode="constant",
                    # fit_output=True,
                ),  # (-8, 8),
            ],
            random_order=True,
        ),
        # iaa.Sharpen(alpha=(0.0, 1.0), lightness=(0.75, 2.0)),    #亮度在0.75-2.0之间,alpha在0.0-1.0之间的效果
        iaa.ContrastNormalization((0.5, 1.5)),  # 每幅图像随机抽样,将对比度标准化为0.5至1.5倍。
        # iaa.Crop(px=(0, 16)),     #对图像进行crop操作,随机在距离边缘的0到16像素中选择crop范围
        iaa.Crop(percent=0.12),
        # iaa.Fliplr(0.5),     #对百分之五十的图像进行做左右翻转
        iaa.GaussianBlur((0, 1.0)),  # 在模型上使用0均值1方差进行高斯模糊
        # iaa.Resize(size=[512, 642]),
        # 用高斯模糊,均值模糊,中值模糊中的一种增强。注意OneOf的用法
        iaa.OneOf(
            [
                iaa.GaussianBlur((0, 3.0)),
                iaa.AverageBlur(k=(2, 7)),  # 核大小2~7之间,k=((5, 7), (1, 3))时,核高度5~7,宽度1~3
                iaa.MedianBlur(k=(3, 11)),
            ]
        ),
        # 锐化处理
        iaa.Sharpen(alpha=(0, 1.0), lightness=(0.75, 1.5)),
        # 浮雕效果
        iaa.Emboss(alpha=(0, 1.0), strength=(0, 2.0)),
        iaa.Resize({"height": 512, "width": 642}),
    ],
    random_order=False,
)

images_aug = []

for _ in range(20):
    images_aug_i = seq(image=image)
    temp = []
    temp.append(images_aug_i)
    grid_image = ia.draw_grid(temp)
    imageio.imwrite("images_aug_08/Image30_{}.jpg".format(_), grid_image)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值