项目简介
本项目是基于Django和Vue的道路病害检测系统,借助深度学习模型实现道路病害的自动检测。同时提供用户友好的前端界面,支持数据上传、检测结果查看与历史数据管理,能对图片、视频及实时视频流进行检测。
项目的主要特性和功能
- 图片上传与检测:用户可上传单张或多张图片,系统用深度学习模型检测并生成结果。
- 视频上传与检测:用户上传视频文件,系统逐帧检测并生成检测结果视频。
- 实时检测:支持使用电脑摄像头进行实时视频流检测,按Q键可退出。
- 历史数据查看:用户能查看每次检测的图片和视频数据,结果以JSON格式展示。
- 对象存储:使用MinIO存储图片和视频,保障数据安全与可扩展性。
- 数据库管理:采用MySQL数据库存储检测结果,方便历史数据查询与管理。
安装使用步骤
后端部署
- 安装Python虚拟环境:
bash python -m venv venv
- 激活虚拟环境:
- Windows:
bash venv\Scripts\activate
- macOS/Linux:
bash source venv/bin/activate
- 安装项目依赖:
bash pip install -r requirements.txt
- 运行项目:
bash python manage.py runserver
前端部署
- 安装Node.js和npm:访问Node.js官网下载并安装Node.js。
- 安装项目依赖:
bash npm install
- 运行前端开发服务器:
bash npm run dev
部署MinIO对象存储和MySQL数据库
- 部署MinIO:
bash mkdir -p ~/minio/data docker pull minio/minio docker run -p 9000:9000 -p 9001:9001 --name minio1 -v ~/minio/data:/data -e "MINIO_ROOT_USER=minioadmin" -e "MINIO_ROOT_PASSWORD=minioadmin" minio/minio server /data --console-address ":9001"
- 部署MySQL:
bash docker pull mysql docker run -d --name mysql-container -e MYSQL_ROOT_PASSWORD=your_password -p 3306:3306 mysql
- 创建数据库和数据表:
sql CREATE DATABASE road_detection; USE road_detection; CREATE TABLE `detection_result` ( `id` int NOT NULL AUTO_INCREMENT, `img_url` text, `result` text, `created` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1101 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
注意事项
- 确保MinIO和MySQL服务正确运行,且相关配置信息(如访问密钥、地址、端口等)设置正确。
- 可根据项目需求调整前端和后端的配置信息,如API地址、数据库连接信息等。
- 实际部署时,可能需额外的服务器和配置,以支持项目的并发访问和性能需求。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】