用OCR完成发票验真综合应用开发【玩转华为云】
- 一 文本识别OCR
- 二 图像识别是啥
- 三 开通服务及获取AK、SK
- 四 环境准备好先
- 五 增值税验真web应用开发
一 💡 文本识别OCR
它能提供在线文字识别服务,将图片、扫描件或PDF、OFD文档中的文字识别成可编辑的文本,OCR文字识别支持证件识别、票据识别、定制模板识别、通用表格文字识别等;
1.1 流程我说下
1.2 使用前必读
用户需要具备编程能力,熟悉Java、Python、iOS、Android、Node.js语言;
OCR服务需要用户通过调用API接口,将图片或扫描件中的文字识别成可编辑的文本,然后返回JSON格式的识别结果,用户需要通过编码将识别结果对接到业务系统或保存为TXT、Excel等格式;
1.3 应用场景
智能分类识别服务应用在身份认证、财务报销等多种场景,使用方便,有效提升数据录入效率;
场景一:卡证、发票混合识别
场景二:相同类型发票识别
场景三:不同类型发票识别
识别类型有
优势是啥呢
- 超级API
- 调用更加便捷
直接统一调用一个API即可完成对各种卡、证、票的识别,无需在调用时判断图像类型,也不用再对每种数据分别调用不同的API,降低了集成使用的复杂度。
- 价格更优惠
价格详情请参考OCR服务价格计算器;
- 降低管理难度
无需对每个API的调用量进行单独的预测,然后分别购买不同大小的套餐包。以发票报销为例,很难分别对每种发票的数量进行预估,但是依据历史情况对总的发票数量进行预测就更加容易;
使用OCR文字识别服务“增值税发票识别”、“发票验真”接口之前,必须先申请并开通服务
① 登录后跳转至控制台页面,点击左上角服务列表按钮,下拉找到【人工智能】,在【人工智能】栏下找到【文字识别OCR】,点击进入文字识别OCR服务控制台,如下
② 区域默认显示“华北-北京四”,实验中无需修改。(注:实际生产使用时,请根据各服务的部署区域选择对应区域,开通与调用的服务必须在同一个区域。)
③ 在“总览”页,根据【开通状态】查看“增值税发票识别”和“发票验真”服务是否已开通,若未开通,则需点击【开通服务】按钮,如下
① 华为云控制台页面右上角账号处点击【我的凭证】
② 依次点击【访问密钥】、【新增访问密钥】
③ 完成后会生成credentials.csv文件,点击“立即下载”。
注意:文件会下载到如下位置:/home/user/Downloads/
四 环境准备好先
4.1 新建安全组
① 服务列表搜索“ecs”,找到并进入ECS控制台:
② 找到最下方“安全组”标签页
③ 点击左上角“创建安全组”
④ 名称自定义,模板选择“通用web服务器”,点击“确定”:
⑤ 点击“配置规则”:
⑥ 点击“添加规则”:
⑦ 添加入方向端口8501-8503,点击“确定”完成安全组设置
8501端口为本次实验开发的web应用所在的端口,要想正常访问该web应用,需开放该端口
购买ECS
① 回到ECS控制台“弹性云服务器”标签页,点击“购买弹性云服务器”
② 计费模式选择“按需计费”,区域选择“华北-北京四”,可用区选“随机分配”;
③ CPU架构选择“x86计算”,规格选择“通用计算增强型”“2vCPUS-8GB内存”;
④ 镜像选择“公共镜像”、“Ubuntu”、“Ubuntu 20.04 server 64bit”,主机安全保持默认配置
⑤ 系统盘保持默认的“40GB”,点击“下一步:网络配置”
⑥ 网络选择默认的“vpc-default”,如果之前没有创建,可点击下图所示的“前往控制台创建”,创建完成后,刷新后即可看到:
⑦ 安全组选择上一小节创建的自定义安全组;
⑧ 弹性公网IP选择“全动态BGP”,带宽选择“按流量计费”,带宽大小选择“5”,完成后点击“下一步:高级配置”
⑨ 自定义云服务器名称和root用户密码(实验过程中请按照下面设置ECS名称和root密码)
云服务器名称:ecs-ocr-app
输入root用户密码:a3hZJfup%kIrhKT$
⑩ 其他保持默认,点击“下一步:确认配置”
⑪ 勾选协议,点击“立即购买”
提交成功后,如下
环境配置
① 回到ECS控制台,找到刚创建的ECS服务器,点击“远程登录”
② 点击“CloudShell”登录
③ 使用root用户登录,输入密码a3hZJfup%kIrhKT$后,点击“连接”:
连接成功后,进入cloudshell命令行界面
④ 安装软件环境
命令行终端输入并执行如下命令,安装相应python库
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple streamlit huaweicloudsdkcore huaweicloudsdkocr
命令执行情况如下所示:
此处共安装了三个库:streamlit、huaweicloudsdkcore和huaweicloudsdkocr,其中streamlit 为Python的一个简易的web组件库,帮助我们搭建UI界面,huaweicloudsdkcore和huaweicloudsdkocr为OCR服务相应的Python SDK。
五 🥩 增值税验真web应用开发
4.1 工程代码准备
① 下载项目代码
命令行终端输入如下命令,下载项目代码:
wget https://sandbox-expriment-files.obs.cn-north-1.myhuaweicloud.com/20220408/ocr_project.zip
② 解压项目代码
unzip ocr_project.zip
③ 执行ls命令确认文件是否解压成功
4.2 项目代码解读
① 生成OCR请求客户端,需要AK, SK鉴权:
② 增值税识别函数,调用增值税识别API接口
③ 发票验真函数,调用发票验真API接口
④ main函数,定义了UI界面以及程序执行过程:
4.3 项目运行测试
① 点击桌面终端,进入凭证下载目录,查看AK/SK信息
执行下面命令,查看此前下载的凭证文件
cd /home/user/Downloads/;ls
执行cat credentials.csv |grep ,查看AK/SK的值
cat credentials.csv |grep ,
② 切换到浏览器,进入cloudshell标签页,点击左侧文件浏览器,定位至root/ocr_project/main.py文件,双击main.py,修改代码,复制修改填入上步骤中的AK/SK信息
复制AK值
修改main.py的AK值
复制SK值
修改main.py的SK值
备注:修改完后,记得保存(快捷键ctrl+s)
③ 启动运行应用
在cloudshell终端输入以下命令,执行main.py,启动应用APP:
cd ocr_project
streamlit run main.py 2>run.log
将外部URL地址复制到浏览器,查看页面效果
④ 下载测试图片:
测试图片链接如下:
https://sandbox-expriment-files.obs.cn-north-1.myhuaweicloud.com/20220401/quota_invoice.jpg
将其复制到浏览器,下载至本地
⑤ 增值税发票验真测试
回到web应用界面,点击“Browse files”:
选择刚下载的测试图片:
web页面显示发票图像,继续点击“发票验真”按钮:
显示验真结果
至此,增值税发票验真H5应用开发完毕,您也可在手机端打开浏览器,输入上面的外部URL地址进行访问。由于该H5应用只部署在单台ECS上,所以能够支持的访问量较小,多人访问会使该页面卡顿。
如您想拥有一个支持大流量访问的H5应用,可以使用华为云云容器实例(Cloud Container Instance,CCI)服务进行应用部署,CCI能提供容器秒级弹性伸缩能力,让您能够轻松应对快速变化的业务访问流量,稳健保障业务高可靠性;
- 点赞
- 收藏
- 关注作者
评论(0)