百度OCR 文字識別 Android安全校驗

百度OCR接口使用總結:
以前總結一下關於百度OCR文字識別接口的使用步驟(Android版本 不帶包名配置 安全性弱).這邊博客主要介紹,百度OCR文字識別接口,官方推薦使用方式,受權文件(安全模式);android

最終實現結果以下web

效果預覽

註冊百度帳號

沒有百度帳號須要註冊一個百度帳號……
https://passport.baidu.com/v2/?regjson

登陸百度ai控制檯

http://ai.baidu.com/
ai登陸api

建立文字識別應用

建立應用

填寫相關信息(選擇文字識別須要包名)安全


填寫正確的包名
app

下載相關文件

下載sdk
https://ai.baidu.com/sdk#ocr
下載sdkide

點擊查看應用詳情,下載License文件-Android(文字識別)
在這裏插入圖片描述svg

新建工程

1.導入jar包及so文件ui

文件位置:
	\aip-ocr-android-sdk-1.4.4\aip-ocr-android-sdk-1.4.4\libs\ocr-sdk.jar
	
	將libs目錄下armeabi,arm64-v8a,armeabi-v7a,x86文件夾按需添加到android studio工程src/main/jniLibs目錄中

2.導入License文件this

將License文件添加到assets文件夾裏面

3.添加相應的權限

<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"/>

4.如需使用UI模塊,導入ocr-ui工程。(如不須要,可跳過該步驟)


獲取token代碼

private void getToken() {

        OCR.getInstance(mContext).initAccessToken(new OnResultListener<AccessToken>() {
            @Override
            public void onResult(AccessToken result) {
                // 調用成功,返回AccessToken對象
                final String token = result.getAccessToken();

                Log.e("MainActivity", "MainActivity onResult()" + token);

                mToken = token;
            }

            @Override
            public void onError(OCRError error) {
                // 調用失敗,返回OCRError子類SDKError對象
                error.printStackTrace();
            }
        }, getApplicationContext());

    }

識別圖片文字

public void getData(String filePath) {


        if (TextUtils.isEmpty(this.mToken)) {
            getToken();
        }

        // 通用文字識別參數設置
        GeneralBasicParams param = new GeneralBasicParams();
        param.setDetectDirection(true);
        param.setImageFile(new File(filePath));

        final StringBuffer sb = new StringBuffer();

		// 調用通用文字識別服務
        OCR.getInstance(this).recognizeGeneralBasic(param, new OnResultListener<GeneralResult>() {
            @Override
            public void onResult(GeneralResult result) {
                // 調用成功,返回GeneralResult對象
                for (WordSimple wordSimple : result.getWordList()) {
                    // wordSimple不包含位置信息
                    WordSimple word = wordSimple;
                    sb.append(word.getWords());
                    sb.append("\n");
                }
                // json格式返回字符串
                //listener.onResult(result.getJsonRes());

                Log.e("MainActivity", "MainActivity onResult()    ::" + sb.toString());


                Message msg = Message.obtain();
                msg.what = 100;
                msg.obj = sb.toString();
                mHandler.sendMessage(msg);
            }

            @Override
            public void onError(OCRError error) {
                // 調用失敗,返回OCRError對象
                int errorCode = error.getErrorCode();
                Log.e("MainActivity", "MainActivity onError()    ::" + errorCode);

                error.printStackTrace();
            }
        });
}
demo下載連接

https://download.csdn.net/download/pyfysf/10916124
https://download.csdn.net/download/pyfysf/10916124
https://download.csdn.net/download/pyfysf/10916124

百度官方相應api文檔地址
http://ai.baidu.com/docs#/OCR-API/top
http://ai.baidu.com/docs#/OCR-Android-SDK/top

相關文章
相關標籤/搜索