gpt4 book ai didi

python - 使用 python flask 显示 opencv 图像

转载 作者:太空狗 更新时间:2023-10-30 02:55:19 25 4
gpt4 key购买 nike

我正在使用 opencv 和 python flask api 对图像进行一些处理。我想在浏览器中显示图像。

import cv2
from flask import Flask, request, make_response
import base64
import numpy as np
import urllib

app = Flask(__name__)


@app.route('/endpoint', methods=['GET'])
def process():
image_url = request.args.get('imageurl')
requested_url = urllib.urlopen(image_url)
image_array = np.asarray(bytearray(requested_url.read()), dtype=np.uint8)
img = cv2.imdecode(image_array, -1)


# Do some processing, get output_img

retval, buffer = cv2.imencode('.png', output_img)
png_as_text = base64.b64encode(buffer)
response = make_response(png_as_text)
response.headers['Content-Type'] = 'image/png'
return response

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

但是,我得到的是空的、无效的图像作为输出。我做错了什么?

最佳答案

如评论中所述,您需要返回图像的字节,而不是 base64 字符串。

尝试以下操作:

retval, buffer = cv2.imencode('.png', output_img)
response = make_response(buffer.tobytes())

关于python - 使用 python flask 显示 opencv 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42787927/

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