建个企业网站对公司宣传有用吗珠海营销网站建设
建个企业网站对公司宣传有用吗,珠海营销网站建设,微信公众号小程序怎么创建,wordpress能做商城yolo Flask web端图片视频检测系统可以替换自己的模型
使用Flask作为后端和vue作为前端#xff0c;前后端分离。有注册#xff0c;登录#xff0c;用户管理#xff0c;图片检测#xff0c;视频检测#xff0c;历史检测图片管理#xff0c;历史检测视频管理功能支持mysql…yolo Flask web端图片视频检测系统可以替换自己的模型使用Flask作为后端和vue作为前端前后端分离。有注册登录用户管理图片检测视频检测历史检测图片管理历史检测视频管理功能支持mysql数据库或sqlite数据库可随时切换。默认使用yolov8默认模型 可以替换为你自己的模型 实现不同的检测功能。支持yolov5到12等版本的模型【目标检测模型】YOLO Flask Vue 前后端分离 Web 检测系统支持多版本 YOLO 模型、用户系统、MySQL/SQLite 切换。 系统功能与技术栈总览表模块功能说明技术实现前端用户界面Vue3 Element Plus Axios后端API 服务Flask Flask-SQLAlchemy Flask-JWT数据库用户 检测记录存储默认 SQLite可一键切换为MySQL修改配置即可模型支持目标检测支持yolov5/yolov8/yolov9/yolov10/yolo11/yolov12通过ultralytics或自定义加载默认模型开箱即用yolov8n.ptCOCO 80 类模型替换自定义检测任务替换model/best.pt并修改类别名称即可用户系统安全访问注册、登录、JWT 鉴权、用户管理检测功能多模态输入图片上传检测、视频上传检测逐帧分析历史记录结果追溯自动保存检测图片/视频缩略图 元数据到数据库部署轻量灵活单机运行 or Docker 容器化 数据库配置切换示例config.py# config.pyimportosclassConfig:SECRET_KEYyour-secret-key# 默认使用 SQLiteSQLALCHEMY_DATABASE_URIsqlite:///app.db# 若需 MySQL取消注释以下行并安装 pymysql# SQLALCHEMY_DATABASE_URI mysqlpymysql://user:passwordlocalhost/yolo_dbSQLALCHEMY_TRACK_MODIFICATIONSFalse✅ 切换数据库只需修改一行无需改业务代码。 后端核心代码Flask 极简版1.app.py—— 主程序# app.pyfromflaskimportFlask,request,jsonify,send_filefromflask_sqlalchemyimportSQLAlchemyfromflask_jwt_extendedimportJWTManager,create_access_token,jwt_requiredimportcv2importosfromultralyticsimportYOLO# 支持 yolov8/v9/v10/v11/v12# 若用 yolov5改用 from models.common import DetectMultiBackendappFlask(__name__)app.config.from_object(config.Config)dbSQLAlchemy(app)jwtJWTManager(app)# 模型加载支持替换MODEL_PATHmodel/best.pt# 替换为你自己的 .pt 文件modelYOLO(MODEL_PATH)# 用户模型 classUser(db.Model):iddb.Column(db.Integer,primary_keyTrue)usernamedb.Column(db.String(80),uniqueTrue,nullableFalse)passworddb.Column(db.String(120),nullableFalse)# 注册 app.route(/register,methods[POST])defregister():datarequest.json userUser(usernamedata[username],passworddata[password])db.session.add(user)db.session.commit()returnjsonify({msg:注册成功})# 登录 app.route(/login,methods[POST])deflogin():datarequest.json userUser.query.filter_by(usernamedata[username]).first()ifuseranduser.passworddata[password]:tokencreate_access_token(identityuser.id)returnjsonify(access_tokentoken)returnjsonify({msg:用户名或密码错误}),401# 图片检测需登录app.route(/detect/image,methods[POST])jwt_required()defdetect_image():filerequest.files[image]img_pathuploads/file.filenamefile.save(img_path)resultsmodel(img_path)output_pathresults/file.filename results[0].save(filenameoutput_path)# 保存记录到数据库略returnsend_file(output_path,mimetypeimage/jpeg)# 视频检测简化版app.route(/detect/video,methods[POST])jwt_required()defdetect_video():filerequest.files[video]input_pathuploads/file.filename output_pathresults/file.filenamefile.save(input_path)capcv2.VideoCapture(input_path)fourcccv2.VideoWriter_fourcc(*mp4v)outcv2.VideoWriter(output_path,fourcc,30.0,(640,640))whilecap.isOpened():ret,framecap.read()ifnotret:breakresultsmodel(frame)annotated_frameresults[0].plot()out.write(annotated_frame)cap.release()out.release()returnsend_file(output_path,as_attachmentTrue)if__name____main__:withapp.app_context():db.create_all()app.run(debugTrue) 前端核心代码Vue3 极简调用1.DetectImage.vuetemplate input typefile changeuploadImage acceptimage/* / img v-ifresultUrl :srcresultUrl stylemax-width:600px / /template script setup import axios from axios const uploadImage async (e) { const file e.target.files[0] const formData new FormData() formData.append(image, file) const res await axios.post(/detect/image, formData, { headers: { Authorization: Bearer ${localStorage.token} } }) // 假设后端返回图片 URL 或 blob const blob await res.data.blob() resultUrl.value URL.createObjectURL(blob) } /script 项目目录结构建议yolo-web-system/ ├── backend/ │ ├── app.py │ ├── config.py │ ├── model/ # ← 放你的 best.pt │ ├── uploads/ # 上传文件 │ └── results/ # 检测结果 ├── frontend/ │ ├── src/ │ │ ├── views/Login.vue │ │ ├── views/DetectImage.vue │ │ └── ... │ └── package.json └── requirements.txt✅ 如何替换为自己的模型将你的训练好的.pt文件放入backend/model/best.pt可选修改前端类别名称显示如从 COCO 的person改为tea_pest重启 Flask 服务即可生效 支持所有 Ultralytics 官方模型YOLOv8~v12YOLOv5 需额外加载逻辑。⚙️ 依赖安装requirements.txtflask flask-sqlalchemy flask-jwt-extended opencv-python ultralytics8.3.0 numpy pymysql # 仅当使用 MySQL 时需要