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