日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

超简单集成华为HMS Core MLKit 机器学习服务银行卡识别SDK,一键实现银行卡绑定

發(fā)布時(shí)間:2024/1/8 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 超简单集成华为HMS Core MLKit 机器学习服务银行卡识别SDK,一键实现银行卡绑定 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

小編前面幾期文章分別給大家介紹了使用HMS ML Kit SDK實(shí)現(xiàn)微笑抓拍、證件照DIY、拍照翻譯的功能開(kāi)發(fā)(鏈接見(jiàn)文章末尾),本次小編給大家?guī)?lái)的是使用HMS 機(jī)器學(xué)習(xí)服務(wù)(ML Kit)銀行卡識(shí)別SDK,一鍵實(shí)現(xiàn)銀行卡識(shí)別與綁定功能。

銀行卡識(shí)別的應(yīng)用場(chǎng)景

介紹開(kāi)發(fā)步驟前,我們先來(lái)談?wù)勩y行卡識(shí)別的具體應(yīng)用場(chǎng)景,銀行APP、移動(dòng)支付、繳費(fèi)類(lèi)APP、電商類(lèi)APP或者其它帶支付功能的APP在使用過(guò)程中往往會(huì)遇到如下常見(jiàn)的幾個(gè)應(yīng)用場(chǎng)景:

  • 綁卡支付
    常用于支付類(lèi)APP,或者帶支付功能的APP,用來(lái)綁定信用卡,提供在線支付功能
  • 轉(zhuǎn)賬匯款
    常用于銀行或者支付類(lèi)APP,用來(lái)給本行或者他行用戶(hù)進(jìn)行轉(zhuǎn)賬。
  • 實(shí)名認(rèn)證、身份審核
    比如社交類(lèi)APP,通過(guò)銀行卡關(guān)聯(lián)的身份信息完成快速的實(shí)名認(rèn)證、身份審核等操作。

不管是綁卡、轉(zhuǎn)賬匯款還是身份審核,涉及到銀行卡操作的都會(huì)遇到一個(gè)關(guān)鍵的步驟,錄入銀行卡信息,如銀行卡號(hào)、有效期等;由于銀行卡號(hào)碼往往較長(zhǎng),手工錄入很容易出錯(cuò),而且手工錄入卡號(hào)信息,操作繁瑣,使用體驗(yàn)不佳;借助HMS ML Kit 銀行卡專(zhuān)用識(shí)別能力,則可以輕松應(yīng)對(duì)以上場(chǎng)景,快速、精準(zhǔn)的錄入銀行卡信息,改善用戶(hù)使用體驗(yàn)。

如何使用華為銀行卡識(shí)別服務(wù)

銀行卡識(shí)別服務(wù)可以將銀行卡信息通過(guò)視頻流方式輸入,得到圖像中銀行卡的卡號(hào)、有效期等重要文本信息。該服務(wù)配合身份證識(shí)別,可以為用戶(hù)提供實(shí)名認(rèn)證、身份審核、卡號(hào)錄入等實(shí)用功能,降低輸入成本,為用戶(hù)提供更加友好的操作體驗(yàn)。
銀行卡識(shí)別提供處理插件。開(kāi)發(fā)者可以集成銀行卡識(shí)別插件,無(wú)需實(shí)現(xiàn)相機(jī)視頻流數(shù)據(jù)的處理,從而實(shí)現(xiàn)銀行卡識(shí)別能力的快速集成。

核心提示:免費(fèi),全終端覆蓋!非華為手機(jī)也可以使用

集成銀行卡識(shí)別服務(wù)關(guān)鍵流程


由于華為提供了銀行卡識(shí)別插件,開(kāi)發(fā)者可以直接調(diào)用銀行卡插件,因此開(kāi)發(fā)步驟更加簡(jiǎn)單了,僅僅需要拉起界面獲取結(jié)果就可以完成卡號(hào)的識(shí)別。

開(kāi)發(fā)實(shí)戰(zhàn)

1 開(kāi)發(fā)準(zhǔn)備

1.1 在項(xiàng)目級(jí)gradle里添加華為maven倉(cāng)

打開(kāi)AndroidStudio項(xiàng)目級(jí)build.gradle文件。

增量添加如下maven地址:

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

1.2 在應(yīng)用級(jí)的build.gradle里面加上SDK依賴(lài)


集成SDK。

dependencies{ // 引入基礎(chǔ)SDK implementation 'com.huawei.hms:ml-computer-vision-bcr:1.0.3.303' // 引入銀行卡識(shí)別plugin包 implementation 'com.huawei.hms:ml-computer-card-bcr-plugin:1.0.3.300' // 引入銀行卡識(shí)別模型包 implementation 'com.huawei.hms:ml-computer-card-bcr-model:1.0.3.300' }

1.3 在AndroidManifest.xml文件里面增量添加模型自動(dòng)下載

要使應(yīng)用程序能夠在用戶(hù)從華為應(yīng)用市場(chǎng)安裝您的應(yīng)用程序后,自動(dòng)將最新的機(jī)器學(xué)習(xí)模型更新到用戶(hù)設(shè)備,請(qǐng)將以下語(yǔ)句添加到該應(yīng)用程序的AndroidManifest.xml文件中:

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

1.4 在AndroidManifest.xml文件里面申請(qǐng)相機(jī)和存儲(chǔ)權(quán)限

<!--相機(jī)權(quán)限--> <uses-permission android:name="android.permission.CAMERA" /> <!--使用存儲(chǔ)權(quán)限--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

2 代碼開(kāi)發(fā)關(guān)鍵步驟

2.1 創(chuàng)建識(shí)別結(jié)果回調(diào)函數(shù)

重載onSuccess, onCanceled, onFailure, onDenied四個(gè)方法;onSuccess 表示識(shí)別成功,MLBcrCaptureResult為識(shí)別返回結(jié)果,onCanceled 表示用戶(hù)取消,onFailure 表示識(shí)別失敗,onDenied 表示相機(jī)不可用等場(chǎng)景。

private MLBcrCapture.Callback callback = new MLBcrCapture.Callback() { @Override public void onSuccess(MLBcrCaptureResult bankCardResult){ // 識(shí)別成功處理。 } @Override public void onCanceled(){ // 用戶(hù)取消處理。 } // 識(shí)別不到任何文字信息或識(shí)別過(guò)程發(fā)生系統(tǒng)異常的回調(diào)方法。 // retCode:錯(cuò)誤碼。 // bitmap:檢測(cè)失敗的卡證圖片。 @Override public void onFailure(int retCode, Bitmap bitmap){ // 識(shí)別異常處理。 } @Override public void onDenied(){ // 相機(jī)不支持等場(chǎng)景處理。 } };

2.2 設(shè)置識(shí)別參數(shù),調(diào)用識(shí)別器captureFrame接口進(jìn)行識(shí)別,識(shí)別結(jié)果會(huì)通過(guò)步驟1的回調(diào)函數(shù)返回。

private void startCaptureActivity(MLBcrCapture.Callback callback) { MLBcrCaptureConfig config = new MLBcrCaptureConfig.Factory() // 設(shè)置銀行卡識(shí)別期望返回的結(jié)果類(lèi)型。 // MLBcrCaptureConfig.SIMPLE_RESULT:僅識(shí)別卡號(hào)、生效期信息。 // MLBcrCaptureConfig.ALL_RESULT:識(shí)別卡號(hào)、生效期、發(fā)卡行和卡類(lèi)別等信息。 .setResultType(MLBcrCaptureConfig.RESULT_SIMPLE) // 設(shè)置識(shí)別界面橫豎屏,支持三種模式: // MLBcrCaptureConfig.ORIENTATION_AUTO: 自適應(yīng)模式,由物理感應(yīng)器決定顯示方向。 // MLBcrCaptureConfig.ORIENTATION_LANDSCAPE: 橫屏模式。 // MLBcrCaptureConfig.ORIENTATION_PORTRAIT: 豎屏模式。 .setOrientation(MLBcrCaptureConfig.ORIENTATION_AUTO) .create(); MLBcrCapture bankCapture = MLBcrCaptureFactory.getInstance().getBcrCapture(config); bankCapture.captureFrame(this, callback); }

2.3 在檢測(cè)按鈕的回調(diào)中,調(diào)用步驟2中定義的方法,實(shí)現(xiàn)銀行卡識(shí)別。

@Override public void onClick(View v) { switch (v.getId()) { // 檢測(cè)按鈕。 case R.id.detect: startCaptureActivity(callback); break; default: break; } }

Demo效果

給大家看下Demo效果:

github源碼

源碼已經(jīng)上傳github,大家也可以在github上一起完善該功能。
github源碼地址請(qǐng)戳

銀行卡識(shí)別demo代碼路徑:MLKit-Sample\module-text\src\main\java\com\mlkit\sample\activity\BankCardRecognitionActivity.java

更詳細(xì)的開(kāi)發(fā)指南參考華為開(kāi)發(fā)者聯(lián)盟官網(wǎng)

華為開(kāi)發(fā)者聯(lián)盟機(jī)器學(xué)習(xí)服務(wù)開(kāi)發(fā)指南

往期鏈接:

第一期:用華為HMS MLKit SDK 三十分鐘在安卓上開(kāi)發(fā)一個(gè)微笑抓拍神器
第二期:安卓開(kāi)發(fā)實(shí)戰(zhàn),用華為HMS MLKit 圖像分割 SDK開(kāi)發(fā)一個(gè)證件照DIY小程序
第三期:安卓開(kāi)發(fā)實(shí)戰(zhàn),用HMS MLKit華為機(jī)器學(xué)習(xí)服務(wù)開(kāi)發(fā)一個(gè)拍照翻譯小程序

下期預(yù)告

基于華為機(jī)器學(xué)習(xí)服務(wù),后面還會(huì)有一系列的實(shí)戰(zhàn)經(jīng)驗(yàn)分享,大家可以持續(xù)關(guān)注~

總結(jié)

以上是生活随笔為你收集整理的超简单集成华为HMS Core MLKit 机器学习服务银行卡识别SDK,一键实现银行卡绑定的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。