图像采集与增强工具集 (ImageHarvest Suite)
这是一个功能全面的由AI(cursor)制作的图像处理工具集,包含图像采集、质量筛选、图像增强、效果对比和数据统计分析等功能模块,帮助您轻松构建高质量的图像数据集。
功能特点
图像采集模块
- 支持从百度图片自动采集各类花卉图片
- 支持自定义搜索关键词和花卉种类
- 支持自定义爬取页数和批量处理
- 采用智能随机延迟避免被封IP
- 图片自动分类保存至对应目录
图像增强模块
- 多种增强方法:旋转、翻转、裁剪、亮度/对比度调整等
- 智能图像质量过滤,自动剔除低质量图片
- 批量图像处理,效率高
- 可自定义每张图片的增强数量
- 多线程处理,充分利用多核CPU
- 随机组合增强方法,提高数据多样性
增强效果对比模块
- 原图与增强效果直观对比
- 支持生成不同增强方法的对比图
- 支持单一方法与组合方法效果对比
- 高质量图像输出,适合用于报告或展示
数据分析模块
- 统计指定目录下各花卉子文件夹中的图片数量
- 生成横向柱状图,直观展示各种花卉的图片数量
- 支持导出高质量图表为图片文件
- 可自定义分析目录和图表标题
图形用户界面
- 简洁直观的操作界面
- 实时预览增强效果
- 一键生成对比图
- 进度显示和状态反馈
系统截图
图形界面预览
增强效果对比
使用指南
1. 环境准备
确保您的系统已安装Python 3.6+,然后安装所需依赖:
pip install -r requirements.txt
如果遇到中文显示问题,可运行中文字体配置工具:
python chinese_font_setup.py
2. 图像采集
命令行方式
基本用法(使用默认参数):
python baidu_flower_spider.py
自定义参数:
python baidu_flower_spider.py --save-dir ./flower_images --max-pages 3 --keywords 樱花 水仙 桂花
参数说明:
--save-dir:指定图片保存的根目录,默认为./images--max-pages:指定每个关键词爬取的最大页数,默认为 2--keywords:指定要爬取的花卉关键词列表,可以指定多个,以空格分隔
默认会爬取18种常见花卉,包括玫瑰、郁金香、向日葵、百合、牡丹等。
3. 图像增强
命令行方式
python flower_enhancement.py --input ./flower_images --output ./enhanced_flowers --augmentations 5 --quality-filter
参数说明:
--input:输入图像目录,默认为./flower_images--output:输出图像目录,默认为./enhanced_flowers--augmentations:每张图片增强的数量,默认为 5--quality-filter:启用图像质量过滤,不合格的图像将被跳过
图形界面方式
启动图形界面:
python flower_enhancement_gui.py
在界面中可以:
- 选择输入文件或目录
- 选择输出目录
- 设置增强参数和方法
- 实时预览增强效果
- 开始批量处理
- 生成效果对比图
4. 增强效果对比
生成增强效果对比图:
python flower_enhancement_comparison.py --input ./flower_images --output ./flower_comparisons --samples 3 --save-individual
参数说明:
--input:输入图像目录--output:对比图保存目录--samples:每种花卉处理的样本数量--save-individual:是否保存单独的增强图片
对比图通常包含以下内容:
- 左上角:原始图片
- 其他位置:各种单一增强方法处理后的效果
- 最后一个位置:多种方法组合处理的效果
5. 数据分析
统计并可视化数据集中各类花卉的数量:
python flower_analysis.py --dir ./flower_images --output flower_stats.png --title "花卉图片数量统计"
参数说明:
--dir:指定要分析的图片根目录,默认为./flower_images--output:指定输出图表的文件路径,如不指定则只显示不保存--title:指定图表的标题,默认为"花卉图片数量统计"--font:指定中文字体文件的路径,用于解决中文显示问题
图像增强效果展示
原图
增强后效果
不同增强方法对比
增强方法详解
该工具支持以下图像处理方法:
- 随机旋转:在±20度范围内随机旋转图片
- 随机翻转:水平翻转、垂直翻转或同时翻转
- 随机裁剪:裁剪图片一部分,然后调整回原尺寸
- 亮度调整:随机增加或减少图片亮度
- 对比度调整:随机增强或减弱图片对比度
- 饱和度调整:随机增强或减弱图片颜色饱和度
- 添加噪声:添加高斯噪声、盐噪声或椒噪声
- 模糊处理:应用高斯模糊、中值模糊或双边模糊
质量过滤机制
启用质量过滤后,程序会自动检查以下方面并过滤掉不合格的图片:
- 尺寸过小:宽度或高度小于100像素的图片
- 模糊图片:使用拉普拉斯算子检测模糊度
- 亮度异常:过暗或过亮的图片
中文字体支持
为了正确显示中文,程序会尝试使用系统中已安装的中文字体。如果在使用数据分析或对比功能时遇到中文显示问题,可以:
- 使用字体配置工具:运行
python chinese_font_setup.py自动配置字体 - 指定字体文件:使用相关命令的
--font参数直接指定系统中的中文字体文件 - 安装中文字体:Windows系统可使用黑体、微软雅黑等;Linux系统可安装文泉驿等中文字体
应用场景与优势
应用场景
- 多领域数据集构建:虽然本项目以花卉为例,但工具集适用于各类图像数据集构建,包括但不限于:
- 水果、蔬菜分类数据集
- 鸟类、昆虫等动物图像数据集
- 建筑、风景等场景图像数据集
- 车辆、服装等商品图像数据集
- 医学影像数据集(简单调整参数后)
- 机器学习训练数据:快速构建各类识别模型所需的大量训练数据
- 计算机视觉研究:为图像分类、识别等研究提供高质量的样本数据
- 教学演示:直观展示各种图像处理技术的效果
- 数据不平衡问题:对样本数量较少的类别进行数据增强
- 防止过拟合:通过增加训练数据的多样性,降低模型过拟合风险
核心优势
- 一站式解决方案:从图像采集到增强,再到对比分析,提供完整工作流
- 省时高效:自动化程度高,大幅减少手动处理时间
- 质量保证:内置图像质量评估机制,确保数据集质量
- 易于使用:提供图形界面和命令行两种使用方式,适合不同用户
- 可视化效果:直观的对比图展示不同增强方法的效果差异
注意事项
- 爬取的图片将保存在
[save_dir]/[关键词]目录下 - 爬虫有随机延迟,避免频繁请求导致IP被封
- 增强后的数据集大小会比原始数据集大很多,请确保有足够的磁盘空间
- 质量过滤可能会导致部分图片被排除,最终增强图片数量可能少于预期
- 生成高分辨率对比图可能需要较多内存,处理大型数据集时建议使用性能较好的计算机
- 请合理使用,遵守网站的robots协议
- 爬取的图片仅供个人学习使用,请勿用于商业用途
示例效果
运行完整流程后,您将获得:
- 按花卉种类分类的原始图像集
- 经过质量筛选和增强处理的图像集
- 直观展示不同增强方法效果的对比图
- 数据集组成的统计分析可视化图表