ShamanChingChong's picture
Update app.py
b6f5618 verified
raw
history blame contribute delete
942 Bytes
import gradio as gr
import paddleocr
import numpy as np
ocr = paddleocr.PaddleOCR(lang='en')
def ocr_function(image):
if not isinstance(image, np.ndarray):
image = np.array(image)
result = ocr.ocr(image, cls=True)
text_lines = []
for line in result:
for word_info in line:
if len(word_info) > 1 and isinstance(word_info[1], (list, tuple)):
text_lines.append(word_info[1][0])
mrz_lines = [line for line in text_lines if len(line) > 0]
return "\n".join(mrz_lines[-2:])
# Tạo giao diện Gradio
interface = gr.Interface(
fn=ocr_function,
inputs=gr.Image(type="pil"), # Định dạng đầu vào là ảnh PIL
outputs=gr.Textbox(label="Kết quả MRZ"), # Đầu ra là một hộp văn bản
title="MRZ OCR với PaddleOCR",
description="Tải lên ảnh để nhận diện 2 dòng MRZ."
)
interface.launch(share = True)