参考教程:
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')
它的输入参数有多个,包括:
- scale: 缩放
- translate_percent:平移比例
- translate_px:平移像素值
- rotate:旋转角度
- 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__

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

被折叠的 条评论
为什么被折叠?



