Flask是一个轻量级的基于Python的web框架。static 文件夹来保存静态文件,templates 文件夹存放前端页面
安装:
pip install Flask
框架代码:
from flask import *
from flask import Flaskapp = Flask(__name__) //获取实例@app.route("/")
def index():# return the rendered templatereturn render_template("index.html") #调用前端页面 @app.route("/test/",methods=["GET"]) //指定外网访问的路径和方式,但是不能跨域访问,method默认是GET, POST不能访问
def myqr(a)://此处放入你的python程序return response //返回需要的数据if __name__ == '__main__':app.run(host='x.x.x.x',port=8080,debug=True) //host值为你的内网ip,port为外网访问端口note: 该代码在服务器运行后外网访问链接 (http://服务器ip:8080/myqr/参数值) 即可获取myqr函数的返回值
运行:

当host="0.0.0.0"时,可以在局域网内,通过内网IP进行远端访问。
(1)简介
目标检测模型YOLO,YOLO其实包括两部分:目标检测、目标识别。目标检测会给出具体的目标框位置,目标识别则会给出识别结果及置信度。
yolo是通过一个cnn网络模型来实现end-to-end的目标检测,整个流程:首先对输入的图像resize成448448的大小送入到cnn模型中,yolo中的cnn模型是将输入的图像分割成SS大小的网格,然后对每一个单元格都会预测B个边界框(bounding boxes),每个边界框都包含5个预测值:x,y,w,h 和confidence(置信度),其中x,y就是预测边界框的中心坐标,中心坐标(x,y)的预测值 是相对于该单元格左上角坐标点的偏移值,并且单位是相对于单元格大小的,与单元格对齐(即相对于当前grid cell的偏移值),使得范围变成0到1,而边界框的w和h的预测值是相对于整个图片的宽和高的比例。

后端:
def detect_cv2_camera(cfgfile, weightfile):import cv2zed = sl.Camera()init_params = sl.InitParameters()init_params.camera_resolution = sl.RESOLUTION.HD720 #分辨率,分辨率越高,成像后的图像像素数就越高,图像就越清晰。init_params.camera_fps = 30 # Set fps at 30,帧率越高,视频越流畅,最低是30
(。。。省略部分代码。。。。。。)##结尾(flag, encodedImage) = cv2.imencode(".jpg", 返回的图片) #图片转码if not flag:continue# yield the output frame in the byte formatyield(b'--frame\r\n' b'Content-Type: image/jpeg\r\n\r\n' +bytearray(encodedImage) + b'\r\n') #向前端页面返回图片@app.route('/tt')
def index():return render_template("index.html")@app.route("/t_demo")
def tt_demo():args = get_args()print(args.webcam)if args.webcam:return Response(detect_cv2_camera(args.cfgfile, args.weightfile),mimetype="multipart/x-mixed-replace; boundary=frame")else:return Response(detect_cv2(args.cfgfile, args.weightfile, args.imgfile))if __name__ =="__main__":app.run(debug=True, host="0.0.0.0", port=7000)
前端
bdlf linjie
{ url_for('tt_demo') }}"> ##与后端入口函数名保持一致
当访问 xx.xx.xx.xx:7000/tt 时,页面调用index.html, 进而调用tt_demo函数
参考链接:
目标检测yolo
基于flask的远程视频监控