第二十一章 数据处理篇:imgaug

imgaug是一个强大的图像数据增强库,支持多种图像增强方法,如仿射变换、高斯模糊和几何变换等。它还提供了针对关键点和包围框的增强功能,确保在图像变换时这些特征也能相应调整。通过Sequential、SomeOf、OneOf和Sometimes等方法,可以组合和随机应用增强策略。

参考教程:
https://imgaug.readthedocs.io/en/latest/source/jupyter_notebooks.html

概述

imgaug是一个使用的数据增强工具,不仅提供了常见的形状和颜色的增强方法,还提供了一些特殊的增强方法,比如说针对keypoint和bounding boxes的增强。

imgaug中的大部分增强方法,都要求你的输入图像是uint8的numpy arrays,并且最好是RGB图像。更具体的类型要求可以参考dtype_support.html

接下来我们按照imgaug提供的notebook中的处理顺序,来看一下各种类型的增强方法。

针对图片的增强

首先我们来看一下基础的针对图像的增强方法,我们使用imageio读入一张图片,使用imageio直接读入的图像通道就是按照RGB排列的,如果使用opencv,需要自行转换成RGB。
在这里插入图片描述

基础使用样例

imgaug中提供了多种增强方法,并且使用起来很简单,只需要实例化某方法并设定好参数后,再将你的图片传入即可。

以放射变化为例:
在这里插入图片描述
我们可以看一下仿射变化的源码:

classimgaug.augmenters.geometric.Affine(scale=None, translate_percent=None, translate_px=None, rotate=None, shear=None, order=1, cval=0, mode='constant', fit_output=False, backend='auto', seed=None, name=None, random_state='deprecated', deterministic='deprecated')

它的输入参数有多个,包括:

  1. scale: 缩放
  2. translate_percent:平移比例
  3. translate_px:平移像素值
  4. rotate:旋转角度
  5. shear:错切角度

在上面的例子中,我们使用的参数是rotate = (-25,25),意思就是旋转的范围在-25度和25度之间。

也可以将一组图像作为输入,要注意这时输入参数是images而不再是image
在这里插入图片描述
并且imgaug中,images是支持不同大小的图像的。

base class: augment

class imgaug.augmenters.meta.Augmenter(seed=None, name=None, random_state='deprecated', deterministic='deprecated')

基本上各种增强方法都是继承了Augmenter这个类,在刚刚的使用例子中提到如果传参使用image就是增强单张图像,使用images就是多张,我们看看源码具体是如何实现的。那么这就首先要来看Augmenter这个class的__call__()方法。

def __call__
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值