转载

快速高效 | iOS身份证识别

一:简介

快捷支付涉及到方方面面,同时安全问题既是用户所关心的,也是制作者不容忽视的重要部分。比如涉及到支付和金钱的app,商户端app等等,都需要进行实名认证,实名认证可以通过银行卡认证和身份证认证。通常办法是通过上传照片,并且手动输入基本信息进行认证,这种方法不仅操作复杂,而且容易出错。网上很多资源,识别率低,速度慢,用户体验很差。今天我就和大家介绍一下我使用的方法,可以快速、高效的识别中国身份证信息。随后会陆续更新银行卡识别。

二:原理

经实践发现,只要身份证号码处于摄像头预览图层中时,即不用完全对准身份证也可以读取到身份证号码,但此时截取到的身份证图像并不完整。

为获取到比较完整的身份证图像,经多次实践发现,当身份证人像大约位于拍摄框中的右上区域时,此时可获取到比较完整的身份证图像。

因此,在拍摄框中右上区域加了一个人像区域提示框,并将该区域设为扫描人脸的区域,只有该区域扫描到身份证上的人脸时(确保用户的确将身份证人像对准了拍摄框中的人像框),才执行读取身份证信息的操作。

三:项目展示

扫描页面截图

快速高效 | iOS身份证识别

信息展示页面

快速高效 | iOS身份证识别

四:Demo接入流程

1.首先把demo下载下来

源码链接

快速高效 | iOS身份证识别

2.打开项目将下面的文件拷贝到自己的工程中:

  • libexidcard

  • FBYTool

  • FBYCategory

  • FBYModel

  • FBYView

  • FBYBase

3.添加配置

在你的项目的Info.plist文件中,添加权限描述(Key   Value)

Privacy - Camera Usage Description 是否允许访问相机

Privacy - Photo Library Usage Description 是否允许访问相册

如下图:

快速高效 | iOS身份证识别

4. 项目设置

选择项目名字,选择Build Settings,搜索enable bitcode 设置为NO即可。

5. 项目引用

在项目中需要使用的页面,增加引用代码:

#import "ViewController.h"

在点击扫描身份证的点击事件中,跳转页面:

ViewController *vc = [[ViewController alloc]init];
    
[self.navigationController pushViewController:vc animated:YES];

到此项目就接入完成!!!

希望可以帮助大家,如有问题可加QQ群: 668562416 交流

如果哪里有什么不对或者不足的地方,还望读者多多提意见或建议

如需转载请联系我,经过授权方可转载,谢谢

  • 作者:FBY展菲授权转载

  • 链接:https://juejin.im/post/5a4b21df51882538fe632368

正文到此结束
Loading...