import cv2 | |
import numpy as np | |
import gradio as gr | |
import pytesseract | |
def ocr_image(img): | |
"""Performs OCR on an image using OpenCV and PyTesseract.""" | |
# Preprocess image (optional) | |
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) | |
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1] | |
# OCR using PyTesseract | |
text = pytesseract.image_to_string(thresh) | |
return text | |
# Create the Gradio interface | |
iface = gr.Interface( | |
fn=ocr_image, | |
inputs="image", | |
outputs="text", | |
title="OCR with OpenCV and PyTesseract" | |
) | |
iface.launch() | |