火车票OCR读取及结构化处理,Gradio编写界面,代码及说明

文章介绍了作者如何使用百度的PaddleOCR进行火车票信息的OCR识别,通过Python编写数据结构化功能,结合Gradio创建交互式界面,展示识别结果。用户上传车票图片,系统能识别并提取始发站、到站、车次、乘车时间等关键信息。

前一段时间用到火车票OCR处理,因为要求不高就自己简单写了一个。首先是模型选择,初步对比了几个开源的OCR产品后,选择了百度的PaddleOCR。自己用Python开发了一个简单的数据结构化功能,并用Gradio写了一个简答的界面。效果如下(火车票图片来自于网络):

代码如下:

import gradio as gr

import os
import cv2
from PIL import Image
from paddleocr import PaddleOCR, draw_ocr
from IPython import display
import re
import numpy as np
import matplotlib.pyplot as plt

# 简单的数据结构化处理,主要思路就是利用关键字
def extract_train(result):
    station=0
    cc=0
    output=[]
    for line in result:
        if '站' in line[1][0]:
            if station==0:
                output.append(['始发站',line[1][0]])
            elif station==1:
                output.append(['到站',line[1][0]])
            station=station+1
        if (line[1][0][0] in ['C','D','G','Z','T','K','L','A','Y'])&(len(line[1][0])==4):
            output.append(['车次',line[1][0]])
        if ('年' in line[1][0])&('月' in line[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值