百度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