快速高效 | iOS身份证识别

一:简介

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

二:原理

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

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

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

三:项目展示

扫描身份证页面
扫描身份证页面

信息展示页面

信息展示页面

5AB7A14B-0121-4AE8-A6C5-F5A6668287D7.png

四:Demo接入流程

1.首先把demo下载下来

demo截图

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

  • libexidcard
  • FBYTool
  • FBYCategory
  • FBYModel
  • FBYView
  • FBYBase

3.添加配置

在你的项目的Info.plist文件中,添加权限描述(Key Value)
Privacy - Camera Usage Description 是否允许访问相机
Privacy - Photo Library Usage Description 是否允许访问相册
如下图:
plist

4. 项目设置

根据项目截图设置即可

项目设置

5. 项目引用

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

1
#import "IDCardCaptureViewController.h"

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

1
2
3
IDCardCaptureViewController *idcvc = [[IDCardCaptureViewController alloc]init];

[self.navigationController pushViewController:idcvc animated:YES];

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

公众号:网罗开发

-------------本文结束感谢您的阅读-------------

本文标题:快速高效 | iOS身份证识别

文章作者:Swift社区

发布时间:2018年01月25日 - 17:01

最后更新:2018年02月06日 - 15:02

原始链接:https://fanbaoying.github.io/快速高效-iOS身份证识别/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!