Android中怎么識別二代身份證,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)專注于殷都企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站制作。殷都網(wǎng)站建設(shè)公司,為殷都等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站建設(shè),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)在項目級gradle里添加華為maven倉
??打開AndroidStudio項目級build.gradle文件
??增量添加如下maven地址:
buildscript { repositories { maven {url 'http://developer.huawei.com/repo/'} } } allprojects { repositories { maven { url 'http://developer.huawei.com/repo/'} } }
dependencies{ // 引入基礎(chǔ)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' }
??要使應(yīng)用程序能夠在用戶從華為應(yīng)用市場安裝您的應(yīng)用程序后,自動將最新的機器學(xué)習(xí)模型更新到用戶設(shè)備,請將以下語句添加到該應(yīng)用程序的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>
<!--相機權(quán)限--> <uses-permission android:name="android.permission.CAMERA" /> <!--使用網(wǎng)絡(luò)權(quán)限--> <uses-permission android:name="android.permission.INTERNET" /> <!--寫權(quán)限--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!--讀權(quán)限--> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  在開發(fā)時可以通過三種方式進行集成開發(fā),分別為:使用識別插件進行視頻流身份證識別、設(shè)備側(cè)身份證識別以及云側(cè)身份證識別。在這里我們主要介紹使用識別插件進行視頻流身份證識別的開發(fā)步驟,如果大家對另外兩種集成方式感興趣,可以參照華為開發(fā)者聯(lián)盟開發(fā)步驟: https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/ml-icr-dev-4
??識別結(jié)果回調(diào)函數(shù),重載onSuccess, onCanceled, onFailure, onDenied四個方法;onSuccess 表示識別成功,MLCnIcrCaptureResult為識別返回結(jié)果,onCanceled 表示用戶取消,onFailure 表示識別失敗,onDenied 表示相機不可用等場景。
private MLCnIcrCapture.Callback idCallback = new MLCnIcrCapture.Callback() { @Override public void onSuccess(MLCnIcrCaptureResult idCardResult){ // 識別成功處理。 } @Override public void onCanceled(){ // 用戶取消處理。 } // 識別不到任何文字信息或識別過程發(fā)生系統(tǒng)異常的回調(diào)方法。 // retCode:錯誤碼。 // bitmap:檢測失敗的身份證圖片。 @Override public void onFailure(int retCode, Bitmap bitmap){ // 識別異常處理。 } @Override public void onDenied(){ // 相機不支持等場景處理。 } }
??設(shè)置識別參數(shù),調(diào)用識別器capture接口進行識別,識別結(jié)果會通過步驟1的回調(diào)函數(shù)返回。
private void startCaptureActivity(MLCnIcrCapture.Callback callback, boolean isFront, boolean isRemote) { MLCnIcrCaptureConfig config = new MLCnIcrCaptureConfig.Factory() // 設(shè)置識別身份證的正反面。 // true:正面。 // false:反面。 .setFront(true) // 設(shè)置是否使用云側(cè)能力進行識別。 // true:云側(cè)。 // false:端側(cè)。 .setRemote(false) .create(); MLCnIcrCapture icrCapture = MLCnIcrCaptureFactory.getInstance().getIcrCapture(config); icrCapture.capture(callback, this); }
??在檢測按鈕的回調(diào)中,調(diào)用步驟2中定義的方法,實現(xiàn)身份證識別。
@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; } }
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
文章題目:Android中怎么識別二代身份證-創(chuàng)新互聯(lián)
分享鏈接:http://jinyejixie.com/article32/jecsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、軟件開發(fā)、電子商務(wù)、品牌網(wǎng)站制作、小程序開發(fā)、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容