Team Ai
Apppublic

Atulit23/ui-deception

sourceHugging Faceupdated 3y agoView on Hugging Face
1likes
ocr_app.py53 linesDownload Raw Back to root
1from paddleocr import PaddleOCR2import requests3import numpy as np4from PIL import Image5from io import BytesIO6import json7import gradio as gr8import paddleocr9 10# ocr = PaddleOCR(use_angle_cls=True, lang='en', use_pdserving=False, cls_batch_num=8, det_batch_num=8, rec_batch_num=8)11 12ocr = PaddleOCR(use_angle_cls=True, lang='en')13 14def index(url):15    response = requests.get(url)16    img = Image.open(BytesIO(response.content))17    resize_factor = 118    new_size = tuple(int(dim * resize_factor) for dim in img.size)19    img = img.resize(new_size, Image.Resampling.LANCZOS)20 21    img_array = np.array(img.convert('RGB'))22 23    result = ocr.ocr(img_array)24 25    boxes = [line[0] for line in result]26    txts = [line[1][0] for line in result]27    scores = [line[1][1] for line in result]28 29    print(boxes)30    print(txts)31 32    output_dict = {"texts": txts, "boxes": boxes, "scores": scores}33    output_json = json.dumps(output_dict)  # Convert to JSON string34 35    return output_json36 37 38inputs_image_url = [39    gr.Textbox(type="text", label="Image URL"),40]41 42outputs_result_json = [43    gr.Textbox(type="text", label="Result JSON"),44]45 46interface_image_url = gr.Interface(47    fn=index,48    inputs=inputs_image_url,49    outputs=outputs_result_json,50    title="Text Extraction",51    cache_examples=False,52).queue().launch()53