OCR文字识别

这篇博客介绍了如何利用百度OCR服务进行文字识别。通过创建应用获取API Key和Secret Key,将提供的util类集成到项目中,实现了对指定图片的文字识别。文章还展示了识别过程和结果,并提醒读者可以查看应用的调用统计。
摘要由CSDN通过智能技术生成

OCR文字识别

以百度OCR为例,自己可简单实现相关逻辑,官方链接地址:https://cloud.baidu.com/product/ocr
可直接点击进去在这里插入图片描述
点击‘立即使用’按钮,跳转下个页面。
在这里插入图片描述
点击‘领取免费资源’按钮,跳转下个页面。
在这里插入图片描述
根据自己的需求选择不同的服务接口。在这里插入图片描述
领取完成后,返回控制台。
在这里插入图片描述
点击创建应用,进入后,输入:应用名称,起名可根据需求起名,比如:文字识别。接口选择已经默认选择完成,由于我们要弄一个文字识别,所以其他的接口不用选择
在这里插入图片描述
文字识别包名:不需要,应用归属选择:个人,应用描述:输入要做什么的就可以了,点击‘立即创建’按钮就可以了
在这里插入图片描述
API Key 和 Secret Key是刚才按照上面创建步骤来的应用的值,点击下面‘管理应用’按钮,

在这里插入图片描述
在这里插入图片描述
点击管理应用,可以看到创建好的应用的API Key的值和Secret Key的值,复制到下方代码里去就可以了,然后把util的三个类放到自己项目里就可以,分别是Base64Util、FileUtil、HttpUtil,下方的代码是直接复制可用到项目里的,只需要改变API Key的值和Secret Key的值即可。。。
另外改一下下方代码中本地文件路径改为自己的本地路径

import com.bootdo.test.Util.Base64Util;
import com.bootdo.test.Util.FileUtil;
import com.bootdo.test.Util.HttpUtil;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;
import java.util.Map;


import java.net.URLEncoder;

/**
 * Created by Lenovo on 2021/8/18.
 */
public class AuthService {
   

    /**
     * 获取权限token
     * @return 返回示例:
     * {
     * "access_token": "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567",
     * "expires_in": 2592000
     * }
     */
    public static String getAuth() {
   
        // 官网获取的 API Key 更新为你注册的
        String clientId = "API Key";
        // 官网获取的 Secret Key 更新为你注册的
        String clientSecret = "Secret Key";
        return getAuth(clientId, clientSecret);
    }

    /**
     * 获取API访问token
     * 该token有一定的有效期,需要自行管理,当失效时需重新获取.
     * @param ak - 百度云官网获取的 API Key
     * @param sk - 百度云官网获取的 Securet Key
     * @return assess_token 示例:
     * "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567"
     */
    public static String getAuth(String ak, String sk) {
   
        // 获取token地址
        String authHost = "https://aip.baidubce.com/oauth/2.0/token?";
        String getAccessTokenUrl = authHost
                // 1. grant_type为固定参数
                + "grant_type=client_credentials"
                // 2. 官网获取的 API Key
                + "&client_id=" + ak
                // 3. 官网获取的 Secret Key
                + "&client_secret=" + sk;
        try {
   
            //读取url,将url转化 url对象  sun-jsh
            URL realUrl = new URL(getAccessTokenUrl);
            // 打开和URL之间的连接    openConnection:表示到 URL 所引用的远程对象的连接 sun-jsh
            HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();
            //连接设置:请求方式、编码格式、请求头等   sun-jsh
            connection.setRequestMethod("GET");
            //建立HttpURLConnection连接  连接url的网络,请求行url、请求头的设置必须放在网络连接前  sun-jsh
            connection.connect();
            // 获取所有响应头字段
            Map<String, List<String>> map = connection.getHeaderFields();

            // 遍历所有的响应头字段
            for (String key : map.keySet()) {
   
                System.err.println(key + "--->" + map.get(key));
            }
            // 定义 BufferedReader输入流来读取URL的响应
            BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String result = "";
            String line;
            while ((line = in.readLine()) != null) {
   
                result += line;
            }
            /**
             * 返回结果示例
             */
            System.err.println("result:" + result);
            JSONObject jsonObject = new JSONObject(result);
            String access_token = jsonObject.getString("access_token");
            return access_token;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值