python实现接口,调用深度模型预测,将预测结果返回前端

1. 使用Apifox软件,创建一个接口

在这里插入图片描述
如果你想向后端传图像,可以使用下面的方法,如果只有参数,可以在Params中写入参数即可
在这里插入图片描述
如下图,一个创建好的接口,等后面python配置好,就可以发送请求了:
在这里插入图片描述

2. python接口

from io import BytesIO
import numpy as np
from PIL import Image
from flask import Flask, request
from flask import Flask
import matplotlib.pyplot as plt
from flask import render_template
import json
import base64
import cv2
import os
app = Flask(__name__)
from PIL import Image
from deeplab import DeeplabV3


@app.route("/test", methods=['POST'])
def check():
    # 默认返回内容
    return_dict = {'code': '200', 'message': '处理成功', 'result': None, 'label': None, 'ratio': None}
    # 接收图像
    data_file = request.files.get('MyName')
    # 接收id
    id = request.form.get("Id")

    image = Image.open(data_file)

    deeplab = DeeplabV3()
    result, ratio = deeplab.detect_image(image)
    result_ratio = [ratio]

    # 返回图像
    buffer = BytesIO()
    result.save(buffer, "PNG")  # 将Image对象转为二进制存入buffer。因BytesIO()是在内存中操作,所以实际是存入内存
    buf_bytes = buffer.getvalue()  # 从内存中取出bytes类型的图片
    base64_data2 = 'data:image/png;base64,' + str(base64.b64encode(buf_bytes), 'utf-8')

    return_dict['label'] = base64_data2
    return_dict['ratio'] = result_ratio
    return json.dumps(return_dict, ensure_ascii=False)


if __name__ == "__main__":

    app.run(debug=True)

3. 测试

配置好后点击发送就可以获得预测后的结果啦,可以直接复制到浏览器中查看
在这里插入图片描述

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值