YOLOv11目标检测模型部署到微信小程序上

1.效果

YOLOv11目标检测模型部署到微信小程序上

2.后端主要代码

import os
import time
import numpy as np
import torch
from flask import Flask, request, send_file
import cv2
from ultralytics import YOLO  # 导入YOLOv11模型,需要提前安装ultralytics库

# 初始化Flask应用
app = Flask(__name__)

# 确保保存图片的目录存在
if not os.path.exists('./img'):
    os.makedirs('./img')
if not os.path.exists('./runs/detect/predict'):
    os.makedirs('./runs/detect/predict')

# 初始化YOLOv8模型,指定使用CPU
model = YOLO('./best.pt', device='cpu')

@app.route('/request', methods=['POST'])  # 推荐只接受POST请求处理文件上传
def uploads():
    start_time = time.time()  # 记录开始时间
    
    # 从请求中获取上传的文件
    uploaded_file = request.files['img']
    
    # 保存上传的文件到指定目录,并重命名为img.jpg
    uploaded_file.save(os.path.join('./img', 'img.jpg'))
    
    # 使用YOLOv8模型进行预测,指定输入图片目录和保存结果的目录
    model.predict('./img', save=True, save_conf=True, project='./runs/detect')
    
    # 计算并打印处理时间
    print(f"Processing time: {time.time() - start_time:.2f} seconds")
    
    # 返回成功响应
    return 'Image processed successfully', 200

@app.route('/get', methods=['GET'])  # 推荐只接受GET请求处理文件下载
def download():
    # 拼接预测结果图片的完整路径
    result_path = os.path.join('./runs/detect/predict', 'img.jpg')
    
    # 检查文件是否存在
    if os.path.exists(result_path):
        # 返回预测结果图片给客户端
        return send_file(result_path, mimetype='image/jpeg')
    else:
        # 如果文件不存在,返回错误响应
        return 'Result image not found', 404

# 主程序入口
if __name__ == '__main__':
    # 运行Flask应用,指定监听地址和端口
    app.run(host='localhost', port=8080, debug=True)
    # 如果需要在局域网内访问,可以修改host为局域网IP地址,并确保防火墙允许相应端口的访问
    # app.run(host='192.168.225.149', port=8080, debug=True)

3.前端主要代码




\n\n\n\n\n\n



    
    
    
    
    
    
    
    \n
    
    
    
    
    
    \n
    
    
    

4.说明

我是初学习者,发这个主要目的是做笔记,熬夜跑成功了,需要辅导的点击:

源码+服务-CSDN博客 

上的网址私聊,可以辅导目标检测、目标跟踪、PPT、专利、科创等。

参考原文:

Yolov5/8的小程序部署前后端实现_yolov8微信小程序-CSDN博客

你可能感兴趣的:(YOLO,目标跟踪,人工智能,微信小程序,目标检测,计算机视觉,python)