百度AI OCR识别接口


前几天使用百度的OCR识别接口,做了一个图片文字识别并转语音的程序,用Java实现的,这里分享下文字识别部分。、

SDK下载

到百度开放平台去下载SDK,创建应用,得到APP Key等信息,后续开发使用。

API使用

我使用的是maven构建项目,pom需要添加以下内容:

<dependency>
 <groupId>com.baidu.aip</groupId>
 <artifactId>java-sdk</artifactId>
 <version>4.10.0</version>
</dependency>

<dependency>
 <groupId>org.slf4j</groupId>
 <artifactId>slf4j-nop</artifactId>
 <version>1.7.2</version>
</dependency>

根据百度的官方技术文档,首先要初始化一个OCR识别实例,语法如下:

AipOcr client = new AipOcr(APP_ID, API_KEY, SECRET_KEY);

其中APP_ID等信息是在后台管理页面获得的,之后设置待识别的图片路径,调用AipOcr类中的basicGeneral方法即可完成识别,返回的是一个Json:

JSONObject res = client.basicGeneral(path, new HashMap<String, String>());

上面的方法是通用识别,百度还提供了高精度识别,只需要用HashMap设置一下属性,然后传入basicGeneral方法即可,如简单调用高精度识别(无位置信息等):

//设置参数(高精度识别)
HashMap<String, String> options = new HashMap<String, String>();
options.put("detect_direction", "true");
options.put("probability", "false");
// 调用接口,返回JSON
JSONObject res = client.basicGeneral(path, options);

得到的res,调用toString(2)方法就可以得到Json字符串,如下:

{
 "log_id": 3433685329124946188,
 "words_result": [
 {"words": "当然,计算机将永远使用电子器件制造,因此研究人工智能的任务就"},
 {"words": "是找到新方法或新算法,使用新的工作方式,尝试求解这类相对困难的问"},
 {"words": "题。即使计算杋不能完美地解决这些问题,但是我们只要求计算机足够出"},
 {"words": "色,给人们留下一种印象,让人觉得这是智能在起作用。"}
 ],
 "words_result_num": 4
}

然后对Json进行解析,便可以得到相应的文字,关于Json的解析,下次再写。

声明:楓の街|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 百度AI OCR识别接口


Just For Fun...