一:简介
快捷支付涉及到方方面面,同时安全问题既是用户所关心的,也是制作者不容忽视的重要部分。
比如涉及到支付和金钱的app,商户端app等等,都需要进行实名认证,实名认证可以通过银行卡认证和身份证认证。
通常办法是通过上传照片,并且手动输入基本信息进行认证,这种方法不仅操作复杂,而且容易出错。
网上很多资源,识别率低,速度慢,用户体验很差。今天我就和大家介绍一下我使用的方法,可以快速、高效的识别中国身份证信息。
二:原理
经实践发现,只要身份证号码处于摄像头预览图层中时,即不用完全对准身份证也可以读取到身份证号码,但此时截取到的身份证图像并不完整。
为获取到比较完整的身份证图像,经多次实践发现,当身份证人像大约位于拍摄框中的右上区域时,此时可获取到比较完整的身份证图像。
因此,在拍摄框中右上区域加了一个人像区域提示框,并将该区域设为扫描人脸的区域,只有该区域扫描到身份证上的人脸时(确保用户的确将身份证人像对准了拍摄框中的人像框),才执行读取身份证信息的操作。
三:项目展示
扫描身份证页面
信息展示页面
四:Demo接入流程
1.首先把demo下载下来
2.打开项目将下面的文件拷贝到自己的工程中:
- libexidcard
- FBYTool
- FBYCategory
- FBYModel
- FBYView
- FBYBase
3.添加配置
在你的项目的Info.plist文件中,添加权限描述(Key Value)
Privacy - Camera Usage Description 是否允许访问相机
Privacy - Photo Library Usage Description 是否允许访问相册
如下图:
4. 项目设置
根据项目截图设置即可
5. 项目引用
在项目中需要使用的页面,增加引用代码:1
#import "IDCardCaptureViewController.h"
在点击扫描身份证的点击事件中,跳转页面:1
2
3IDCardCaptureViewController *idcvc = [[IDCardCaptureViewController alloc]init];
[self.navigationController pushViewController:idcvc animated:YES];
到此项目就接入完成!!!