File size: 989 Bytes
e16079d 07189f7 e16079d 07189f7 e16079d 07189f7 e16079d 07189f7 e16079d 07189f7 |
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 |
import gradio as gr
from transformers import TrOCRProcessor, VisionEncoderDecoderModel
from PIL import Image
import torch
# 加载模型
processor = TrOCRProcessor.from_pretrained("microsoft/trocr-base-handwritten")
model = VisionEncoderDecoderModel.from_pretrained("microsoft/trocr-base-handwritten")
# 定义图像文字识别函数
def recognize_text_from_image(image):
# 图像预处理
image = Image.open(image).convert("RGB")
# 使用OCR模型预测
pixel_values = processor(images=image, return_tensors="pt").pixel_values
generated_ids = model.generate(pixel_values)
text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0]
return text
# Gradio界面
iface = gr.Interface(
fn=recognize_text_from_image,
inputs=gr.Image(type="file", label="上传文件图片"),
outputs="text",
title="桌面文件扫描器",
description="上传文件图片,将自动识别其中的文字内容"
)
# 启动 Gradio
iface.launch()
|