poocr解锁1s识别发票解析

poocr解锁1s识别发票解析

poocr是基于腾讯云 OCR 接口的 Python 第三方库,通过二次封装将很多的复杂场景(身份证、发票、车牌等)的识别简化为「1 行代码」,支持图片 / URL 输入,兼容本地文件与在线图片,识别z准确率非常高。

1. 需求

最近有个需求,需要识别购车发票中的信息,然后将识别到的内容保存在excel表格中保存。找了网上很多的开源项目之后,发现poocr这个库非常的好用,于是决定在poocr这个库中添加功能,该功能可以识别图片中的指定类型的发票。

2. 前期准备

2.1 代码准备

  1. 查看poocr源码 点击poocr查看gitcode的代码仓。
  2. fork一个自己的代码仓
  1. 拉取代码

2.2 腾讯云接口

  1. 访问文字识别界面 点击文字识别进入腾讯云文字识别界面。
  2. 查看腾讯云OCR识别功能

点击试用 -> 立即体验即可体验OCR识别功能。

  1. 开通功能并且领去免费试用机会 搜索 文字识别,往下拉,点击开始使用。需要开通后付费设置免费使用机会才可以生效。
  1. 生成密钥ID和Key

点击新建密钥可以自动生成密钥,最多两个哦。

3. 功能实现

3.1 查看代码示例

从官方文档可知,调用腾讯云API时,首先需要有SecretIdSecretKey,对应上面申请的密钥;其次,在调用时需要使用models创建一个RecognizeGeneralInvoiceRequest的请求对象,使用这个封装请求的参数对象;最后,发送请求时,使用client调用RecognizeGeneralInvoice发送接口获取调用的结果。 可以看出有两个参数是我们在使用过程中需要的:

  • ImageBase64: 图片的 Base64 值。
  • ImageUrl: 图片的 Url 地址。

注意:

  1. 支持的图片格式为PNG、JPG、JPEG、PDF,不支持 GIF 格式。 2. 支持的图片不超过 10M。 3. 图片下载时间不超过 3 秒。 4. 支持的图片像素:单边介于20-10000px之间。 5. 图片的 ImageUrl、ImageBase64 必须提供一个,如果都提供,只使用 ImageUrl。 6. 图中的`Types`参数如果指定,图片中的所有发票会按照你指定的类型来识别,而不是只识别图片中指定类型的发票。

3.2 查看poocr代码

从poocr代码结构中可知,api目录下的ocr2excel.py文件中,封装各种识别生成excel的方法。ocr.py文件中封装了各种识别生成json数据的方法。OCR.py文件中,通过models生成请求和client对腾讯云api主要调用方法的实现。

3.3 具体实现

ocr2excel.py添加RecognizeGeneralInvoiceOCR2Excel方法,用于识别发票识别并且生成Excel文件,类别需要在接口文档中查看。

  1. 判断文件或者文件夹是否存在;
  2. 判断输出Excel路径是否合法;
  3. 批量识别图片,根据识别结果生成excel;

ocr.py添加RecognizeGeneralInvoice方式,用于识别发票返回识别图片中的所有的json数据。

4. 功能测试

需要识别图片中火车票的数据并且生成Excel文件。 代码执行结果: 识别结果:

相关推荐
rundreamsFly41 分钟前
从 Clawdbot 到 Moltbot,再到 OpenClaw:一场被“商标、定位和时代红利”反复暴击的开源实验
开源·openclaw·claw
毕设源码-邱学长1 小时前
【开题答辩全过程】以 基于Springboot的酒店住宿信息管理系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
咖啡啡不加糖2 小时前
Grafana 监控服务指标使用指南:打造可视化监控体系
java·后端·grafana
gAlAxy...2 小时前
SpringBoot Servlet 容器全解析:嵌入式配置与外置容器部署
spring boot·后端·servlet
大飞哥~BigFei3 小时前
整数ID与短字符串互转思路及开源实现分享
java·开源
BYSJMG3 小时前
计算机毕业设计选题推荐:基于Hadoop的城市交通数据可视化系统
大数据·vue.js·hadoop·分布式·后端·信息可视化·课程设计
BYSJMG3 小时前
Python毕业设计选题推荐:基于大数据的美食数据分析与可视化系统实战
大数据·vue.js·后端·python·数据分析·课程设计·美食
东东5163 小时前
OA自动化居家办公管理系统 ssm+vue
java·前端·vue.js·后端·毕业设计·毕设
韦东东3 小时前
本地问答系统升级:本地RAG+网络搜索(已开源)
开源·问答系统·本地rag
程序员鱼皮3 小时前
前特斯拉 AI 总监:AI 编程最大的谎言,是 “提效”
前端·后端·ai·程序员·开发