java调用百度ocr接口实现文字识别(代码片段)

彭祥. 彭祥.     2023-02-19     261

关键词:

博主在项目开发中需要完成一个文字识别功能,由于之前有过使用百度云平台接口进行身份证识别的经历,因此这次也是自然而然的再次选择了百度AI平台,首先需要开通百度通用文字识别功能。

然后我们需要创建一个应用:

然后我们就可以进行我们的接口调用了,博主选择的开发语言是JAVA,首先我们进行该接口的调用:

package util;
import util.Base64Util;
import util.FileUtil;
import util.HttpUtil;
import java.net.URLEncoder;
public class Ocr 
public static String generalBasic() 
     // 请求url
     String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic";
     try 
         // 本地文件路径
         String filePath = "D:/Desk/1.png";
         byte[] imgData = FileUtil.readFileByBytes(filePath);
         String imgStr = Base64Util.encode(imgData);
         String imgParam = URLEncoder.encode(imgStr, "UTF-8");

         String param = "image=" + imgParam;
         
         // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
         String accessToken = GetToken.getAuth();

         String result = HttpUtil.post(url, accessToken, param);
         System.out.println(result);
         return result;
      catch (Exception e) 
         e.printStackTrace();
     
     return null;
 

 public static void main(String[] args) 
	 Ocr.generalBasic();
 

然后注意我们需要获取accessToken,这里我们动态获取

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;
public class GetToken 
	
    public static String getAuth() 
        // 官网获取的 API Key 更新为你注册的
        String clientId = "";
        // 官网获取的 Secret Key 更新为你注册的
        String clientSecret = "";
        return getAuth(clientId, clientSecret);
    


    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 realUrl = new URL(getAccessTokenUrl);
            // 打开和URL之间的连接
            HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();
            connection.setRequestMethod("GET");
            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;
         catch (Exception e) 
            System.err.printf("获取token失败!");
            e.printStackTrace(System.err);
        
        return null;
    

此外其余的几个包文件:Base64Util.java等,这几个文件官方提供了下载地址:

  • FileUtil,Base64Util,HttpUtil,GsonUtils请从
  • https://ai.baidu.com/file/658A35ABAB2D404FBF903F64D47C1F72
  • https://ai.baidu.com/file/C8D81F3301E24D2892968F09AE1AD6E2
  • https://ai.baidu.com/file/544D677F5D4E4F17B4122FBD60DB82B3
  • https://ai.baidu.com/file/470B3ACCA3FE43788B5A963BF0B625F3
  • 下载
    至此便完成了,我们简单测试一下:

    识别成功,接下来便是转换数据格式,提取出我们所需要的信息。

百度ocr文字识别接口使用(代码片段)

最近有个需求需要识别图片中的文字,所以就用到了百度的ocr接口,结果在测试的过程中被图片格式搞的有点晕,试了好久终于成功了,在此记录一下。附ocr接口文档地址:https://cloud.baidu.com/doc/OCR/OCR-API.html#.E8.BF.94.E5.9B.9E.E8.AF.B4... 查看详情

调用百度ai接口实现图片文字识别技术demo(代码片段)

一、第一步,到https://console.bce.baidu.com/二、创建应用三、pom.xml里面加入依赖org.jsonjson20160810<!--https://mvnrepository.com/artifact/log4j/log4j--><dependency><groupId>log4j</groupId>&l 查看详情

基于百度ocr提取图像中的文本(代码片段)

...别应用。应用中的APP_ID、API_KEY、SECRET_KEY三个字段在后续调用服务的时候需要用到。pythonSDK使用OCR服务百度OCR服务提供了API接口,用户可以通过构建post请求使用OCR服务。SDK方面,支持java、python、php、c等主流语言,本节主要描述p... 查看详情

基于百度ocr提取图像中的文本(代码片段)

...别应用。应用中的APP_ID、API_KEY、SECRET_KEY三个字段在后续调用服务的时候需要用到。pythonSDK使用OCR服务百度OCR服务提供了API接口,用户可以通过构建post请求使用OCR服务。SDK方面,支持java、python、php、c等主流语言,本节主要描述p... 查看详情

借助百度ocr,实现一键识别图片中文字,就是这么酷!

转眼已是凌晨两点,还好通过java根据百度提供的OCR接口,实现了一个有趣的小应用:一键识别图片中文字经过一个小时的反复测试,没想到识别确实很高,而且,居然还可以识别稍微复杂的验证码比如: 主要为了方便了自... 查看详情

openharmony集成ocr三方库实现文字提取(代码片段)

...以下简称“OpenHarmony”)上,并新增N-API接口供上层应用调用,这样上层应用就可以使用Tesseract提供的相关功能。二、效果展示动物图片识别文字身份信息识别提取 查看详情

python实现ai图像识别-身份证识别(代码片段)

...#43;华为云OCR进行实现的。步骤申请华为云OCR接口获取token调用身份证识别接口提取身份证信息申请华为云OCR接口图像识别主要使 查看详情

免费-开源-简洁天若ocr文字识工具使用介绍(代码片段)

...2pojie.cn/thread-1035888-1-1.html使用方法实战测试文字识别效果百度文库截图识别右侧窗口内的信息为识别到的文库的内容,对比可以发现和左侧百度文库里面的内容一致,没有错误。虽然是本地版,但是你也可以自己添加... 查看详情

印刷文字识别-身份证(代码片段)

...公司阿里,腾讯、百度都有提供身份证识别接口。那就走调用第三方的方法吧。我选择了阿里。前提:1、需要申请一个阿里账号 查看详情

使用百度ocr接口识别验证码(代码片段)

1#!/usr/bin/envpython2#createdbyBaird34fromaipimportAipOcr56defGetCaptchaV(filename):7APP_ID=‘1X4X8X4X‘8API_KEY=‘YaVcqamctoYqRHNGAqwVbn97UO‘9SECRET_KEY=‘C1926rIqGstqPHTUFa6sz481fjDua2pv‘1011client=Aip 查看详情

批量识别图中文字自动命名,让你1秒找到骚图(代码片段)

...这些库识别图片中的文字的成功率不是很高,所有我准备调用一下第三方的一些库。我看了一下百度有个文字识别的API接口。我们需要在下面地址注册应用。https://ai.baidu.com/tech/ocr我们在文字识别里面去创建一个应用,选择图片... 查看详情

python调用百度ai实现文字识别(代码片段)

...今天我们也来高大上一下,玩一把人工智能。那就是免费调用百度AI实现图片上面的文字识别。相对于Python的第三方库,百度人工智能要更强大,毕竟人工智能不是那么容易搞的。要调用,其实很简单,关键的代码只需要三行。... 查看详情

python调用百度ai对颜值评分(代码片段)

...的朋友,可以看本文的后续实现代码。    二、调用百度接口进行人脸属性识别  安装好baidu-aip模块,获取了百度AI接口密钥后,即可调用百度接口进行人脸属性识别了。首先以杨紫的图片为例进行年龄、性别... 查看详情

天若ocr专业版59元值得吗

...第三方平台的接口,相当于软件本身是个工具箱可以快速调用各平台接口。例如当你使用天若OCR进行截图时可以设置自动进行识别,将截图中包含的文字内容识别出来甚至直接翻译排版。此外天若OCR还支持截图功能并支持在截图上... 查看详情

qt+百度ai文字识别ocr小工具

基于百度AI开放平台的OCR文字识别小工具,用Qt5编写。实现通用识别,精准识别,表格识别,身份证识别等常用OCR功能。Qt+百度AI文字识别mOCR小工具@目录Qt+百度AI文字识别mOCR小工具介绍编译环境界面功能To-doList介绍基于百度AI开... 查看详情

tesseract-ocr+java实现图片文字识别(代码片段)

  ocr是OpticalCharacterRecognition的简写,就是光学字符识别技术。主要是对包含文本资料的图片进行识别,获取文本信息的技术。  目前tesseract-ocr这个工具可以很方便的在Windows、Linux、Mac下安装。  windows下的安装链接࿱... 查看详情

项目管理javaocr实现图片文字识别(代码片段)

【项目管理】JavaOCR实现图片文字识别1.项目前言1.1项目需求1.2OCR引擎选择1.3Tess4j介绍2.项目实现2.1项目搭建2.2主要实现代码3.效果演示3.1中文识别3.1.1需要识别的图片3.1.2识别过程3.1.3识别结果3.1.4总结3.2英文识别3.2.1需要识别的图... 查看详情

用python写一个图像文字识别ocr工具(代码片段)

...①安装框架②安装PaddleOCR③测试安装是否成功④在python中调用界面部分1.界面布局设计2.利用pyuic自动生成界面代码3.编写界面业务类4.实现界面业务逻辑5.运行看看效果软件代码参考链接引言最近在技术交流群里聊到一个关于图像... 查看详情