File size: 2,090 Bytes
66403e6 bf0a8e3 66403e6 bf0a8e3 66403e6 bf0a8e3 66403e6 bf0a8e3 66403e6 bf0a8e3 66403e6 ea978b8 66403e6 bf0a8e3 66403e6 bf0a8e3 66403e6 bf0a8e3 66403e6 bf0a8e3 66403e6 bf0a8e3 13ea0c7 ea978b8 bf0a8e3 66403e6 bf0a8e3 66403e6 bf0a8e3 66403e6 |
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 64 65 66 67 68 69 70 71 72 73 74 75 |
import base64
import io
import os
import gradio as gr
import requests
from PIL import Image
API_URL = "https://t7nd0cf3u89ck4bf.aistudio-hub.baidu.com/ocr"
TOKEN = os.getenv("API_TOKEN", "")
def inference(img):
with io.BytesIO() as buffer:
img.save(buffer, format="png")
img_base64 = base64.b64encode(buffer.getvalue()).decode("ascii")
headers = {
"Authorization": f"token {TOKEN}",
"Content-Type": "application/json",
}
response = requests.post(
API_URL,
json={
"file": img_base64,
"fileType": 1,
"useDocOrientationClassify": False,
"useDocUnwarping": False,
},
headers=headers,
timeout=1000,
)
response.raise_for_status()
result = response.json()
ocr_img_url = result["result"]["ocrResults"][0]["ocrImage"]
response = requests.get(ocr_img_url, timeout=10)
response.raise_for_status()
return Image.open(io.BytesIO(response.content))
title = "PP-OCRv5"
description = """
- Gradio demo for PP-OCRv5. This demo supports Chinese, English, French, German, Korean, and Japanese.
- To use it, simply upload your image, or click one of the examples to load them. Read more at the links below.
- [Docs](https://paddlepaddle.github.io/PaddleOCR/), [Github Repository](https://github.com/PaddlePaddle/PaddleOCR).
"""
examples = [
["examples/ancient_demo.png"],
["examples/handwrite_ch_demo.png"],
["examples/handwrite_en_demo.png"],
["examples/japan_demo.png"],
["examples/magazine.png"],
["examples/pinyin_demo.png"],
["examples/research.png"],
["examples/tech.png"],
]
css = ".output_image, .input_image {height: 40rem !important; width: 100% !important;}"
gr.Interface(
inference,
[
gr.Image(type="pil", label="Input"),
],
gr.Image(type="pil", label="Output"),
title=title,
description=description,
examples=examples,
cache_examples=False,
css=css,
).launch(debug=False)
|