gpt4 book ai didi

python - 基于Flask的API是否可以返回文件

转载 作者:行者123 更新时间:2023-12-02 16:50:43 25 4
gpt4 key购买 nike

我正在用Flask编写一个API,该API接受一个文件作为输入,使用OpenCV对其进行操作,然后我想返回该文件。理想情况下,我将能够返回该文件以及一些元数据(完成操作所花费的时间)。
产生我要返回的图像的行是:image = cv2.rectangle(image, start_point, end_point, color, thickness)理想情况下,我可以直接从内存中返回此值(无需写入临时文件)
这有可能吗?

最佳答案

是的,可以做到

from flask import Flask, render_template , request , jsonify
from PIL import Image
import os , io , sys
import numpy as np
import cv2
import base64

app = Flask(__name__)

start_point = (0, 0)
end_point = (110, 110)
color = (255, 0, 0)
thickness = 2

@app.route('/image' , methods=['POST'])
def mask_image():
file = request.files['image'].read()
npimg = np.fromstring(file, np.uint8)
img = cv2.imdecode(npimg,cv2.IMREAD_COLOR)
img = cv2.rectangle(img, start_point, end_point, color, thickness)
img = Image.fromarray(img.astype("uint8"))
rawBytes = io.BytesIO()
img.save(rawBytes, "png")
rawBytes.seek(0)
img_base64 = base64.b64encode(rawBytes.read())
return jsonify({'status':str(img_base64)})


if __name__ == '__main__':
app.run(debug = True)
在这里,您将返回base64编码的图像,并在图像上绘制矩形。您可以在下图中看到添加的红色矩形
enter image description here

关于python - 基于Flask的API是否可以返回文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62946277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com