# plant_analysis **Repository Path**: xwl_fighter/plant_analysis ## Basic Information - **Project Name**: plant_analysis - **Description**: 植物表型分析系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-01 - **Last Updated**: 2026-02-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 植物表型分析系统 一个完整的植物图像分析解决方案,能够在树莓派等嵌入式设备上运行,用于分析植物的健康状况、生长状态和提供护理建议。 ## 功能特性 ### 基本分析功能 - 识别叶片数量和大小 - 分析叶片颜色健康状况(绿色/黄色/棕色比例) - 评估植物整体健康状态 - 提供水分和营养状态评估 - 针对不同植物类型提供建议 - 检测常见的植物健康问题 - 生成详细的护理建议 ### 高级分析功能 - 计算叶片形状特征(紧凑度、对称性、细长度) - 分析纹理和边缘密度特征 - 多色彩空间分析(HSV、LAB) - 颜色分布统计 - 结构完整性评估 - 生长模式分析 - 压力指标检测 - 生长阶段判断 ### 支持的植物类型 - gardenia (栀子花) - pothos (绿萝) - monstera (龟背竹) - snake_plant (虎尾兰) - fern (蕨类植物) - succulent (多肉植物) ## 系统架构 - `app.py` - Flask Web应用主文件,提供图像上传界面和邮件推送功能 - `plant_analysis_app.py` - 命令行接口,支持基本/高级/比较分析 - `plant_phenotype_analyzer.py` - 基本植物分析模块 - `advanced_plant_analyzer.py` - 高级植物分析模块 - `plant_processor.py` - Web应用处理器,为前端提供分析接口 - `templates/index.html` - 响应式Web界面,支持移动端 - `static/uploads/` - 上传文件存储目录 ## 安装依赖 ```bash pip install opencv-python numpy plantcv flask python-dotenv ``` ## 使用方法 ### Web应用方式 1. 配置邮箱(可选,用于结果推送): ```env # .env 文件 SENDER_EMAIL=your_email@domain.com SENDER_PWD=your_email_password_or_app_key SMTP_SERVER=smtp.domain.com SMTP_PORT=465 ``` 2. 启动Web服务器: ```bash python app.py ``` 3. 在浏览器中访问 `http://localhost:5000` 或树莓派IP地址 ### 命令行方式 ```bash # 基本分析 python plant_analysis_app.py basic path/to/image.jpg --plant_type gardenia # 高级分析 python plant_analysis_app.py advanced path/to/image.jpg --plant_type gardenia # 比较分析 python plant_analysis_app.py compare path/to/image.jpg --plant_type gardenia # 保存结果到文件 python plant_analysis_app.py basic path/to/image.jpg --plant_type gardenia --save_path result.json ``` ### 编程接口 ```python from plant_phenotype_analyzer import PlantPhenotypeAnalyzer analyzer = PlantPhenotypeAnalyzer() result = analyzer.analyze_plant_image('image.jpg', 'gardenia') analyzer.print_detailed_report(result) ``` ## 系统优势 1. **多层分析能力** - 提供基本和高级两种分析深度 2. **多种交互方式** - 支持命令行、Web界面和编程接口 3. **智能结果推送** - 通过邮件自动发送分析结果 4. **响应式界面** - 适配桌面和移动设备 5. **扩展性强** - 易于添加新的植物类型和分析功能 6. **树莓派优化** - 专为嵌入式设备性能优化 ### Web界面功能(修复后) - ✓ 点击上传区域可打开文件选择对话框 - ✓ 拖拽文件到上传区域可成功上传 - ✓ 文件选择后正确更新界面显示 - ✓ 表单提交验证正确工作 - ✓ 上传文件持久性问题已解决 ## 部署到树莓派 1. 将项目文件复制到树莓派 2. 安装依赖包 3. 配置网络和邮箱设置 4. 启动应用并访问树莓派IP地址 ## 技术栈 - Python 3.x - OpenCV - 图像处理 - NumPy - 数值计算 - PlantCV - 植物计算机视觉 - Flask - Web框架 - Bootstrap 5 - 前端UI框架 ## 许可证 MIT License