文字识别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) {//返回识别文字,对文字进行处理}});}}