yolov5部署web服务

上传图片

一段上传和访问的demo

#!/usr/bin/python3
#encoding:utf-8
#来自官网,但官网的不能直接用,稍微修改了一下,秒秒钟运行成功,哈哈哈哈
import os
from flask import Flask, request, redirect, url_for
from werkzeug.utils import secure_filename
from flask import send_from_directory
UPLOAD_FOLDER = './inference/images'#上传到这里
ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif','jpeg','rar','doc','docx','dot','pptx','db'])#允许的格式,保证安全性
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
app.config['MAX_CONTENT_LENGTH'] = 64 * 1024 * 1024#限制大小64mb
def allowed_file(filename):
    return '.' in filename and \
           filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS


@app.route('/', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        file = request.files['file']
        if file and allowed_file(file.filename):
            #filename = secure_filename(file.filename)
            filename =request.form['filename']#文件名,支持中文哦!!!
            filename =str(filename)#防止恶意传送非正常字符导致服务器异常
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            return redirect(url_for('uploaded_file',
                                    filename=filename))
    return '''
    <!doctype html>
    <title>上传文件</title>
    <h1>上传文件</h1>
    <form action="" method=post enctype=multipart/form-data>
      <p><input type=file name=file></br>
      <input type="text" name="filename"></p>
         <input type=submit value="上传">
    </form>
    '''

@app.route('/uploads/<filename>')
def uploaded_file(filename):
    return send_from_directory(app.config['UPLOAD_FOLDER'],
                               filename)

if __name__=='__main__':
    app.run(port=80,debug=True)


我在项目根目录下的flask_server2中指定跳转到predict控制器
并设置上传文件和访问位置
在这里插入图片描述
在这里插入图片描述
predict模块进行检测
在这里插入图片描述
并由showDetectResult展示
(只能上传图片)

注意

在这里插入图片描述
我指定模型读取的路径了,所以上传的文件明是有限制的(相当于写死了).

上传视频

在这里插入图片描述
加入mp4就行…

效果

在这里插入图片描述
在这里插入图片描述

pycharm搜索

ctrl+f 是pycharm搜索搜索当前文件

Pycharm上一个断点调到下一个断点

f8逐行执行到需要跳转的函数时,
在这里插入图片描述
到想要跳转的函数那打一个断点,然后step out
在这里插入图片描述
在这里插入图片描述
完美。
(也可以直接step out到下一个断点。。)

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLOv5是一种广泛应用于目标检测领域的深度学习模型。要将YOLOv5部署Web应用并发送告警,可以按照以下步骤进行: 1. 准备工作: - 安装所需的Python环境和依赖库,包括Flask(用于构建Web应用),OpenCV(用于图像处理)和YOLOv5。 - 下载YOLOv5的预训练权重文件,该文件包含已经训练好的网络参数。 2. 构建Web应用: - 使用Flask框架搭建一个简单的Web应用,可以接受用户上传的图像。 - 在Flask应用中编写一个用于目标检测的函数,该函数将实例化YOLOv5模型并使用预训练权重文件加载参数。 - 将用户上传的图像传递给目标检测函数,并获取检测结果。 3. 目标检测: - 在目标检测函数中,使用OpenCV将用户上传的图像进行预处理,使其与YOLOv5的输入格式匹配。 - 输入预处理后的图像到YOLOv5模型中进行目标检测。 - 从检测结果中提取目标的标签、位置和置信度等信息。 4. 发送告警: - 在目标检测函数中,根据检测结果设置告警规则。 - 如果检测到某个目标符合告警规则,使用邮件或短信等方式发送告警通知。 - 可以通过配置服务器的SMTP或第三方短信服务提供商的API来实现告警通知功能。 5. 测试与部署: - 在本地环境中测试Web应用的功能和性能,确保目标检测和告警功能正常工作。 - 将Web应用部署到服务器上,可以使用云服务器、树莓派等设备。 - 配置服务器的网络和域名等参数,以便用户可以通过访问特定的URL使用Web应用。 通过以上步骤,我们就可以将YOLOv5部署为一个Web应用,并在目标检测时发送告警通知。用户可以通过上传图像进行目标检测,并在满足规则条件时收到告警信息。这种部署方式可以广泛应用于物体监控、安防等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值