图像采集与增强工具集(ImageHarvest Suite)

39 阅读7分钟

图像采集与增强工具集 (ImageHarvest Suite)

这是一个功能全面的由AI(cursor)制作的图像处理工具集,包含图像采集、质量筛选、图像增强、效果对比和数据统计分析等功能模块,帮助您轻松构建高质量的图像数据集。

项目地址:gitee.com/zzzjian1/im…

功能特点

图像采集模块

  • 支持从百度图片自动采集各类花卉图片
  • 支持自定义搜索关键词和花卉种类
  • 支持自定义爬取页数和批量处理
  • 采用智能随机延迟避免被封IP
  • 图片自动分类保存至对应目录

图像增强模块

  • 多种增强方法:旋转、翻转、裁剪、亮度/对比度调整等
  • 智能图像质量过滤,自动剔除低质量图片
  • 批量图像处理,效率高
  • 可自定义每张图片的增强数量
  • 多线程处理,充分利用多核CPU
  • 随机组合增强方法,提高数据多样性

增强效果对比模块

  • 原图与增强效果直观对比
  • 支持生成不同增强方法的对比图
  • 支持单一方法与组合方法效果对比
  • 高质量图像输出,适合用于报告或展示

数据分析模块

  • 统计指定目录下各花卉子文件夹中的图片数量
  • 生成横向柱状图,直观展示各种花卉的图片数量
  • 支持导出高质量图表为图片文件
  • 可自定义分析目录和图表标题

图形用户界面

  • 简洁直观的操作界面
  • 实时预览增强效果
  • 一键生成对比图
  • 进度显示和状态反馈

系统截图

图形界面预览

image.png

增强效果对比

image.png

使用指南

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

在界面中可以:

  1. 选择输入文件或目录
  2. 选择输出目录
  3. 设置增强参数和方法
  4. 实时预览增强效果
  5. 开始批量处理
  6. 生成效果对比图

4. 增强效果对比

生成增强效果对比图:

python flower_enhancement_comparison.py --input ./flower_images --output ./flower_comparisons --samples 3 --save-individual

参数说明:

  • --input:输入图像目录
  • --output:对比图保存目录
  • --samples:每种花卉处理的样本数量
  • --save-individual:是否保存单独的增强图片

对比图通常包含以下内容:

  1. 左上角:原始图片
  2. 其他位置:各种单一增强方法处理后的效果
  3. 最后一个位置:多种方法组合处理的效果

image.png

5. 数据分析

统计并可视化数据集中各类花卉的数量:

python flower_analysis.py --dir ./flower_images --output flower_stats.png --title "花卉图片数量统计"

参数说明:

  • --dir:指定要分析的图片根目录,默认为./flower_images
  • --output:指定输出图表的文件路径,如不指定则只显示不保存
  • --title:指定图表的标题,默认为"花卉图片数量统计"
  • --font:指定中文字体文件的路径,用于解决中文显示问题

image.png

图像增强效果展示

原图

image.png

增强后效果

image.png

不同增强方法对比

image.png

增强方法详解

该工具支持以下图像处理方法:

  1. 随机旋转:在±20度范围内随机旋转图片
  2. 随机翻转:水平翻转、垂直翻转或同时翻转
  3. 随机裁剪:裁剪图片一部分,然后调整回原尺寸
  4. 亮度调整:随机增加或减少图片亮度
  5. 对比度调整:随机增强或减弱图片对比度
  6. 饱和度调整:随机增强或减弱图片颜色饱和度
  7. 添加噪声:添加高斯噪声、盐噪声或椒噪声
  8. 模糊处理:应用高斯模糊、中值模糊或双边模糊

质量过滤机制

启用质量过滤后,程序会自动检查以下方面并过滤掉不合格的图片:

  • 尺寸过小:宽度或高度小于100像素的图片
  • 模糊图片:使用拉普拉斯算子检测模糊度
  • 亮度异常:过暗或过亮的图片

中文字体支持

为了正确显示中文,程序会尝试使用系统中已安装的中文字体。如果在使用数据分析或对比功能时遇到中文显示问题,可以:

  1. 使用字体配置工具:运行python chinese_font_setup.py自动配置字体
  2. 指定字体文件:使用相关命令的--font参数直接指定系统中的中文字体文件
  3. 安装中文字体:Windows系统可使用黑体、微软雅黑等;Linux系统可安装文泉驿等中文字体

应用场景与优势

应用场景

  • 多领域数据集构建:虽然本项目以花卉为例,但工具集适用于各类图像数据集构建,包括但不限于:
    • 水果、蔬菜分类数据集
    • 鸟类、昆虫等动物图像数据集
    • 建筑、风景等场景图像数据集
    • 车辆、服装等商品图像数据集
    • 医学影像数据集(简单调整参数后)
  • 机器学习训练数据:快速构建各类识别模型所需的大量训练数据
  • 计算机视觉研究:为图像分类、识别等研究提供高质量的样本数据
  • 教学演示:直观展示各种图像处理技术的效果
  • 数据不平衡问题:对样本数量较少的类别进行数据增强
  • 防止过拟合:通过增加训练数据的多样性,降低模型过拟合风险

核心优势

  • 一站式解决方案:从图像采集到增强,再到对比分析,提供完整工作流
  • 省时高效:自动化程度高,大幅减少手动处理时间
  • 质量保证:内置图像质量评估机制,确保数据集质量
  • 易于使用:提供图形界面和命令行两种使用方式,适合不同用户
  • 可视化效果:直观的对比图展示不同增强方法的效果差异

注意事项

  • 爬取的图片将保存在[save_dir]/[关键词]目录下
  • 爬虫有随机延迟,避免频繁请求导致IP被封
  • 增强后的数据集大小会比原始数据集大很多,请确保有足够的磁盘空间
  • 质量过滤可能会导致部分图片被排除,最终增强图片数量可能少于预期
  • 生成高分辨率对比图可能需要较多内存,处理大型数据集时建议使用性能较好的计算机
  • 请合理使用,遵守网站的robots协议
  • 爬取的图片仅供个人学习使用,请勿用于商业用途

示例效果

运行完整流程后,您将获得:

  1. 按花卉种类分类的原始图像集
  2. 经过质量筛选和增强处理的图像集
  3. 直观展示不同增强方法效果的对比图
  4. 数据集组成的统计分析可视化图表