如何将 Gradio 应用程序转换为 Flask api?

问题描述 投票:0回答:1

我正在尝试将 Gradio 应用程序转换为 Flask api。 在 Gradio 应用程序中,它使用图像、文本等组件。 我必须更改该组件才能请求表单数据。 然而,我在图像处理方面遇到了困难。 我需要任何帮助。

这是我的代码。

cloth_image = gr.Image(label="Your label...", type="pil") cloth_mask_image = gr.Image(label="Your label...", type="pil")

如何通过

cloth_image = request.files['cloth_image']

的预处理获得与gr.Image组件相同的返回值
python flask artificial-intelligence gradio
1个回答
0
投票

如果您只需要服务器上的图像那么您可以直接使用

cloth_image = Image.open( request.files["cloth_image"] )

最少的工作代码:

from flask import Flask, request
from PIL import Image

app = Flask(__name__)

@app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        if "cloth_image" in request.files:
            img = request.files["cloth_image"]  # it has method .read() so it can be treated as file-like object
            cloth_image = Image.open(img)  # it can use file-like object instead of filename

    return """
    <form method="POST" enctype="multipart/form-data">
    <input type="file" name="cloth_image">
    <button type="submit">Send</button>
    </form>"""

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

但是如果您需要将其发送回来,那么您可能需要使用

io.BytesIO
将图像保存在内存中的类似文件对象中,将其转换为
base64
并将其发送为

'<img src="data:image/png;base64,{}">'.format(data)
© www.soinside.com 2019 - 2024. All rights reserved.