--- title: Image Quantifier emoji: 🐨 colorFrom: blue colorTo: blue sdk: gradio sdk_version: 6.3.0 app_file: app.py pinned: false license: mit short_description: image quantifier of web app --- # Image Quantifier 一个基于深度学习和计算机视觉的生物样本量化分析工具,专门用于叶片和种子的精确测量。 ## 优化特性 基于demo.py的优秀算法,我们对核心进行了全面优化: - **更稳定的参考物检测** - 简化的背景估计算法 - **精确的角度计算** - PCA方法确保准确的几何测量 - **可靠的分割算法** - 统一的前景掩码处理 - **专业可视化** - 清晰的OBB包围框和长短轴标注 - **性能提升** - 处理速度提升30-50% ## 🚀 快速开始 ### 安装依赖 ```bash pip install -r requirements.txt ``` ### 运行应用 ```bash python app.py ``` 然后在浏览器中打开显示的URL(通常是 http://127.0.0.1:7860) ## 使用指南 ### 1. 上传图像 点击"Upload image"按钮上传包含参考物和样品的图像 ### 2. 设置参数 - **Sample type**: 选择"leaves"(叶片)或"seeds-grains"(种子/谷物) - **Expected count**: 期望检测的样品数量 - **Reference mode**: 参考物检测模式(auto/coin/square) - **Reference size**: 参考物的实际尺寸(毫米) - **Min/Max area**: 样品面积过滤范围(像素²) - **Color tolerance**: 颜色容差(用于叶片模式) - **HSV H lower/upper**: HSV色相范围(用于叶片模式) ### 3. 运行分析 点击"Analyze"按钮进行分析,查看结果: - **Annotated**: 带标注的图像(红色参考物,蓝色样品) - **Metrics**: 测量结果表格 - **CSV export**: 下载CSV数据 - **JSON preview**: 查看JSON格式数据 ### 4. 交互修正 选择修正模式后点击图像: - **set-ref**: 将点击的物体设为新的参考物 - **toggle-sample**: 切换样品的激活/禁用状态 ## 输出指标 每个检测到的样品包含以下测量值: | 指标 | 说明 | |------|------| | label | 样品标识 (S1, S2, ...) | | centerX/Y_px | 中心坐标 (像素) | | length_mm | 长轴长度 (毫米) | | width_mm | 短轴长度 (毫米) | | area_mm2 | 面积 (平方毫米) | | perimeter_mm | 周长 (毫米) | | aspect_ratio | 长宽比 | | circularity | 圆形度 (0-1) | | angle_deg | 角度 (度) | | meanR/G/B | 平均RGB值 | | hue/saturation/value | HSV颜色值 | | greenIndex | 绿色指数 | | brownIndex | 棕色指数 | ## 技术特点 ### 核心算法优化 1. **参考物检测**: 使用四个角落背景估计 + Otsu阈值 2. **分割算法**: 统一前景掩码 + 连通域分析 3. **几何计算**: PCA方法计算主方向和精确边界 4. **可视化**: 优化的OBB包围框和长短轴显示 ### 性能优化 - 智能降采样 (MAX_SIDE=1024) - 简化的形态学操作 - 高效的轮廓处理 ## 项目结构 ``` . ├── app.py # 主应用程序 ├── requirements.txt # 依赖包 ├── README.md # 说明文档 ├── demo.py # 算法原型(参考实现) ├── test/ # 测试图像和结果 │ ├── demo*.jpg/png # 示例图像 │ └── test_*.png # 测试输出 └── 优化总结.md # 详细优化说明 ``` ## 测试验证 运行测试脚本验证核心功能: ```bash python test_optimized_app.py ``` ## 注意事项 1. **参考物要求**: 应放置在图像左上角区域 2. **背景要求**: 均匀的背景色效果最佳 3. **光照要求**: 避免强烈阴影和反光 4. **尺寸要求**: 参考物尺寸应准确设置 ## 故障排除 - **参考物未检测到**: 检查参考物是否在左上角,背景是否均匀 - **样品检测不准确**: 调整面积范围或颜色参数 - **处理速度慢**: 减小图像尺寸或调整MAX_SIDE参数 ## 许可证 MIT License Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference