百度OCR 文字识别 Android安全校验

时间:2024-10-21 18:36:14

百度OCR接口使用总结:

之前总结一下关于百度OCR文字识别接口的使用步骤(Android版本 不带包名配置 安全性弱).这边博客主要介绍,百度OCR文字识别接口,官方推荐使用方式,授权文件(安全模式);

最终实现结果如下

百度OCR 文字识别 Android安全校验

注册百度账号

没有百度账号需要注册一个百度账号……

https://passport.baidu.com/v2/?reg

登录百度ai控制台

http://ai.baidu.com/

百度OCR 文字识别 Android安全校验

创建文字识别应用

百度OCR 文字识别 Android安全校验

填写相关信息(选择文字识别需要包名)

百度OCR 文字识别 Android安全校验

填写正确的包名

百度OCR 文字识别 Android安全校验

百度OCR 文字识别 Android安全校验

下载相关文件

下载sdk

https://ai.baidu.com/sdk#ocr

百度OCR 文字识别 Android安全校验

点击查看应用详情,下载License文件-Android(文字识别)

百度OCR 文字识别 Android安全校验百度OCR 文字识别 Android安全校验

新建工程

1.导入jar包及so文件

文件位置:
\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文件

将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工程。(如不需要,可跳过该步骤)

百度OCR 文字识别 Android安全校验

百度OCR 文字识别 Android安全校验

百度OCR 文字识别 Android安全校验

百度OCR 文字识别 Android安全校验

百度OCR 文字识别 Android安全校验

获取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.****.net/download/pyfysf/10916124

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

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

百度官方相应api文档地址

http://ai.baidu.com/docs#/OCR-API/top

http://ai.baidu.com/docs#/OCR-Android-SDK/top