Spaces:
Runtime error
Runtime error
import os | |
import sys | |
import cv2 | |
import base64 | |
import gradio as gr | |
import requests | |
import numpy as np | |
import configparser | |
def run(file): | |
in_image = cv2.imread(file) | |
encode_img = cv2.imencode('.jpg', in_image)[1].tobytes() | |
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' | |
payload = {'image': base64_img} | |
image_request = requests.post(url, json=payload) | |
out_img = image_request.json()['image'] | |
door_json = image_request.json()['doors'] | |
wall_json = image_request.json()['walls'] | |
out_json = {'doors': door_json, 'walls': wall_json} | |
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 | |
by [Rasterscan](https://rasterscan.com/) | |
Please ❤️ this space | |
If you want to get on-premise solutions, please contact us on [email protected] | |
""" | |
) | |
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.Image(type="numpy"), gr.JSON()] | |
start_button.click(run, inputs=app_input, outputs=app_output) | |
demo.launch() | |