File size: 1,309 Bytes
cdf0320 fa5d4fa b1685cc cdf0320 4a01149 b1685cc cdf0320 |
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 |
from codecs import encode, decode
import requests
import gradio as gr
def infer(im):
im.save("converted.png")
url = "https://ajax.thehive.ai/api/demo/classify?endpoint=text_recognition"
files = {
"image": ("converted.png", open("converted.png", "rb"), "image/png"),
"model_type": (None, "detection"),
"media_type": (None, "photo"),
}
headers = {"referer": "https://thehive.ai/"}
res = requests.post(url, headers=headers, files=files)
text = ""
blocks = []
for output in res.json()["response"]["output"]:
text += output["block_text"]
for poly in output["bounding_poly"]:
blocks.append(
{
"text": "".join([c["class"] for c in poly["classes"]]),
"rect": poly["dimensions"],
}
)
text = decode(encode(text, "latin-1", "backslashreplace"), "unicode-escape")
return text, blocks
iface = gr.Interface(
fn=infer,
title="OCR_Hive",
description="Demo for OCR_Hive. Transcribe and analyze media depicting typed, written, or graphic text",
inputs=[gr.Image(type="pil")],
outputs=["text", "json"],
examples=["202306.jpg"],
article='<a href="https://thehive.ai/hive-ocr-solutions">Sample OCR</a>',
).launch() |