iOS开源: IDCardRecognition - 二代身份证识别

Avery15E 8年前
   <h2>IDCardRecognition</h2>    <h2>说明</h2>    <p>一个近乎完整的可识别中国身份证信息的Demo</p>    <p>可自动快速读出身份证上的信息(姓名、性别、民族、住址、身份证号码)并截取到身份证图像</p>    <p style="text-align:center"><img src="https://simg.open-open.com/show/ffafb65db3c7945e07304463b1d96800.png"> <img src="https://simg.open-open.com/show/d5169eaee026040c2d9ef9badcf2de8b.png"> <img src="https://simg.open-open.com/show/3cf901ddda1a0983055aa8d4cf822c81.png"></p>    <h2>原理</h2>    <p>经实践发现,只要身份证号码处于摄像头预览图层中时,即不用完全对准身份证也可以读取到身份证号码,但此时截取到的身份证图像并不完整。</p>    <p>为获取到比较完整的身份证图像,经多次实践发现,当身份证人像大约位于拍摄框中的右上区域时,此时可获取到比较完整的身份证图像。</p>    <p>因此,在拍摄框中右上区域加了一个人像区域提示框,并将该区域设为扫描人脸的区域,只有该区域扫描到身份证上的人脸时(确保用户的确将身份证人像对准了拍摄框中的人像框),才执行读取身份证信息的操作。</p>    <h2>使用</h2>    <p>将该功能集成到你开发的app里:</p>    <p>1、请把Category、Tool、libexidcard、Model、View、Controller这六个文件夹拖入到你的项目里;</p>    <p>2、将idcard_first.png、idcard_first_head.png、idcard_back.png、nav_back.png、nav_torch_on.png、nav_torch_off.png拖入到你的项目中,或在相应代码处替换为你的素材;</p>    <p>3、在你的项目的Info.plist文件中,添加权限描述(Key   Value)</p>    <p>Privacy - Camera Usage Description 是否允许访问相机</p>    <p>Privacy - Photo Library Usage Description 是否允许访问相册</p>    <p>4、运行程序,可能会报 ENABLE_BITCODE 错误:</p>    <p><img src="https://simg.open-open.com/show/65f2f78ad5b7fda0c359430c78f22d10.png"></p>    <p>解决方法:</p>    <p><img src="https://simg.open-open.com/show/28461b489202f0faefab228a78258dbe.jpg"></p>    <p>5、在你的项目中的相应处,首先:</p>    <p>#import &quot;IDAuthViewController.h&quot;</p>    <p>在使用该功能的地方:</p>    <p>IDAuthViewController *IDAuthVC = [[IDAuthViewController alloc] init];</p>    <p>[self.navigationController pushViewController:IDAuthVC animated:YES];</p>    <p>6、大功告成,使用真机,Run! :smile:</p>    <h2> </h2>    <p> </p>    <p> </p>    <p> </p>