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

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

生活随笔

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

编程问答

调用百度ORC识别

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

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

前往SDK下載頁(yè)面下載Android SDK壓縮包。
(必須)將下載包libs目錄中的ocr-sdk.jar文件拷貝到工程libs目錄中,并加入工程依賴。
(必須)將libs目錄下armeabi,arm64-v8a,armeabi-v7a,x86文件夾按需添加到android studio工程src/main/jniLibs目錄中, eclipse用戶默認(rèn)為libs目錄。
(可選)如果需要使用UI模塊,請(qǐng)?jiān)贏ndroid studio中以模塊方式導(dǎo)入下載包中的ocr-ui文件夾。
為您自己的工程添加必要的權(quán)限
如果您在自己的工程中集成SDK,請(qǐng)確保已經(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,請(qǐng)?jiān)赑roguard配置文件中增加, 防止release發(fā)布時(shí)打包報(bào)錯(cuò):

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

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

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

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

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

使用步驟:

1.在管理控制臺(tái)中新建一個(gè)OCR應(yīng)用,并且請(qǐng)?zhí)顚?xiě)正確的包名


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

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

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

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

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

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


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

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

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

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

// 生成intent對(duì)象 Intent intent = new Intent(IDCardActivity.this, CameraActivity.class);// 設(shè)置臨時(shí)存儲(chǔ) intent.putExtra(CameraActivity.KEY_OUTPUT_FILE_PATH, FileUtil.getSaveFile(getApplication()).getAbsolutePath());// 調(diào)用除銀行卡,身份證等識(shí)別的activity intent.putExtra(CameraActivity.KEY_CONTENT_TYPE, CameraActivity.CONTENT_TYPE_GENERAL); startActivityForResult(intent, REQUEST_CODE_CAMERA); // 通過(guò)參數(shù)確定接口類(lèi)型 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)用身份證本識(shí)別(帶本地質(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è)置開(kāi)啟 intent.putExtra(CameraActivity.KEY_NATIVE_ENABLE,true); // 開(kāi)啟身份證正面本地識(shí)別 intent.putExtra(CameraActivity.KEY_CONTENT_TYPE, CameraActivity.CONTENT_TYPE_ID_CARD_FRONT);

通過(guò)onActivityResult獲取拍攝結(jié)果,更詳細(xì)的類(lèi)別請(qǐng)參考demo工程

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

總結(jié)

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

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