当前位置: 首页 > news >正文

微信小程序调用yolo目标检测模型

目录

后端

前端微信小程序

完整代码


后端

利用Flask,调用目标检测模型,后端代码如下。

# flask_yolo.py 
from flask import Flask, request, jsonify
from ultralytics import YOLO
from PIL import Imageapp = Flask(__name__)
model_path = 'best.pt'
model = YOLO(model_path)  # 加载模型@app.route("/predict", methods=["POST"])
def predict():file = request.files["image"]image = Image.open(file.stream)results = model(image)boxes = []for box in results[0].boxes:xyxy = [int(x) for x in box.xyxy[0].tolist()]conf = round(float(box.conf[0]), 3)cls = int(box.cls[0])name = results[0].names[cls]boxes.append({'coor': xyxy,'conf': conf,'class': name})# print(boxes)return jsonify(boxes)if __name__ == "__main__":app.run(host="0.0.0.0", port=5005)

启动后端服务:

$ python flask_yolo.py * Serving Flask app 'flask_yolo'* Debug mode: off* Running on all addresses (0.0.0.0)* Running on http://127.0.0.1:5005* Running on http://x.x.x.x:5005
Press CTRL+C to quit

前端微信小程序

调用服务的js关键代码:

  // 上传图片到后端调用服务uploadImage(filePath) {this.setData({ loading: true });wx.uploadFile({url: 'http://****/predict',  //your flask apifilePath: filePath,name: 'image',success: (res) => {const detectionResult = JSON.parse(res.data);this.setData({detectionResult,loading: false});// 计算检测框位置if (this.data.imageInfo && this.data.originalImageSize) {this.updateDetectionBoxes();}},fail: (error) => {console.error('上传失败:', error);wx.showToast({title: '上传失败',icon: 'error'});this.setData({ loading: false });}});}

效果

       

完整代码

https://github.com/crystal0913/miniprogram_yolo

如需在手机上预览,需在小程序项目根目录下的project.config.json中填上你的appid。

相关文章:

  • 仿腾讯会议项目开发——网络嵌入
  • AWS Elastic Beanstalk的部署Python Flask后端服务(Hello,World)
  • Hadoop的三大结构及其作用?
  • 计算机基础 | 常见进制与单位简介 / 表示 / 描述
  • 医疗行业如何构建合成数据平台?——技术、合规与实践全景
  • 数据结构-Map和Set
  • 第 8 期:条件生成 DDPM:让模型“听话”地画图!
  • 元宇宙概念兴起,B 端数字孪生迎来哪些新机遇?
  • 考研408第一章计算机系统概述——1.1-1.2操作系统的基本概念与发展历程
  • java基础从入门到上手(九):Java - List、Set、Map
  • Java并发编程高频面试题(已整理Java面试宝典PDF完整版)
  • 笔记整理五
  • Scrapeless Scraping Browser: A high-concurrency automation solution for AI
  • 【C++深入系列】:模版详解(上)
  • 群辉默认docker数据存储路径
  • Webpack基础
  • DFS/BFS专练-搞定图论基础!(从海岛问题过渡至图论基础应用C++/C)
  • 【Pandas】pandas DataFrame where
  • 基于微信小程序的中医小妙招系统的设计与实现
  • python抓取HTML页面数据+可视化数据分析(投资者数量趋势)
  • 韩国首尔江南区一大型商场起火,消防部门正在灭火中
  • 获公示拟任省辖市委副书记的胡军,已赴南阳履新
  • 山西国道塌方致55岁货车司机死亡,女儿:货车的车贷还要还
  • 内蒙古镶黄旗委原书记好毕斯哈拉图履新锡林郭勒盟民政局局长
  • 北大强基计划招生简章发布,笔试部分考试科目有变化
  • 美国那点事|特朗普的“刀”砍向国务院,美国霸权迎来历史拐点?