ocr的场景应用--发票识别

ocr识别

一.什么是ocr

OCR英文全称是Optical Character Recognition,中文叫做光学字符识别。它是利用光学技术和计算机技术把印在或写在纸上的文字读取出来,并转换成一种计算机能够接受、人又可以理解的格式。现在这技术已经比较成熟。实际应用:比如一个手机APP就能帮忙扫描名片、身份证,并识别出里面的信息;汽车进入停车场、收费站都不需要人工登记了,都是用车牌识别技术;我们看书时看到不懂的题,拿个手机一扫,APP就能在网上帮你找到这题的答案。太多太多的应用了,OCR的应用在当今时代确实是百花齐放啊。

二.实现ocr识别

paddleocr的检测训练
paddleocr的识别训练

模型调用,实现ocr识别

from paddleocr import PaddleOCR, draw_ocr
# 模型路径下必须含有model和params文件
ocr = PaddleOCR(use_angle_cls=True,use_gpu=False)
# 参数设置,det_model_dir:检测模型路径,rec_model_dir:识别模型路径,cls_model_dir:方向模型路径,rec_char_dict_path文本字典
# det_model_dir='{your_det_model_dir}', rec_model_dir='{your_rec_model_dir}', rec_char_dict_path='{your_rec_char_dict_path}', cls_model_dir='{your_cls_model_dir}', use_angle_cls=True  

img_path = '../ocr2.jpg'
result = ocr.ocr(img_path, cls=True)
for line in result:
    print(line)
 
# 显示结果
from PIL import Image
image = Image.open(img_path).convert('RGB')
boxes = [line[0] for line in result]
txts = [line[1][0] for line in result]
scores = [line[1][1] for line in result]
im_show = draw_ocr(image, boxes, txts, scores, font_path='../PaddleOCR/doc/simfang.ttf')
im_show = Image.fromarray(im_show)
im_show.save('result.jpg') #结果图片保存在代码同级文件夹中。

场景应用

1.四类:
数字原生类:
淘宝商品图是最具有代表性的数字原生类文字图。
特点:1)最复杂多样:各种字体、背景、排列、组合等(MTWI挑战赛-最大的OCR竞赛)。
2)最有价值:商品信息载体
3)图片量最大:千亿图片,每日不停更新。

文档类:
文档类OCR需求非常广,涉及各种公务场景。
特点:1)100%识别率:人的输入准确率为98%,探索AI知识的极限;2)产品易用性:完善的功能,贴近业务需求;3)商业应用:文档类商业成熟。
拍照表单类:拍照表单类OCR价值非常大,非常有挑战性。
特点:1)场景&数据:数据具有隐私性,典型应用场景沉淀技术能力;2)产品通用性:专家知识+模板=文本理解,一套方案解决上百种类型。3)商业价值:和行业场景深度接入,AI能力改善行业数据流程。(提供定制的拍照表格识别和结构化云服务)
自然场景类: OCR学术研究的重点方向。
特点:1)数据:无具体数据类型定义,比如街拍数据;2)技术难点:不确定性,复杂环境干扰本质难点是定位和识别;3)商业价值:市场潜力巨大,如:车牌识别、摄像监控、自动驾驶。(技术能力领先,行业落地中)

发票的识别

一.确定发票的方向

在这里插入图片描述
电子发票、专用发票、普通发票,可以定位一个锚点,确定发票方向:
比如:机器编码(定位锚点),就可以确定-----正向的在左上角,-90°的在左下角,90°的在右上角,180°的在右下角,这样判断,就可以确定发票方向。
步骤:(也可以用YOLO等其余模型进行检测,比如:检测二维码的位置)
1.先进行ocr第一次识别(可能识别不到)
2.确定锚点位置信息
3.判断方向

二.识别信息截取

方法一:根据需要识别的信息,需要将识别信息一一对应,所以需要截取对应位置图片,进行识别
方法二:根据飞浆的最新的表格识别算法进行,定位识别飞浆表格识别

注:不同的发票,需要定位识别的位置也不同,需要不同的确定方式

三.结果

在这里插入图片描述

参考链接:
https://blog.csdn.net/wurmyq/article/details/90755568?ops_request_misc=&request_id=&biz_id=102&utm_term=ocr%E7%9A%84%E5%9C%BA%E6%99%AF%E5%BA%94%E7%94%A8&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-90755568.142v44pc_ran_alice&spm=1018.2226.3001.4187

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UNIAPP支付宝小程序OCR识别是一种基于图像处理技术的识别功能,主要用于从图片中提取文本信息。支付宝小程序通过集成UNIAPP框架以及相应的第三方插件或API,实现了对支付宝二维码、条形码等图像内容的自动识别,使得用户无需手动输入即可获取到所需信息。 ### 实现过程: 1. **图像捕获**:首先需要将包含待识别信息的图像捕获到程序中,这可以是摄像头拍摄的新照片,或者是已有的存储图像。 2. **预处理**:对原始图像进行预处理,如调整亮度、对比度,去除噪声,以便于后续的图像分析。 3. **特征抽取**:使用计算机视觉算法(如HOG、SIFT、SURF等)提取图像中的关键点和描述符,用于后续匹配和识别。 4. **模板匹配**:比较提取的关键点和描述符与预先训练好的模板库进行匹配,找到最相似的模板。 5. **文本识别**:利用OCR(光学字符识别)技术对匹配到的区域进行文字识别,转换成可读的文字信息。 6. **结果反馈**:将识别出的信息呈现给用户,例如显示在小程序界面上供进一步操作。 ### 应用场景: - 支付宝小程序通过OCR识别功能可以实现在非触屏环境下完成支付、扫码领券、查询账单等功能,提高用户体验。 - 商家可以在店铺展示商品二维码或优惠券码,顾客只需打开小程序扫描即可快速完成购买流程,减少操作步骤。 - 用户还可以利用此功能在实体店面消费后,扫描小票上的二维码获取发票信息,简化了获取电子发票的过程。 ### 开发指南: - **集成OCR插件**:在项目中引入支持OCR功能的插件或SDK,通常此类工具提供简洁的API接口,便于集成到小程序中。 - **配置权限**:确保小程序有访问摄像头和图片文件的权限,以实现图像数据的输入。 - **测试与优化**:针对不同环境、光照条件下的图片进行充分的测试,并根据测试结果优化识别算法的性能和准确率。 --- ### 相关问题: 1. UNIAPP如何集成第三方OCR识别插件? 2. 如何提高支付宝小程序OCR识别的准确率? 3. 小程序中的OCR识别能否处理多种语言的文字识别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值