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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

调用百度ORC识别

發(fā)布時間:2023/12/18 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 调用百度ORC识别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

sdk的包含的UI部分和demo工程以Android Studio方式提供,sdk部分則可以較方便的集成到eclipse工程中。

前往SDK下載頁面下載Android SDK壓縮包。
(必須)將下載包libs目錄中的ocr-sdk.jar文件拷貝到工程libs目錄中,并加入工程依賴。
(必須)將libs目錄下armeabi,arm64-v8a,armeabi-v7a,x86文件夾按需添加到android studio工程src/main/jniLibs目錄中, eclipse用戶默認(rèn)為libs目錄。
(可選)如果需要使用UI模塊,請在Android studio中以模塊方式導(dǎo)入下載包中的ocr-ui文件夾。
為您自己的工程添加必要的權(quán)限
如果您在自己的工程中集成SDK,請確保已經(jīng)在工程AndroidManifest.xml文件中添加如下權(quán)限:

<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Proguard配置
如果您在自己的工程中集成SDK,請在Proguard配置文件中增加, 防止release發(fā)布時打包報錯:

-keep class com.baidu.ocr.sdk.**{*;} -dontwarn com.baidu.ocr.**

身份驗證與安全
百度AI開放平臺使用OAuth2.0授權(quán)調(diào)用開放API,調(diào)用API時必須在URL中帶上accesss_token參數(shù)。AccessToken可用AK/SK或者授權(quán)文件的方式獲得。安卓SDK中已經(jīng)為您做了封裝,當(dāng)初始化完畢后,所有API請求會自動帶上accesss_token參數(shù),您也可以通過initAccessTokenWithAkSk,initAccessToken這兩個函數(shù)的回調(diào)中查看。

OCR Android SDK提供了以下2種AccessToken管理方法.

API Key / Secret Key
此種身份驗證方案使用AK/SK獲得AccessToken。

雖然SDK對網(wǎng)絡(luò)傳輸?shù)拿舾袛?shù)據(jù)進(jìn)行了二次加密,但由于AK/SK是明文填寫在代碼中,在移動設(shè)備中可能會存在AK/SK被盜取的風(fēng)險。有安全考慮的開發(fā)者可使用第二種授權(quán)方案。

使用步驟:

1.在管理控制臺中新建一個OCR應(yīng)用,并且請?zhí)顚懻_的包名


2.在***應(yīng)用詳情***頁面查看并復(fù)制應(yīng)用的Api Key(簡稱AK) 和 Secret Key(簡稱SK),初始化OCR單例:(要在你調(diào)用的頁面初始化

OCR.getInstance(context).initAccessTokenWithAkSk(new OnResultListener<AccessToken>() {@Overridepublic void onResult(AccessToken result) {// 調(diào)用成功,返回AccessToken對象String token = result.getAccessToken();}@Overridepublic void onError(OCRError error) {// 調(diào)用失敗,返回OCRError子類SDKError對象} }, getApplicationContext(), "您的應(yīng)用AK", "您的應(yīng)用SK");

由于AK/SK是明文填寫在代碼中,在移動設(shè)備中可能會存在AK/SK被盜取的風(fēng)險。有安全考慮的開發(fā)者可使用第二種授權(quán)方案。

授權(quán)文件(安全模式)
此種身份驗證方案使用授權(quán)文件獲得AccessToken,緩存在本地。建議有安全考慮的開發(fā)者使用此種身份驗證方式。

在您的移動APP分發(fā)出去之后,APP存在被反編譯的可能,所以直接將AK / SK 置于APP源碼之中,存在被盜取的風(fēng)險。采用授權(quán)文件的身份驗證方法,可有效保護(hù)AK/SK在移動設(shè)備中的安全。攻擊者即使攔截了流量,盜取了授權(quán)文件,也難以盜用您的配額。

使用步驟:
1.在官網(wǎng)中配置應(yīng)用


2.在***應(yīng)用詳情***頁面下載對應(yīng)應(yīng)用的授權(quán)文件

3.將授權(quán)文件添加至工程assets文件夾,文件名必須為aip.license
4.調(diào)用initAccessToken方法,初始化OCR單例:(要在你調(diào)用的頁面初始化

OCR.getInstance(context).initAccessToken(new OnResultListener<AccessToken>() {@Overridepublic void onResult(AccessToken result) {// 調(diào)用成功,返回AccessToken對象String token = result.getAccessToken();}@Overridepublic void onError(OCRError error) {// 調(diào)用失敗,返回OCRError子類SDKError對象} }, getApplicationContext());

OCR-UI模塊調(diào)用示例
調(diào)用拍攝activity,更詳細(xì)的類別請參考demo工程

// 生成intent對象 Intent intent = new Intent(IDCardActivity.this, CameraActivity.class);// 設(shè)置臨時存儲 intent.putExtra(CameraActivity.KEY_OUTPUT_FILE_PATH, FileUtil.getSaveFile(getApplication()).getAbsolutePath());// 調(diào)用除銀行卡,身份證等識別的activity intent.putExtra(CameraActivity.KEY_CONTENT_TYPE, CameraActivity.CONTENT_TYPE_GENERAL); startActivityForResult(intent, REQUEST_CODE_CAMERA); // 通過參數(shù)確定接口類型 startActivityForResult(intent, REQUEST_CODE_GENERAL_BASIC);// 調(diào)用拍攝銀行卡的activity intent.putExtra(CameraActivity.KEY_CONTENT_TYPE, CameraActivity.CONTENT_TYPE_BANK_CARD); startActivityForResult(intent, REQUEST_CODE_CAMERA);// 調(diào)用拍攝身份證正面(不帶本地質(zhì)量控制)activity intent.putExtra(CameraActivity.KEY_CONTENT_TYPE, CameraActivity.CONTENT_TYPE_ID_CARD_FRONT); startActivityForResult(intent, REQUEST_CODE_CAMERA);// 調(diào)用身份證本識別(帶本地質(zhì)量控制)activityIntent intent = new Intent(IDCardActivity.this, CameraActivity.class); // 使用本地質(zhì)量控制能力需要授權(quán),需要在OCR調(diào)用initAccessToken或者 // initAccessTokenWithAkSk成功返回后才能獲取License授權(quán)本地質(zhì)量控制能力 intent.putExtra(CameraActivity.KEY_NATIVE_TOKEN,OCR.getInstance(context).getLicense()); // 使用本地質(zhì)量控制能力需要設(shè)置開啟 intent.putExtra(CameraActivity.KEY_NATIVE_ENABLE,true); // 開啟身份證正面本地識別 intent.putExtra(CameraActivity.KEY_CONTENT_TYPE, CameraActivity.CONTENT_TYPE_ID_CARD_FRONT);

通過onActivityResult獲取拍攝結(jié)果,更詳細(xì)的類別請參考demo工程

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {// 獲取調(diào)用參數(shù)String contentType = data.getStringExtra(CameraActivity.KEY_CONTENT_TYPE);// 通過臨時文件獲取拍攝的圖片String filePath = FileUtil.getSaveFile(getApplicationContext()).getAbsolutePath();// 判斷拍攝類型(通用,身份證,銀行卡等)if (requestCode == REQUEST_CODE_GENERAL && resultCode == Activity.RESULT_OK) {// 判斷是否是身份證正面if (CameraActivity.CONTENT_TYPE_ID_CARD_FRONT.equals(contentType)){// 獲取圖片文件調(diào)用sdk數(shù)據(jù)接口,見數(shù)據(jù)接口說明}} }

總結(jié)

以上是生活随笔為你收集整理的调用百度ORC识别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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