病虫害识别- Python YOLOv8 Flask Vue sqlite
项目描述
基于 YOLOv8 + Flask + Vue 3 的农作物害虫智能检测系统,支持图片上传检测、摄像头实时检测、检测历史记录和数据统计。
http://localhost:3000
管理员 admin 123456
用户 user 123456
功能描述
1.用户管理
功能 说明
账号注册 用户名 + 密码 + 手机号,注册即登录
账号登录 用户名 + 密码,JWT Token 认证
验证码登录 手机号 + 模拟短信验证码(页面上显示)
密码找回 通过手机验证码重置密码
个人资料 编辑姓名 / 手机号 / 邮箱,修改密码
权限管理 user(普通用户)/ admin(管理员)两级
2.检测功能
功能 说明
图片检测 上传图片,YOLO 识别害虫种类、置信度、位置
摄像头 调用设备摄像头实时拍照检测
视频检测 上传 MP4/WebM/MOV,逐帧检测,统计频次 + 示例帧
3.数据分析
功能 说明
仪表盘 检测次数 / 害虫总数 / 种类数 统计卡片
分布图 专业柱状图(Y轴刻度 + 网格线 + 悬停提示)
历史记录 图片 + 视频统一列表,斑马纹表格,支持删除
PDF 导出 统计报告(内置 CJK 字体,中文正常显示)
Excel 导出 检测记录明细表
4.API 接口
方法 路径 说明
POST /api/auth/register 用户注册
POST /api/auth/login 账号密码登录
POST /api/auth/sms-login 手机验证码登录
POST /api/auth/send-code 发送模拟验证码
POST /api/auth/reset-password 重置密码
GET /api/user/profile 获取个人资料
PUT /api/user/profile 编辑个人资料
POST /api/user/change-password 修改密码
GET /api/admin/users 用户列表
PUT /api/admin/users/<id>/role 修改角色
DELETE /api/admin/users/<id> 删除用户
POST /api/detect 图片检测(FormData: image)
POST /api/video/detect/video 视频检测(FormData: video)
GET /api/detect/image/<filename> 获取标注图片
GET /api/video/result/<filename> 获取视频示例帧
GET /api/history 检测历史(图片+视频)
DELETE /api/history/<id> 删除记录(图片用数字ID,视频用 v_ 前缀)
GET /api/stats 统计概览
GET /api/export/pdf 导出 PDF 报告
GET /api/export/excel 导出 Excel 明细
运行环境
开发环境pycharm
运行环境 flask+python3.8
项目技术
后端框架 Flask + Flask-CORS
数据库 SQLite + SQLAlchemy
认证 itsdangerous (JWT)
AI 推理 Ultralytics YOLOv8
视频处理 OpenCV
导出 ReportLab (PDF) + OpenPyXL (Excel)
前端 Vue 3 (Composition API) + Vite
路由 Vue Router 4
HTTP Axios
包管理 uv (Python) / npm (Node)
以上系统源码经过技术整理与调试,确保能正常运行


