本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。
一、项目描述
基于 YOLOv11 深度学习模型的农作物病害检测 Web 服务系统,支持水稻、玉米、草莓、番茄四种作物的常见病害识别。用户上传图片、视频或开启摄像头,系统实时输出检测结果、病害类别、置信度及耗时。
访问路径:http://127.0.0.1:5001/
二、项目功能
– 图片预测:上传作物图片,选择对应模型和种类,返回标注框、病害标签、置信度和预测耗时
– 视频预测:上传视频文件,逐帧进行病害检测并实时推送标注画面流
– 摄像头预测:调用本地摄像头实时检测,支持随时停止
– 模型管理:动态读取 weights 目录下所有权重文件供前端选择
– 结果保存:检测后的视频/图片通过 FFmpeg 转码后上传至文件服务器(需外部服务支持)
三、运行环境
– 操作系统:Windows
– Python:3.11
– 依赖库:Flask 3.0.3、ultralytics 8.4.161、opencv-python 5.0.0、flask-socketio、requests
– 外部工具:FFmpeg(视频转码用,当前未安装)
– 端口:5001(Flask 服务)
四、项目技术
– 后端框架:Flask + Flask-SocketIO,提供 REST API 和 WebSocket 实时通信
– 检测模型:Ultralytics YOLO(yolo11n),四种作物各自训练独立权重
– 视频处理:OpenCV 逐帧读取与标注,MJPEG 流式推送实现实时预览
– 前端:原生 HTML/CSS/JS 单页面,Tab 切换三种预测模式,FormData 文件上传
以上系统源码经过技术整理与调试,确保能正常运行
五、项目截图