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+img0images = 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.的信息,即可定义数据增强方法。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
