文字识别OCR版本:1.4.4
百度智能云
通用文字识别
文档地址
下载地址
1.登录后点击 控制台 — 左侧产品服务 — 选择文字识别 — 创建应用 — 输入应用信息,选择需要使用的接口,创建应用。
最好填写文字识别包名,防止API Key,Secret Key泄露使用账号的调用量
3.创建成功后,会生成应用信息,包括AppID、API Key、Secret Key,请妥善保存,这些信息会在应用使用功能时初始化使用。
1.File — New — Import Module
2.点击 … 选择Module
3.选择下载的资源文件中的 ocr_ui
点击update修改
或者手动修改 buildToolsVersion 达到Android Studio最低要求版本即可
compile project(':ocr_ui')
1.找到jar包,jar包位置在下载的资源文件的libs文件夹中
2.复制到项目的libs文件下(在app文件下,和src同级)
3.右键jar包 — Add As Library
4.点击 OK
5.查看build.gradle 是否导入成功
1.找到jniLibs文件夹(在app — src — main文件下 和java文件夹同级)没有创建一个文件夹
2.复制下载的资源文件中libs文件夹中的arm64-v8a、armeabi、armeabi-v7a、x86文件夹到项目中jniLibs
文件夹中
<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"/>
1.初始化SDK
hasGotToken 为 boolean字段
OCR.getInstance(this).initAccessTokenWithAkSk(new OnResultListener<AccessToken>() {
@Override
public void onResult(AccessToken result) {
//初始化成功
String token = result.getAccessToken();
//判断初始化是否成功字段
hasGotToken = true;
}
@Override
public void onError(OCRError error) {
//初始化失败
Log.e("error",Log.getStackTraceString(error));
}
}, getApplicationContext(), "百度智能云中应用的API Key", "百度智能云中应用的Secret Key");
2.调用提供的文字识别UI,跳转页面
REQUEST_CODE_GENERAL_BASIC为int类型的字段 ,自定义值
// 通用文字识别
findViewById(R.id.general_basic_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//判断是否初始化成功,失败直接结束
if (!checkTokenStatus()) {
return;
}
//跳转文字识别页面,这里跳转的是他们提供的UI界面,识别完成后返回值
Intent intent = new Intent(MainActivity.this, CameraActivity.class);
intent.putExtra(CameraActivity.KEY_OUTPUT_FILE_PATH,
FileUtil.getSaveFile(getApplication()).getAbsolutePath());
intent.putExtra(CameraActivity.KEY_CONTENT_TYPE,
CameraActivity.CONTENT_TYPE_GENERAL);
startActivityForResult(intent, REQUEST_CODE_GENERAL_BASIC);
}
});
在识别成功后的返回页面操作
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// 识别成功回调,通用文字识别
if (requestCode == REQUEST_CODE_GENERAL_BASIC && resultCode == Activity.RESULT_OK) {
RecognizeService.recGeneralBasic(this, FileUtil.getSaveFile(getApplicationContext()).getAbsolutePath(),
new RecognizeService.ServiceListener() {
@Override
public void onResult(String result) {
//返回识别文字,对文字进行处理
}
});
}
}