中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中怎么識別二代身份證

發布時間:2021-06-28 16:27:10 來源:億速云 閱讀:151 作者:Leah 欄目:移動開發

Android中怎么識別二代身份證,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

開發前準備

android studio 安裝

在項目級gradle里添加華為maven倉

??打開AndroidStudio項目級build.gradle文件

Android中怎么識別二代身份證
??增量添加如下maven地址:

buildscript {
   repositories {        
       maven {url 'http://developer.huawei.com/repo/'}
   }    
}
allprojects {
   repositories {      
       maven { url 'http://developer.huawei.com/repo/'}
   }
}

在應用級的build.gradle里面加上SDK依賴

Android中怎么識別二代身份證

dependencies{  
 // 引入基礎SDK
 implementation 'com.huawei.hms:ml-computer-vision-icr:1.0.3.300'
 // 引入身份證識別plugin包
 implementation 'com.huawei.hms:ml-computer-card-icr-cn-plugin:1.0.3.315'
 // 引入身份證識別模型包
 implementation 'com.huawei.hms:ml-computer-card-icr-cn-model:1.0.3.315'
}

在AndroidManifest.xml文件里面增量添加模型自動下載

??要使應用程序能夠在用戶從華為應用市場安裝您的應用程序后,自動將最新的機器學習模型更新到用戶設備,請將以下語句添加到該應用程序的AndroidManifest.xml文件中:

<manifest
   ...
   <meta-data              
       android:name="com.huawei.hms.ml.DEPENDENCY"  
       android:value= "icr"/>
       <!--If multiple models are required,set the parameter as follows:        
       android:value="object,ocr,face,label,icr,bcr,imgseg"-->  
   ...
</manifest>

在AndroidManifest.xml文件里面申請相機、訪問網絡和存儲權限

<!--相機權限-->
<uses-permission android:name="android.permission.CAMERA" />
<!--使用網絡權限-->
<uses-permission android:name="android.permission.INTERNET" />
<!--寫權限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--讀權限-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

代碼開發關鍵步驟

&emsp;&emsp;在開發時可以通過三種方式進行集成開發,分別為:使用識別插件進行視頻流身份證識別、設備側身份證識別以及云側身份證識別。在這里我們主要介紹使用識別插件進行視頻流身份證識別的開發步驟,如果大家對另外兩種集成方式感興趣,可以參照華為開發者聯盟開發步驟: https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/ml-icr-dev-4

創建識別結果回調函數

??識別結果回調函數,重載onSuccess, onCanceled, onFailure, onDenied四個方法;onSuccess 表示識別成功,MLCnIcrCaptureResult為識別返回結果,onCanceled 表示用戶取消,onFailure 表示識別失敗,onDenied 表示相機不可用等場景。

private MLCnIcrCapture.Callback idCallback = new MLCnIcrCapture.Callback() {
   @Override
   public void onSuccess(MLCnIcrCaptureResult idCardResult){
       // 識別成功處理。
   }  
   @Override
   public void onCanceled(){
       // 用戶取消處理。
   }  
   // 識別不到任何文字信息或識別過程發生系統異常的回調方法。
   // retCode:錯誤碼。
   // bitmap:檢測失敗的身份證圖片。
   @Override
   public void onFailure(int retCode, Bitmap bitmap){
       // 識別異常處理。
   }
   @Override
   public void onDenied(){
       // 相機不支持等場景處理。
   }  
}

設置識別參數

??設置識別參數,調用識別器capture接口進行識別,識別結果會通過步驟1的回調函數返回。

private void startCaptureActivity(MLCnIcrCapture.Callback callback, boolean isFront, boolean isRemote) {
   MLCnIcrCaptureConfig config = new MLCnIcrCaptureConfig.Factory()
       // 設置識別身份證的正反面。
       // true:正面。
       // false:反面。
       .setFront(true)
       // 設置是否使用云側能力進行識別。
       // true:云側。
       // false:端側。
       .setRemote(false)
       .create();
   MLCnIcrCapture icrCapture = MLCnIcrCaptureFactory.getInstance().getIcrCapture(config);
   icrCapture.capture(callback, this);
}

實現身份識別

??在檢測按鈕的回調中,調用步驟2中定義的方法,實現身份證識別。

@Override
public void onClick(View v) {
   switch (v.getId()) {
       // 識別正面按鈕。
       case R.id.IDCard_image_front:
           startCaptureActivity(idCallback, true, false);
           break;
       // 識別背面按鈕。
       case R.id.IDCard_image_back:
           startCaptureActivity(idCallBack, false, false);
           break;
       default:
           break;
   }
}

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

甘孜| 察雅县| 小金县| 华亭县| 交城县| 藁城市| 彰化市| 德阳市| 灵宝市| 固阳县| 隆子县| 泰兴市| 申扎县| 陈巴尔虎旗| 湖南省| 彭阳县| 滁州市| 阆中市| 平邑县| 桑植县| 乡宁县| 定远县| 江西省| 瑞安市| 华安县| 疏附县| 鲁山县| 漳平市| 太仆寺旗| 苏尼特右旗| 双鸭山市| 磐石市| 潜江市| 德惠市| 康定县| 阳泉市| 芮城县| 崇信县| 喜德县| 清河县| 水富县|