基于Yolov8训练的Flask后端和Uniapp野生菌识别系统

野生菌识别系统

项目介绍

野生菌识别系统是一个基于Flask后端和Uniapp前端的微信小程序项目,用于识别野生菌的种类、毒性等信息,并提供知识科普功能。该项目采用了YOLOv8深度学习模型进行图像识别,能够快速准确地识别野生菌的种类和特征。

功能特点

用户功能

  • 注册登录
  • 识别功能(支持摄像头、图片、视频)
  • 识别结果展示(学名、俗称、特征、数量、用时、准确率、毒性等)
  • 识别记录查看
  • 个人信息管理
  • 知识科普查看(分类浏览、图文详情、搜索功能)

管理员功能

  • 用户管理(禁用/启用用户、删除用户)
  • 识别记录管理(查看、删除记录)
  • 知识科普管理(发表、删除、修改科普文章)

技术栈

  • 后端:Flask + MySQL + SQLAlchemy

  • 前端:Uniapp + Vue

  • 模型:YOLOv8

  • 图像处理:OpenCV

  • 数据库:MySQL

YOLOv8 模型介绍

YOLOv8是Ultralytics公司开发的最新一代目标检测模型,具有以下特点:

  • 高精度:采用了最新的深度学习技术,识别准确率高

  • 速度快:推理速度快,适合实时应用场景

  • 多任务:支持目标检测、实例分割、姿态估计等多种任务

  • 易于部署:提供了多种部署方案,适合不同的应用场景

在本项目中,YOLOv8模型被用于识别野生菌的种类和特征,通过分析图像中的野生菌,提取其关键特征,然后与训练数据进行比对,最终确定野生菌的种类、毒性等信息。

项目结构

```

code24_yolov8/

├── app/ # Flask后端应用

│ ├── api/ # API路由

│ ├── models/ # 数据库模型

│ └── utils/ # 工具类

├── pages/ # Uniapp前端页面

├── static/ # 静态资源

├── uploads/ # 上传文件存储

├── ultralytics/ # YOLOv8相关代码

├── config/ # 配置文件

├── init_db.py # 数据库初始化脚本

├── run.py # Flask应用启动脚本

├── requirements.txt # Python依赖包

├── pages.json # Uniapp页面配置

└── package.json # Node.js依赖包

```

安装步骤

  1. 安装Python依赖

```bash

pip install -r requirements.txt

```

  1. 安装Node.js依赖

```bash

npm install

```

  1. 配置数据库

修改 `app/models/init.py` 文件中的数据库连接配置:

```python

SQLALCHEMY_DATABASE_URL = "mysql+pymysql://root:password@localhost:3306/wild_mushroom"

```

  1. 初始化数据库

```bash

python init_db.py

``

  1. 启动Flask后端

```bash

python run.py

```

  1. 构建Uniapp前端

```bash

npm run build:mp-weixin

```

使用说明

  1. 打开微信开发者工具,导入 `dist/build/mp-weixin` 目录

  2. 运行小程序,注册账号或使用默认管理员账号登录

  3. 上传图片或使用摄像头进行野生菌识别

  4. 查看识别结果和历史记录

  5. 浏览知识科普内容

默认账号

  • 管理员账号:admin / admin123

注意事项

  1. 确保MySQL数据库服务已启动

  2. 确保Flask后端服务运行在 http://localhost:5000

  3. 确保项目中包含了YOLOv8模型相关代码和配置

  4. 上传的图片大小建议不超过5MB,以确保识别速度

  5. 识别结果仅供参考,不能作为专业鉴定的依据

模型训练

如果需要重新训练YOLOv8模型,可以按照以下步骤进行:

  1. 准备训练数据,包括野生菌的图像和标注

  2. 配置训练参数,修改 `config/configs.yaml` 文件

  3. 运行训练脚本:

```bash

python train.py

```

  1. 训练完成后,模型权重会保存在指定目录

API接口

用户接口

  • `POST /api/register` - 用户注册

  • `POST /api/login` - 用户登录

  • `GET /api/user/info` - 获取用户信息

  • `POST /api/user/update` - 更新用户信息

识别接口

  • `POST /api/identify` - 识别野生菌

  • `GET /api/history` - 获取识别历史

知识科普接口

  • `GET /api/knowledge` - 获取知识科普列表

  • `GET /api/knowledge/<id>` - 获取知识科普详情

管理员接口

  • `GET /api/admin/users` - 获取用户列表

  • `POST /api/admin/user/delete` - 删除用户

  • `POST /api/admin/user/toggle` - 禁用/启用用户

  • `GET /api/admin/records` - 获取识别记录列表

  • `POST /api/admin/record/delete` - 删除识别记录

  • `POST /api/admin/knowledge/add` - 添加知识科普

  • `POST /api/admin/knowledge/update` - 更新知识科普

  • `POST /api/admin/knowledge/delete` - 删除知识科普

版权声明

© 2026 野生菌识别系统

  • 保留所有权利
相关推荐
前网易架构师-高司机7 小时前
带标注的细胞有丝分裂数据集数据集,识别率95.9%,304张图,支持yolo,coco json,voc xml,文末有模型训练代码
yolo·细胞·显微镜·生物·有丝分裂·显微
2501_916007477 小时前
深入理解HTTPS对称与非对称加密机制及Charles抓包实践
网络协议·http·ios·小程序·https·uni-app·iphone
小徐_23338 小时前
AI 写 wot-ui 总在猜 API?我们把 Skills、MCP 和 CLI 都配好了
前端·uni-app·ai编程
Liu.7749 小时前
uni-app 组件 uni-easyinput 常见 Bug 及解决方案
uni-app·bug
前网易架构师-高司机19 小时前
带标注的移动通信基站信号塔,可识别塔架和塔身数据集,识别率93.5%,1008张图,支持yolo,coco json,voc xml,文末有模型训练代码
yolo·数据集·通信基站·信号塔·塔架·塔身
小徐_23331 天前
uni-app 项目别再从零搭了!3 个 Wot UI 起手模板怎么选?
前端·uni-app
蜡台1 天前
uniapp pdf文件预览组件
pdf·uni-app·合同·pdfh5
AI棒棒牛1 天前
第11讲 | 目标检测任务:边界框、IoU、类别与置信度
人工智能·yolo·目标检测·yolo26
深度研习笔记1 天前
OpenCV工业视觉实战06|ROI区域截取+局部精细化检测,锁定作业区域、屏蔽无效背景,大幅提升YOLO检测准确率
人工智能·opencv·yolo
凡泰AI1 天前
如何借助MCP打通企业APP内部服务:从统一调用到小程序承接
小程序·uni-app·app·mpaas·mcp·小程序容器