iOS開源: IDCardRecognition - 二代身份證識別
IDCardRecognition
說明
一個近乎完整的可識別中國身份證信息的Demo
可自動快速讀出身份證上的信息(姓名、性別、民族、住址、身份證號碼)并截取到身份證圖像
原理
經實踐發現,只要身份證號碼處于攝像頭預覽圖層中時,即不用完全對準身份證也可以讀取到身份證號碼,但此時截取到的身份證圖像并不完整。
為獲取到比較完整的身份證圖像,經多次實踐發現,當身份證人像大約位于拍攝框中的右上區域時,此時可獲取到比較完整的身份證圖像。
因此,在拍攝框中右上區域加了一個人像區域提示框,并將該區域設為掃描人臉的區域,只有該區域掃描到身份證上的人臉時(確保用戶的確將身份證人像對準了拍攝框中的人像框),才執行讀取身份證信息的操作。
使用
將該功能集成到你開發的app里:
1、請把Category、Tool、libexidcard、Model、View、Controller這六個文件夾拖入到你的項目里;
2、將idcard_first.png、idcard_first_head.png、idcard_back.png、nav_back.png、nav_torch_on.png、nav_torch_off.png拖入到你的項目中,或在相應代碼處替換為你的素材;
3、在你的項目的Info.plist文件中,添加權限描述(Key Value)
Privacy - Camera Usage Description 是否允許訪問相機
Privacy - Photo Library Usage Description 是否允許訪問相冊
4、運行程序,可能會報 ENABLE_BITCODE 錯誤:
解決方法:
5、在你的項目中的相應處,首先:
#import "IDAuthViewController.h"
在使用該功能的地方:
IDAuthViewController *IDAuthVC = [[IDAuthViewController alloc] init];
[self.navigationController pushViewController:IDAuthVC animated:YES];
6、大功告成,使用真機,Run! :smile: