Spaces:
Runtime error
Runtime error
File size: 1,640 Bytes
fb41312 88de542 390ad5b 85df948 fb41312 6aa96a4 88de542 fb41312 88de542 390ad5b c96cef3 390ad5b 88de542 390ad5b bd6297f 390ad5b bd6297f 88de542 390ad5b fb41312 882e081 fb41312 4d327e3 bd6297f 008f257 88de542 bcfe357 ba5ed06 |
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 gradio as gr
import cv2
import json
import numpy as np
from pyAAMED import pyAAMED
title = """
<h1>Arc Adjacency Matrix based Fast Ellipse Detection</h1>
<a href="https://github.com/Li-Zhaoxi/AAMED">Gitub</a>
"""
def detect_ellipses(img_path):
imgC = cv2.imread(img_path)
imgG = cv2.cvtColor(imgC, cv2.COLOR_BGR2GRAY)
ammed_size = 1200
iheight, iwidth = np.array(imgG.shape, type='int')
imax = max(iheight, iwidth)
iscale = ammed_size / imax
is_landscape = iwidth >= iheight
if is_landscape:
iw = imax * iscale
ih = iheight * iscale
else:
iw = iwidth * iscale
ih = imax * iscale
imgG = imgG.resize(iw, ih)
if is_landscape:
ipad = (imax - iheight) / 2 * iscale
imgG = cv2.copyMakeBorder(imgG, ipad, ipad, 0, 0, cv2.BORDER_REPLICATE)
else:
ipad = (imax - iwidth) / 2 * iscale
imgG = cv2.copyMakeBorder(imgG, 0, 0, ipad, ipad, cv2.BORDER_REPLICATE)
aamed = pyAAMED(ammed_size, ammed_size)
aamed.setParameters(3.1415926/3, 3.4, 0.77)
result = aamed.run_AAMED(imgG)
result = result.replace(' ', ', ')
result = json.loads(result)
print(result)
return [img_path, json.dumps(result)]
examples = [
["./AAMED/python/002_0038.jpg"]
]
gr.Interface(
fn=detect_ellipses,
inputs=gr.Image(label="Upload image with ellipses", type="filepath"),
outputs=[
gr.Image(type="filepath", label="Detected ellipses"),
gr.Text(label="Detected data")
],
title=title,
examples=examples,
allow_flagging='never'
).launch(server_name="0.0.0.0", server_port=7860) |