File size: 971 Bytes
0fb7b8c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr, pytesseract, cv2, os


def process(image: str, lang: str = "eng") -> str:
    try:
        img = cv2.imread(image)
        gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
        threshold_img = cv2.threshold(
            gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU
        )[1]
        result = pytesseract.image_to_string(threshold_img, lang=lang)
        os.remove(image)
        return result
    except Exception as e:
        return str(e)


langs = pytesseract.get_languages()

interface = gr.Interface(
    process,
    [
        gr.Image(type="filepath"),
        gr.Dropdown(label="Select Language", choices=langs, type="value"),
    ],
    outputs="text",
    css="footer {visibility: hidden}",
    title="Optical Character Recognition | Image To Text",
    article="""<p style='text-align: center;'>Hello, thanks for coming, visit our tools: <a href="https://www.genelify.com" target="_blank">Genelify</a></p>""",
)
interface.launch()