IEMS_7_图像识别_1

目录

百度文字识别:

后端图片识别及信息提取:

配置:

方式一:添加依赖

方式二:添加jar包

调用识别接口:


百度文字识别:

调用百度文字识别库

获取资源:文字识别OCR (baidu.com)

先完成0元领取:

然后创建应用:

获取API Key和Secret Key;

前端传给后端的数据:

包括上传图片列表的图片的base64信息。

后端图片识别及信息提取:

配置:

方式一:添加依赖

在pom中添加依赖:

 

<dependency>
    <groupId>com.baidu.aip</groupId>
    <artifactId>java-sdk</artifactId>
    <version>${version}</version>
</dependency>

方式二:添加jar包

jar包下载:SDK下载_文字识别SDK_语音识别SDK-百度AI开放平台 (baidu.com)

 下载到的压缩包中共有四个,导入前三个即可(第四个与我们项目中需要用到的其他技术冲突了)

在后端项目中点击”项目结构“: 

 

 

调用识别接口:

import java.util.*;
import org.json.JSONObject;
import com.baidu.aip.ocr.AipOcr;
public class Sample {
    //设置APPID/AK/SK
    public static final String APP_ID = "你的 App ID";
    public static final String API_KEY = "你的 Api Key";
    public static final String SECRET_KEY = "你的 Secret Key";

    public static void main(String[] args) {
        // 初始化一个AipOcr
        AipOcr client = new AipOcr(APP_ID, API_KEY, SECRET_KEY);

        // 可选:设置网络连接参数
        client.setConnectionTimeoutInMillis(2000);
        client.setSocketTimeoutInMillis(60000);

        // 可选:设置代理服务器地址, http和socket二选一,或者均不设置
        client.setHttpProxy("proxy_host", proxy_port);  // 设置http代理
        client.setSocketProxy("proxy_host", proxy_port);  // 设置socket代理

        // 可选:设置log4j日志输出格式,若不设置,则使用默认配置
        // 也可以直接通过jvm启动参数设置此环境变量
        System.setProperty("aip.log4j.conf", "path/to/your/log4j.properties");

        // 调用接口
        String path = "test.jpg";
        JSONObject res = client.basicGeneral(path, new HashMap<String, String>());
        System.out.println(res.toString(2));
        
    }
}
public void sample(AipOcr client) {
    // 传入可选参数调用接口
    HashMap<String, String> options = new HashMap<String, String>();
    options.put("language_type", "CHN_ENG");
    options.put("detect_direction", "true");
    options.put("detect_language", "true");
    options.put("probability", "true");
    
    
    // 参数为本地图片路径
    String image = "test.jpg";
    JSONObject res = client.basicGeneral(image, options);
    System.out.println(res.toString(2));

    // 参数为本地图片二进制数组
    byte[] file = readImageFile(image);
    res = client.basicGeneral(file, options);
    System.out.println(res.toString(2));

    
    // 通用文字识别, 图片参数为远程url图片
    JSONObject res = client.basicGeneralUrl(url, options);
    System.out.println(res.toString(2));

}

 返回值:

字段必选类型说明
directionnumber图像方向,当detect_direction=true时存在。
- -1:未定义,
- 0:正向,
- 1: 逆时针90度,
- 2:逆时针180度,
- 3:逆时针270度
log_idnumber唯一的log id,用于问题定位
words_result_numnumber识别结果数,表示words_result的元素个数
words_resultarray定位和识别结果数组
+wordsstring识别结果字符串
probabilityobject行置信度信息;如果输入参数 probability = true 则输出
+averagenumber行置信度平均值
+variancenumber行置信度方差
+minnumber行置信度最小值

百度的文字识别提供多种方式的识别,有通用的文字识别、高精度版的文字识别、含生僻字的文字识别。我们只需要使用通用文字识别即可,获得的返回值是json形式的字符串,即可进行处理获得我们想要的数据。

难点:后端处理(识别不准确的情况)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值