背景
公司需求要对身份证扫描认证,在选用文字识别的时候挑了几家最终选择的百度的OCR。
简介
基于业界领先的深度学习技术,提供对二代居民身份证、银行卡、机动车驾驶证、机动车行驶证的识别服务
步骤
1.进入百度AI开放平台。传送门 http://ai.baidu.com/tech/ocr/idcard
2.点击控制台,注册或者登陆百度账号。
3.下翻找到文字识别
点击文字识别后进入可用服务列表你可以看到可用的服务和付费信息。我用的都是免费的。
然后进入重要的阶段。
4.点击概览里面的创建应用
然后填写相应信息。APP名称、应用类型、接口选择、应用平台等。这些都是随意填。
4.1应用包名要写对切记。
完事后你会见到创建好的APP,API Key 和Secret Key以后会用到。
5.点击应用名称进入
然后查看文档下载SDK进行调试。注意Demo里面有#error 警示代码,注释掉就行。
6.调试结束进行集成阶段。文档中有详细说明。这里重点讲一下(Dynamic框架,请使用Embed Binary方式嵌入)
PS 刚开始我也没接触Dynamic使用就百度了一些,生成动态库的博客,被坑了。
官方已经说明
①.如果只需要使用摄像头直接引入三个framework即可
AipBase.framework
IdcardQuality.framework
AipOcrSdk.framework
编译运行无错误,按照Demo里面使用即可。
②.如果需要修改相机界面和和逻辑,可像demo工程一样引入AipOcrSdk工程,添加为依赖。
-
原项目结构图示
-
把Demo里面的SDK复制到项目文件夹内(注意和主工程同级)
复制过后的
-
File ->Add Files to "XXX"选择如下图加入
之后是这样的 说明你对了
- 来到主工程的TARGSTS
添加那3个依赖库
这个可以直接添加
另外两个就不行了 ,搜索无此库。
点击Add Other
搞定收工。
后记:当前版本是2.1.1 用着不错 ,但仍有坑。
1.AipCaptureCardVC的回调不给Image(不然就可以直接添加3个库就行了)
2.AipOcrService开启的扫描没有边界框,只有拍照识别。
3.嵌入式质量控制+云端识别只支持身份证不支持银行卡,且不走成功的回调方法。
坑也是不少。
当然通过第二种集成方式我们可以修改源码来修改UI界面和代码逻辑。自行实现。
4.喜欢或者有帮助的请点赞。有问题的可以私信或评论,也可以直接扣我。QQ351795515