Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import pytesseract | |
| from PIL import Image, ImageDraw | |
| def extract_text_and_boxes(image): | |
| data = pytesseract.image_to_data(image, output_type=pytesseract.Output.DICT) | |
| draw = ImageDraw.Draw(image) | |
| boxes_and_words = [] | |
| for i in range(len(data['text'])): | |
| if data['text'][i].strip() != '': # Filters out empty text results | |
| x, y, w, h = data['left'][i], data['top'][i], data['width'][i], data['height'][i] | |
| word = data['text'][i] | |
| boxes_and_words.append({'box': (x, y, w, h), 'word': word}) | |
| draw.rectangle([x, y, x + w, y + h], outline='red') | |
| return image, boxes_and_words | |
| iface = gr.Interface(fn=extract_text_and_boxes, | |
| inputs=gr.Image(type='pil'), | |
| outputs=[gr.Image(type='pil', label="Image with Bounding Boxes"), | |
| gr.JSON(label="Extracted Words and Boxes")], | |
| title="Test Tesseract", | |
| description="Test PyTesseract.") | |
| iface.launch() | |