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

文字识别OCR版本:1.4.4

百度智能云

通用文字识别

文档地址

下载地址

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

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

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

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

创建应用

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

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

下载图片2

二、导入module

1.File — New — Import Module
导入module图片1
2.点击 … 选择Module
导入module图片2
3.选择下载的资源文件中的 ocr_ui

导入module图片3
4.点击finish
导入module图片4
5.可能需要修改build版本

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

修改2
6.在build.gradle 中添加代码

compile project(':ocr_ui')

三、导入jar包

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

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

3.右键jar包 — Add As Library
导入jar包2
4.点击 OK
导入jar包3
5.查看build.gradle 是否导入成功

导入jar包4

build.gradle 代码
build.gradle

四、so文件导入

1.找到jniLibs文件夹(在app — src — main文件下 和java文件夹同级)没有创建一个文件夹
jniLibs文件夹1
2.复制下载的资源文件中libs文件夹中的arm64-v8a、armeabi、armeabi-v7a、x86文件夹到项目中jniLibs
文件夹中

jniLibs文件夹2

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


    }
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
百度智能提供了丰富的图像识别API,包括OCR文字识别和图像识别等。可以使用Python的requests库和百度智能提供的API接口进行图像识别。 具体步骤如下: 1. 在百度智能控制台创建应用,获取API Key和Secret Key。 2. 安装requests库,使用API Key和Secret Key生成Access Token。 3. 使用Access Token和API接口对图像进行识别,获取识别结果。 示例代码如下: ```python import requests import base64 # 获取Access Token def get_access_token(api_key, secret_key): url = 'https://aip.baidubce.com/oauth/2.0/token' params = { 'grant_type': 'client_credentials', 'client_id': api_key, 'client_secret': secret_key, } response = requests.post(url, params=params) if response: access_token = response.json()['access_token'] return access_token else: return None # OCR文字识别 def ocr_text_recognition(image_path, access_token): url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic' with open(image_path, 'rb') as f: image_data = f.read() image_base64 = base64.b64encode(image_data).decode('utf-8') data = {'image': image_base64} headers = {'Content-Type': 'application/x-www-form-urlencoded'} params = {'access_token': access_token} response = requests.post(url, params=params, headers=headers, data=data) if response: result = response.json()['words_result'] return result else: return None # 物体识别 def object_detection(image_path, access_token): url = 'https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general' with open(image_path, 'rb') as f: image_data = f.read() image_base64 = base64.b64encode(image_data).decode('utf-8') data = {'image': image_base64} headers = {'Content-Type': 'application/x-www-form-urlencoded'} params = {'access_token': access_token} response = requests.post(url, params=params, headers=headers, data=data) if response: result = response.json()['result'] return result else: return None if __name__ == '__main__': # 替换为自己的API Key和Secret Key api_key = 'your_api_key' secret_key = 'your_secret_key' # 获取Access Token access_token = get_access_token(api_key, secret_key) # 图像识别 image_path = 'test.jpg' text_result = ocr_text_recognition(image_path, access_token) object_result = object_detection(image_path, access_token) # 输出识别结果 print(text_result) print(object_result) ``` 以上代码演示了如何使用Python和百度智能API实现OCR文字识别和物体识别。可以根据自己的需求修改API接口和参数,实现更多功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值