1、功能介紹 虹軟人證覈驗 2.0 SDK(如下簡稱SDK)包含人臉檢測、人臉跟蹤、人證覈驗等能力,主要實現人證的1:1比對。 其中暴露對外的功能方法有: active 引擎激活 init 引擎初始化 inputIdCardData 輸入身份證圖片進行人臉檢測 onPreviewData 輸入視頻或圖片數據進行人臉檢測 compareFeature 人證特徵比對 getVersion 獲取sdk版本信息 unInit 銷燬引擎html
2、獲取SDKandroid
3、使用SDK安全
//激活方法首次調用有網絡和文件操做,後續只有文件操做,建議不要放在主線程中進行 int activeCode = IdCardVerifyManager.getInstance().active(MainActivity.this, Constants.APP_ID, Constants.SDK_KEY); if (activeCode == IdCardVerifyError.OK || activeCode == IdCardVerifyError.MERR_ASF_ALREADY_ACTIVATED) { //激活成功或者已激活過的狀況 } else { //激活失敗的狀況 }
//須要注意回調的結果位於子線程,compareFeature接口須要在主線程中調用 private IdCardVerifyListener idCardVerifyListener = new IdCardVerifyListener() { @Override public void onPreviewResult(DetectFaceResult detectFaceResult, byte[] bytes, int i, int i1) { runOnUiThread(() -> { if (detectFaceResult.getErrCode() == IdCardVerifyError.OK) { //預覽人臉特徵提取成功, 若身份證人臉特徵提取也成功,則可調用人證特徵比對接口進行人證比對 } }); } @Override public void onIdCardResult(DetectFaceResult detectFaceResult, byte[] bytes, int i, int i1) { runOnUiThread(() -> { if (detectFaceResult.getErrCode() == IdCardVerifyError.OK) { //身份證人臉特徵提取成功, 若預覽人臉特徵提取也成功,則可調用人證特徵比對接口進行人證比對 } }); } };
int initCode = IdCardVerifyManager.getInstance().init(MainActivity.this, idCardVerifyListener); if (initCode != IdCardVerifyError.OK) { //初始化成功 } else { //初始化失敗 }
//須要轉化爲nv21格式的數據,且需保證寬爲4的倍數,高爲2的倍數 DetectFaceResult result = IdCardVerifyManager.getInstance().inputIdCardData(nv21Data, width, height); if (result.getErrCode() == IdCardVerifyError.OK) { //身份證人臉檢測成功 } else { //身份證人臉檢測失敗 }
//須要轉化爲nv21格式的數據,且需保證寬爲4的倍數,高爲2的倍數 DetectFaceResult result = IdCardVerifyManager.getInstance().onPreviewData(nv21Data, width, height, true); if (result.getErrCode() == IdCardVerifyError.OK) { //預覽人臉檢測成功 } else { //預覽人臉檢測失敗 }
人證特徵比對,身份證數據與預覽數據都特徵提取成功後調用 CompareResult compareResult = IdCardVerifyManager.getInstance().compareFeature(0.82d); if (compareResult.getErrCode() == IdCardVerifyError.OK) { //人證特徵比對成功 } else { //人證特徵比對失敗 }網絡
銷燬引擎,推薦在onDestroy中執行異步
IdCardVerifyManager.getInstance().unInit();
4、注意事項ide