上篇《Java 使用 Tess4J 实现图片识别文字》一文中虽然图片可以识别中文,但是达不到预期的效果,所以今天抽出时间来整理记录一下关于百度云OCR,相对于Tess4J来说,识别度还可以

注册百度AI的账号,具体参照 百度AI开放平台-全球领先的人工智能服务平台-百度AI开放平台 获取密钥

1、下载java 文字识别SDK SDK下载_文字识别SDK_语音识别SDK-百度AI开放平台

2、获取access_token

package com.scanner.baiduyun.ocr;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 com.alibaba.fastjson.JSONObject;/*** 获取token类* @author DevinLau*/
public class AuthService {/*** 获取权限token* @return 返回示例:* {* "access_token": "24.c9303e47f0729c40f2bc2be6f8f3d589.2592000.1530936208.282335-1234567",* "expires_in":2592000* }*/public static String getAuth() {// 官网获取的 API KeyString clientId = "注册的api key";// 官网获取的 Secret KeyString clientSecret = "注册的secret key";return getAuth(clientId, clientSecret);}/*** 获取API访问token* 该token有一定的有效期,需要自行管理,当失效时需重新获取.* @param ak - 百度云的 API Key* @param sk - 百度云的 Securet Key* @return assess_token 示例:* "24.c9303e47f0729c40f2bc2be6f8f3d589.2592000.1530936208.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 realUrl = new URL(getAccessTokenUrl);// 打开和URL之间的连接HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();connection.setRequestMethod("POST");//百度推荐使用POST请求connection.connect();// 获取所有响应头字段Map<String, List<String>> map = connection.getHeaderFields();// 定义 BufferedReader输入流来读取URL的响应BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));String result = "";String line;while ((line = in.readLine()) != null) {result += line;}JSONObject jsonObject = JSONObject.parseObject(result.toString());String access_token = jsonObject.getString("access_token");return access_token;} catch (Exception e) {e.printStackTrace(System.err);}return null;}}

3、通用识别代码

package com.scanner.baiduyun.ocr;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import com.baidu.aip.util.Base64Util;
import com.scanner.entity.PRD;
import com.scanner.utils.SimilarityRatio;/*** @author DevinLau**/
public class General {/*** 识别图片文字返回与实体最匹配的标题* @param filePath 图片路径* @return*/public  String  IdentifyImg(String filePath){// 通用识别urlString otherHost = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic";try {InputStream in;byte[] data = null;// 读取图片字节数组try {in = new FileInputStream(filePath);data = new byte[in.available()];in.read(data);in.close();} catch (IOException e) {e.printStackTrace();}String imgStr = Base64Util.encode(data);String params = URLEncoder.encode("image", "UTF-8") + "=" + URLEncoder.encode(imgStr, "UTF-8");//线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。String accessToken = AuthService.getAuth();//#####调用鉴权接口获取的token#####//开始搭建post请求return  HttpUtil.post(otherHost, accessToken, params);} catch (Exception e) {e.printStackTrace();}return null;}}

代码中使用的工具类下载  FileUtil ,Base64Util ,HttpUtil

以上就是本文的全部内容,希望对大家的学习有所帮助,欢迎评论交流。能get到知识点不要忘了关注点个赞~ 拒绝白嫖从我们做起hh~

百度云OCR图片文字识别实现相关推荐

  1. 阿里云 OCR 图片文字识别接口使用案例(java)

    阿里云 OCR 图片文字识别接口使用案例(java) 阿里云官方接口文档 前期需要完成 购买阿里云服务 购买服务 可以购买测试服务.每个阿里云用户可以购买1次免费的500次接口请求进行测试 购买完成之 ...

  2. 阿里云OCR图片文字识别(精确识别)

    根据需求通过composer下载SDK包 备注:composer 安装SDK包有问题可以指定版本进行升级 (去掉版本号前的^符可以指定版本升级) 代码实现: /*** 图片文字识别* @return ...

  3. 用C#SDK实现百度云OCR的文字识别

    最近项目要用到文字识别功能,所以花了几天时间整理了一下.今天就记录一下用C#实现文字识别的过程.(因为是刚接触OCR,所以发的是一些较详细的小白教程) 一.登录百度云进入控制台界面,创建应用获取秘钥. ...

  4. 一篇文章搞定百度OCR图片文字识别API

    一篇文章搞定百度OCR图片文字识别API https://www.jianshu.com/p/7905d3b12104 转载于:https://www.cnblogs.com/chongdongxia ...

  5. TOOLFK工具-在线OCR图片文字识别工具

    本文要推荐的[TOOLFK]在线OCR图片文字识别工具 ,提供图像文字识别,提取图片文字,OCR图片文字识别,图片转文字,把图片拖拽到上传框中自动上传识别,图片文件最大3M 網站名稱:ToolFk 網 ...

  6. OCR图片文字识别,人工手动图片标注软件安装过程

    OCR图片文字识别,人工手动图片标注软件安装过程,本章关注标注软件的安装,启动过程 1. 下载 anaconda anaconda  下载慢的问题: 使用国内镜像地址下载: https://mirro ...

  7. Android集成百度OCR图片文字识别——总结

    近期由于工作内容的需要,我要给项目集成一个图片文字识别功能,据说百度的不错,所以今天写一个关于百度OCR的集成总结,以便以后再次使用不用去看官方文档. 首先肯定是要在百度管理平台注册账号并登录,然后照 ...

  8. Java-基于百度API的图片文字识别(支持中文,英文和中英文混合)

    具体文档:http://ai.baidu.com/docs#/OCR-API/e1bd77f3 PS: 基于Java 1.8 版本控制:maven 使用之前需要获取对应的项目API_KEY,SECRE ...

  9. OCR图片文字识别工具,识别率高且免费(电脑手机版)

    首先,展示两个文字编辑的场景,这样的场景每天都在我们身边发生. 场景一.在图书馆.书店.机场.火车上.公交地铁上.旅行的路上.听音乐--发现一段不错的文字或歌词想要做书摘笔记,或者编辑成短文发到微博. ...

  10. 一款免费的ocr图片文字识别提取工具网站

    市场上ocr很成熟,但是都有各种限制,比如强制登陆,转换限制,收费过高等!有时候我们只是简单的提取一下图片中的数据.或者暂时的图片文字识别和提取.这个我感觉还可以,大家要就拿去不谢!https://o ...

最新文章

  1. 藏在标定板身后的秘密
  2. linux java 替换jre_Linux系统 无需JRE配置Java
  3. 三菱plc编程实例3000_三菱PLC十字路口的红绿灯编程实例
  4. 一个用python做的完整项目_我从一个小项目学习Python编程的全过程(二)
  5. Django从理论到实战(part1)--虚拟环境
  6. 排序系列【比较排序系列之】直接插入排序
  7. 修改TOMCAT服务器图标为应用LOGO
  8. C语言printf函数详解和示例
  9. nodejs+vue+elementui房屋租赁网站系统 python协同过滤推荐系统
  10. iOS人脸识别(CoreImage)
  11. 五笔打字--思成五笔秘方
  12. python多个文件打包成exe_多个py文件生成一个可运行exe文件
  13. arm64平台进程全局页表pgd的创建和切换
  14. 键盘右边数字键不能用,只能当方向键使用
  15. python实现RsaWithSHA256签名以及国密Sm3WithSm2签名
  16. 遥感图像去雾文章解读
  17. Oracle-存储过程语法
  18. 国外ERP项目实施“误”在哪?(转)
  19. 什么是STW以及CMS和G1优缺点?
  20. 产品入库更新生产任务单工时

热门文章

  1. easyui combobox设置只能选择下拉
  2. 使用HBuilderX软件快速搭建Vue项目
  3. 金盾播放器android安卓,(金盾高级视频加密系统跨平台播放器Android安卓安装步骤.doc...
  4. 高德地图获取经纬度、高德地图坐标转为百度地图坐标
  5. 易语言制作计算软件简单步骤_情侣头像制作 一款简单又好玩的头像制作软件...
  6. Yum命令和配置文件分析
  7. BGP基本配置和路由聚合
  8. 浏览器打开是360导航页面解决方法
  9. python模拟ios,python模拟点击在ios中实现的实例讲解
  10. html中电脑自动输入,电脑一直自动打字怎么办