百度OCR接口使用總結:
以前總結一下關於百度OCR文字識別接口的使用步驟(Android版本 不帶包名配置 安全性弱).這邊博客主要介紹,百度OCR文字識別接口,官方推薦使用方式,受權文件(安全模式);android
最終實現結果以下web
沒有百度帳號須要註冊一個百度帳號……
https://passport.baidu.com/v2/?regjson
填寫相關信息(選擇文字識別須要包名)安全
填寫正確的包名
app
下載sdk
https://ai.baidu.com/sdk#ocr
ide
點擊查看應用詳情,下載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(); } }); }
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