本python库可以帮助你在机器学习项目中达到增强图像的目的。它能将一组输入的图像转换成一个新的、更大的并且稍有变换的图像集。
特征: ·在试验之前先定义你的增强序列,然后可以多次使用它。 ·为每次图片的增强定义灵活的随机范围,比如“在-45°到45°这个范围内取值并以这个值旋转每张图像”或者“从正态分布N(0, 5.0)中采样取值并以这个值旋转每张图像”。 ·将所有随机范围转换成确定值后,通过完全相同的方式对不同批次的图像进行增强(比如说某些图像和它们的热图)。 下面的图像显示了每个可用的增强技术的例子:
Noop是一个没有用处的增强对象。裁剪的值是(顶部像素,右侧像素,atv直播,底部像素,左侧像素)。以(a, b)形式书写的其他值的意思是每个值x是从a≤x≤b这个范围中随机挑选出来的。 要求与安装 需要依赖: ·six ·numpy ·scipy ·scikit-image (pip install -U scikit-image) ·OpenCV (比如 cv2) 安装: ·克隆库 ·在库里面输入: opythonsetup.py sdist osudo pipinstall dist/imgaug-0.1.tar.gz 目前只在python2.7上进行了测试,编写的代码同样能在python3上运行。 例子 一个标准的机器学习情境——训练大批量的图像,atv,并通过剪裁、水平翻转(“Fliplr”)和高斯模糊这些方法来对每批图像进行增强:
在图像上应用多重增强技术(常用于在自述文件之前创建图像):
快速显示出你的增强序列的示例结果:
增强灰度图像:
用同样的方式增强两批图像(比如说同时水平翻转两批图像中的第1、2、5张图像,但不改变第3、4张图像):
增强图像以及图像上的关键特征点:
对图像施加单一的增强方法:
你可以对每个增强对象的随机参数使用更多不同寻常的分布方式:
你可以在已经定义的序列中动态解除增强对象:
点击阅读原文跳转Github 热门文章推荐 (责任编辑:本港台直播) |