基于imgaug库开发的图形界面批量图像增强工具,支持多种增强方式的自定义选择和批量处理。
基于imgaug库开发的图形界面批量图像增强工具,支持多种增强方式的自定义选择和批量处理。
- 30+种增强方式:涵盖几何变换、颜色增强、模糊噪声、对比度调整、天气效果等
- 图形化界面:直观的GUI操作,无需编程知识
- 批量处理:支持大量图像的批量增强
- 实时预览:可预览增强效果后再批量处理
- 配置管理:自动保存和加载用户配置
- 多线程处理:避免界面卡顿
- 进度显示:实时显示处理进度
- 错误处理:完善的错误提示和日志记录
- 格式支持:支持JPG、PNG、BMP、TIFF等格式
- 参数可调:每种增强方式都有预设参数
- Python 3.7+
- Windows/macOS/Linux
- 确保已安装Python 3.7+
- 运行启动脚本:
python run.py
- 程序会自动检查并安装所需依赖项
如果自动安装失败,可手动安装:
pip install numpy opencv-python Pillow scikit-image scipy- 点击"浏览"选择包含图像的输入文件夹
- 选择输出文件夹用于保存增强后的图像
- 设置每张图片的增强数量(1-50)
程序提供6大类增强方式:
几何变换
- Affine:仿射变换(缩放、旋转、平移)
- Rotate:旋转(-30到30度)
- Scale:缩放(70%到130%)
- Translate:平移(-20%到20%)
- Shear:剪切(-15到15度)
- PerspectiveTransform:透视变换
- ElasticTransformation:弹性变换
颜色增强
- AddToBrightness:亮度调整(-30到30)
- MultiplyBrightness:亮度乘法(0.7到1.3倍)
- AddToHue:色调调整(-20到20)
- AddToSaturation:饱和度调整(-30到30)
- Grayscale:灰度化(50%到100%)
- ChangeColorTemperature:色温调整(1000K到11000K)
- Posterize:色调分离(3到7位)
模糊和噪声
- GaussianBlur:高斯模糊(0到1.0)
- AverageBlur:平均模糊(2到7)
- MedianBlur:中值模糊(3到7)
- MotionBlur:运动模糊(3到7,角度-45到45)
- AdditiveGaussianNoise:高斯噪声(0到12.75)
- AdditivePoissonNoise:泊松噪声(0到10)
- SaltAndPepper:椒盐噪声(0到5%)
对比度和锐化
- ContrastNormalization:对比度归一化(0.5到1.5)
- HistogramEqualization:直方图均衡化
- CLAHE:CLAHE(限制1到4,网格3到7)
- Sharpen:锐化(强度0到1,亮度0.75到1.25)
- Emboss:浮雕(强度0到1,强度0.5到1.5)
天气效果
- Clouds:云朵(密度0到30%)
- Rain:雨滴(长度和宽度0.1到0.3)
- Snowflakes:雪花(大小和密度0.1到0.3)
- Fog:雾(密度0到30%)
边缘和纹理
- Canny:Canny边缘检测(强度0到1)
- DirectedEdgeDetect:定向边缘检测(强度0到1)
- FrequencyNoiseAlpha:频率噪声(指数-4到4,最大尺寸4到16)
- SimplexNoiseAlpha:Simplex噪声(最大尺寸4到16)
- 随机种子:确保结果可重现(默认42)
- 保持原始尺寸:是否保持图像原始尺寸
- 输出格式:选择输出图像格式(PNG/JPG/BMP/TIFF)
- 点击"预览效果"查看增强效果
- 点击"开始批量增强"开始处理
- 可随时点击"停止处理"中断
- 自动保存:程序会自动保存用户设置
- 配置加载:可通过菜单加载其他配置文件
- 快速选择:点击"选择测试图片"使用内置测试数据
- 多线程:处理过程不会卡住界面
- 进度显示:实时显示处理进度和状态
- 错误处理:单个文件失败不影响整体处理
- 日志记录:详细记录处理过程和错误信息
- 每个原始图像会创建一个子文件夹
- 原始图像保存为
{原文件名}_original.{格式} - 增强图像保存为
{原文件名}_aug_01.{格式}、{原文件名}_aug_02.{格式}等
- 单一增强:选择一种增强方式,适合简单需求
- 组合增强:选择多种增强方式,imgaug会随机组合
- 类别全选:使用每个类别的"全选"按钮快速选择
- 保守设置:对于重要数据,建议使用较小的参数范围
- 实验设置:可以尝试较大的参数范围获得更多变化
- 预览验证:批量处理前务必使用预览功能验证效果
- 批量大小:根据计算机性能调整每张图片的增强数量
- 输出格式:PNG质量最高但文件较大,JPG适合存储
- 内存管理:处理大量图像时注意内存使用
Image-Augmentation-master/
├── batch_image_augmentation.py # 基础版本GUI应用
├── batch_image_augmentation_advanced.py # 高级版本GUI应用
├── run.py # 启动脚本
├── config.json # 配置文件
├── README_批量图像增强工具.md # 使用说明
├── pkg/ # imgaug库文件
│ └── imgaug/
├── data/ # 测试数据
│ ├── img/ # 测试图像
│ ├── json/ # JSON标注
│ └── xml/ # XML标注
└── doc/ # 文档
├── images/ # 示例图片
└── source/ # 文档源码
A:
- 检查Python版本是否为3.7+
- 确保已安装所有依赖项
- 查看错误日志,根据提示安装缺失的库
A:
- 使用预览功能测试不同参数
- 调整增强方式的参数范围
- 尝试组合不同的增强方式
- 参考imgaug官方文档了解参数含义
A:
- 减少每张图片的增强数量
- 选择计算量较小的增强方式
- 使用JPG格式减少文件大小
- 关闭不必要的增强方式
A:
- 分批处理图像
- 减少同时处理的图像数量
- 使用较小的图像尺寸
- 关闭其他占用内存的程序
A:
- 程序会自动保存配置到config.json
- 可以通过菜单"文件" -> "保存配置"手动保存
- 可以通过菜单"文件" -> "加载配置"加载其他配置
- numpy >= 1.19.0
- opencv-python >= 4.5.0
- Pillow >= 8.0.0
- scikit-image >= 0.18.0
- scipy >= 1.7.0
- Windows 10/11
- macOS 10.14+
- Ubuntu 18.04+
- 依赖项问题:运行
python run.py自动检查和安装 - 权限问题:确保对输入输出文件夹有读写权限
- 路径问题:避免使用包含中文或特殊字符的路径
- 内存问题:处理大量图像时注意内存使用
- 新增高级版本GUI应用
- 支持配置文件的保存和加载
- 新增预览功能
- 改进错误处理和日志记录
- 优化用户界面和用户体验
- 基础版本GUI应用
- 支持30+种增强方式
- 批量处理功能
- 多线程处理
本项目基于原imgaug项目开发,遵循相应的开源许可证。
欢迎提交问题报告和功能建议!
注意:使用前请备份重要图像数据,确保增强效果符合预期。