imgaug测试记录

imgaug测试记录

第一部分——imgaug介绍

一、imgaug操作大致流程

imgaug是图像数据增强的一个库,其操作的大致流程为:定义图像变换方法(seq = iaa.Sequential)----->读取图像----->执行图像变换(seq.augment_images)----->保存图像

二、安装及代码使用

1.安装

pip install imgaug

2.对应github地址

https://github.com/aleju/imgaug

可以看到在该github库中,包含大量的数据增强方法,和部分演示示例。
3.使用代码

import cv2
import numpy as np
import imgaug.augmenters as iaa

# 定义数据增强方法
seq = iaa.Sequential([
    ###------可能用的上的数据增强方法-------###
    ###------可能用的上的数据增强方法-------###
    #iaa.Dropout([0.05, 0.1]),      # drop 5% or 10% of all pixel黑白填充
    #iaa.Sharpen(alpha=(0, 1.0), lightness=(0.75, 1.5)),#锐化处理
    #iaa.ContrastNormalization((0.5, 2.0), per_channel=0.5),# 将整个图像的对比度变为原来的一半或者二倍
    #iaa.AdditiveGaussianNoise(loc=0, scale=(0.0, 0.05*255), per_channel=0.5),#加入高斯噪声
    #iaa.Superpixels(p_replace=(0, 1.0),n_segments=(20, 100)),#超像素处理
    #iaa.Fliplr(0.5), # 对图像进行水平翻转
    #iaa.Flipud(0.5), # 对图像做上下翻转
    #iaa.MotionBlur(k=15),#运动模糊
    #iaa.KMeansColorQuantization(n_colors=64),#将颜色用kmeans量化为64种
    #iaa.GammaContrast((0.5, 2.0)),#伽玛对比度
    #iaa.GammaContrast((0.5, 2.0), per_channel=True),#
    #iaa.SigmoidContrast(gain=(3, 10), cutoff=(0.4, 0.6)),#Sigmoid 对比
    #iaa.AllChannelsCLAHE(),#AllChannelsCLAHE
    #iaa.HistogramEqualization(),#直方图均衡化
    #iaa.Alpha((0.0, 1.0), iaa.HistogramEqualization()),#alpha 混合直方图均衡化
    iaa.imgcorruptlike.Snow(severity=2),#下雨效果
    #iaa.imgcorruptlike.GlassBlur(severity=2),#毛玻璃效果
    #iaa.imgcorruptlike.ElasticTransform(severity=2),#弹性变换
    #iaa.Clouds(),#云雾
    #iaa.Fog()#多雾

])

images = cv2.imread("base.jpeg")
img=np.array(images)
images=img.reshape(1,images.shape[0],images.shape[1],images.shape[2])
images_aug = seq.augment_images(images) #实现图像增强
cv2.imwrite("new21.jpg",images_aug[0])

代码主要包括定义数据增强方法,读入图像,数据增强和保存图像四步。
4.批量处理

import cv2
import numpy as np
import imgaug.augmenters as iaa
import os.path
import os

# 定义数据增强方法
seq = iaa.Sequential([
    ###------可能用的上的数据增强方法-------###
    #iaa.Dropout([0.05, 0.1]),      # drop 5% or 10% of all pixel黑白填充
    #iaa.Sharpen(alpha=(0, 1.0), lightness=(0.75, 1.5)),#锐化处理
    #iaa.ContrastNormalization((0.5, 2.0), per_channel=0.5),# 将整个图像的对比度变为原来的一半或者二倍
    #iaa.AdditiveGaussianNoise(loc=0, scale=(0.0, 0.05*255), per_channel=0.5),#加入高斯噪声
    #iaa.Superpixels(p_replace=(0, 1.0),n_segments=(20, 100)),#超像素处理
    #iaa.Fliplr(0.5), # 对图像进行水平翻转
    iaa.Flipud(0.5), # 对图像做上下翻转
    #iaa.MotionBlur(k=15),#运动模糊
    #iaa.KMeansColorQuantization(n_colors=64),#将颜色用kmeans量化为64种
    #iaa.GammaContrast((0.5, 2.0)),#伽玛对比度
    #iaa.GammaContrast((0.5, 2.0), per_channel=True),#
    #iaa.SigmoidContrast(gain=(3, 10), cutoff=(0.4, 0.6)),#Sigmoid 对比
    #iaa.AllChannelsCLAHE(),#AllChannelsCLAHE
    #iaa.HistogramEqualization(),#直方图均衡化
    #iaa.Alpha((0.0, 1.0), iaa.HistogramEqualization()),#alpha 混合直方图均衡化
    #iaa.imgcorruptlike.Snow(severity=2),#下雨效果
    #iaa.imgcorruptlike.GlassBlur(severity=2),#毛玻璃效果
    #iaa.imgcorruptlike.ElasticTransform(severity=2),#弹性变换
    #iaa.Clouds(),#云雾
    #iaa.Fog()#多雾
])

if __name__ == '__main__':
    img_dir = '/home/jun/work/imgaug/img/'
    imgaugsave = '/home/jun/work/imgaug/imgout'
    for img0 in os.listdir(img_dir):
        nameinit=os.path.splitext(img0)[0]
        imgpath = img_dir+os.sep+img0
        images = cv2.imread(imgpath)
        img=np.array(images)
        images=img.reshape(1,images.shape[0],images.shape[1],images.shape[2])
        images_aug = seq.augment_images(images) #实现图像增强
        cv2.imwrite(imgaugsave+'/'+nameinit+'.jpg',images_aug[0])


'''
images = cv2.imread("add1img54.jpg")
img=np.array(images)
images=img.reshape(1,images.shape[0],images.shape[1],images.shape[2])
images_aug = seq.augment_images(images) #实现图像增强
cv2.imwrite("new22.jpg",images_aug[0])
'''

第二部分——数据增强方法及效果

对应的文档:https://imgaug.readthedocs.io/en/latest/source/examples_bounding_boxes.html
只需要对于修改seq = iaa.Sequential中iaa.的信息,即可定义数据增强方法。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小俊俊的博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值