第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 接入百度智能云文字识别OCR记录

接入百度智能云文字识别OCR记录

时间:2021-05-03 16:11:26

相关推荐

接入百度智能云文字识别OCR记录

文字识别OCR版本:1.4.4

百度智能云

通用文字识别

文档地址

下载地址

下载的文件内容

一、到百度智能云登录创建应用

1.登录后点击 控制台 — 左侧产品服务 — 选择文字识别 — 创建应用 — 输入应用信息,选择需要使用的接口,创建应用。

最好填写文字识别包名,防止API Key,Secret Key泄露使用账号的调用量

3.创建成功后,会生成应用信息,包括AppID、API Key、Secret Key,请妥善保存,这些信息会在应用使用功能时初始化使用。

4.点击下载SDK,跳转页面下载

二、导入module

1.File — New — Import Module

2.点击 … 选择Module

3.选择下载的资源文件中的 ocr_ui

4.点击finish

5.可能需要修改build版本

点击update修改

或者手动修改 buildToolsVersion 达到Android Studio最低要求版本即可

6.在build.gradle 中添加代码

compile project(':ocr_ui')

三、导入jar包

1.找到jar包,jar包位置在下载的资源文件的libs文件夹中

2.复制到项目的libs文件下(在app文件下,和src同级)

3.右键jar包 — Add As Library

4.点击 OK

5.查看build.gradle 是否导入成功

build.gradle 代码

四、so文件导入

1.找到jniLibs文件夹(在app — src — main文件下 和java文件夹同级)没有创建一个文件夹

2.复制下载的资源文件中libs文件夹中的arm64-v8a、armeabi、armeabi-v7a、x86文件夹到项目中jniLibs

文件夹中

五、在AndroidManifest.xml文件中添加代码,用于访问权限

<!--网络权限--><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"/>

六、代码中,初始化SDK,调用提供UI界面完成文字识别功能

1.初始化SDK

hasGotToken 为 boolean字段

OCR.getInstance(this).initAccessTokenWithAkSk(new OnResultListener<AccessToken>() {@Overridepublic void onResult(AccessToken result) {//初始化成功String token = result.getAccessToken();//判断初始化是否成功字段hasGotToken = true;}@Overridepublic 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() {@Overridepublic 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);}});

在识别成功后的返回页面操作

@Overrideprotected 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() {@Overridepublic void onResult(String result) {//返回识别文字,对文字进行处理}});}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。