File size: 1,759 Bytes
93a5bb0 0e2fa7c 885ca07 817e8a9 885ca07 3efd29a 0e2fa7c 49716b1 0e2fa7c a2e72c5 0e2fa7c 3efd29a 0e2fa7c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
import os
import sys
import cv2
import base64
import gradio as gr
import requests
import numpy as np
import configparser
def run(file):
backend_url = os.getenv('BACKEND_URL')
url = f'{backend_url}/raster-to-vector-base64'
out_json = {'json': url}
return out_json
in_image = cv2.imread(file)
encode_img = cv2.imencode('.jpg', in_image)[1].tostring()
encode_img = base64.encodebytes(encode_img)
base64_img = str(encode_img, 'utf-8')
backend_url = os.getenv('BACKEND_URL')
url = f'{backend_url}/raster-to-vector-base64'
out_json = {'json': url}
out_img = in_image
# payload = {'image': base64_img}
# image_request = requests.post(url, json=payload)
#
# out_img = image_request.json()['image']
# out_json = image_request.json()['graph']
#
# decode_img = base64.b64decode(out_img.split(',')[1])
# decode_img = np.frombuffer(decode_img, dtype=np.uint8)
# out_img = cv2.imdecode(decode_img, flags=cv2.IMREAD_COLOR)
return out_img, out_json
with gr.Blocks() as demo:
gr.Markdown(
"""
# Raster-To-Vector on Floor Plan images
Please give me star if you like it and reach out to me to get on-premise solutions. (Email: andywu@kby-ai.com)
"""
)
with gr.TabItem("Floor Plan Recognition"):
with gr.Row():
with gr.Column():
app_input = gr.Image(type='filepath')
gr.Examples(['images/1.jpg', 'images/2.png', 'images/3.png', 'images/4.png'],
inputs=app_input)
start_button = gr.Button("Run")
with gr.Column():
app_output = [gr.JSON()]
start_button.click(run, inputs=app_input, outputs=app_output)
demo.launch()
|