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

文字识别OCR版本:1.4.4

百度智能云

通用文字识别

文档地址

下载地址

下载的文件内容
解压后资源文件结构

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

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

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

接入百度智能云文字识别OCR记录_第1张图片

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

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

接入百度智能云文字识别OCR记录_第2张图片

二、导入module

1.File — New — Import Module
接入百度智能云文字识别OCR记录_第3张图片
2.点击 … 选择Module
接入百度智能云文字识别OCR记录_第4张图片
3.选择下载的资源文件中的 ocr_ui

接入百度智能云文字识别OCR记录_第5张图片
4.点击finish
接入百度智能云文字识别OCR记录_第6张图片
5.可能需要修改build版本

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

接入百度智能云文字识别OCR记录_第7张图片
6.在build.gradle 中添加代码

compile project(':ocr_ui')

三、导入jar包

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

2.复制到项目的libs文件下(在app文件下,和src同级)
接入百度智能云文字识别OCR记录_第8张图片

3.右键jar包 — Add As Library
接入百度智能云文字识别OCR记录_第9张图片
4.点击 OK
接入百度智能云文字识别OCR记录_第10张图片
5.查看build.gradle 是否导入成功

导入jar包4

build.gradle 代码
接入百度智能云文字识别OCR记录_第11张图片

四、so文件导入

1.找到jniLibs文件夹(在app — src — main文件下 和java文件夹同级)没有创建一个文件夹
接入百度智能云文字识别OCR记录_第12张图片
2.复制下载的资源文件中libs文件夹中的arm64-v8a、armeabi、armeabi-v7a、x86文件夹到项目中jniLibs
文件夹中

接入百度智能云文字识别OCR记录_第13张图片

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


    }

你可能感兴趣的:(Android,安卓)