文章目录
- 前言
- 使用方法
- 文件夹结构
- 运行
- 可用功能
前言
每次都得按照新的图像创建图像增强代码,显得太麻烦了。于是自己写了这样一个包。开源地址:GitHub地址
使用方法
其实在REAMDE
里面已经写得很清楚了。主要还是因为在Windows
里面路径跟编码的问题没解决,所以还是推荐直接用执行源码的方式。这里也以执行源码的方式给出使用方法。
文件夹结构
执行之前,我们先组织一下文件夹的结构。我们假设你自己的数据集文件夹叫your_dataset_dir
,文件夹的内容应该是:
your_dataset_dir/
|
|- images/ # 图片所在目录
| |- image1.jpg
| |- ...
|- labels/ # 标签所在目录
| |- label1.txt
| |- ...
|- output/ # 输出目录
| |- images/ # 输出图片所在目录(空文件夹)
| |- labels/ # 输出标签所在目录(空文件夹)
|- my.yaml(或者default.yaml) # 源码中的必要文件
|- dataloader.py # 源码中的必要文件
|- reinforce.py # 源码中的必要文件
可以看到实际有用的其实就三个家伙,剩下的都是为了包装为pip包才放的(捂脸
其中,my.yaml
最好是default.yaml
的副本。如果你不想麻烦的话,直接修改default.yaml
也没关系。
运行
然后,我们创建一个文件,可以叫做my-runner.py
,也可以是my-runner.ipynb
,怎么顺眼怎么来就行。
文件中需要写入以下内容:
import dataloader
"""
dataloader.DataLoader所有的参数都有默认值。
如果你保持`default.yaml`文件,那么你可以直接使用`myloader = dataloader.DataLoader()`。
如果你想要修改参数,你可以直接传入`myloader = dataloader.DataLoader(yaml_path = "my.yaml")`。
"""
myloader = dataloader.DataLoader(yaml_path = "my.yaml")
myloader.run_epochs()
执行就行了。点击运行按钮,或者执行python my-runner.py
,都可以,怎么顺利怎么来。
当然,有些眼睛很尖的人已经发现这些内容就是dataloader.py
文件的main
函数内容了。所以如果你是直接修改default.yaml
的话,可以直接执行python dataloader.py
,就不需要额外创建文件了。
可用功能
目前功能还有限,比如:
- 对图片进行旋转
- 90度
- 180度
- 270度
- 对图像进行翻转
- 水平翻转
- 垂直翻转
- 对图像进行组合
- 随机抽取图片
- 组合为 n × n n{\times}n n×n的正方形图片
- 可以指定 n n n的大小
- 对组合的图像进行增强
- 增加高斯噪声
- 修改图片亮度
- 参数可配置
- 使用
yaml
文件参数配置参数 - 通过创建对象的时候传值进行初始化
- 使用
目前只能针对图内有框的场景,一张图片本身全部都是一个标签的,类似数字水印等情况暂时还不适用。