百度云OCR图片文字识别实现
上篇《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图片文字识别实现相关推荐
- 阿里云 OCR 图片文字识别接口使用案例(java)
阿里云 OCR 图片文字识别接口使用案例(java) 阿里云官方接口文档 前期需要完成 购买阿里云服务 购买服务 可以购买测试服务.每个阿里云用户可以购买1次免费的500次接口请求进行测试 购买完成之 ...
- 阿里云OCR图片文字识别(精确识别)
根据需求通过composer下载SDK包 备注:composer 安装SDK包有问题可以指定版本进行升级 (去掉版本号前的^符可以指定版本升级) 代码实现: /*** 图片文字识别* @return ...
- 用C#SDK实现百度云OCR的文字识别
最近项目要用到文字识别功能,所以花了几天时间整理了一下.今天就记录一下用C#实现文字识别的过程.(因为是刚接触OCR,所以发的是一些较详细的小白教程) 一.登录百度云进入控制台界面,创建应用获取秘钥. ...
- 一篇文章搞定百度OCR图片文字识别API
一篇文章搞定百度OCR图片文字识别API https://www.jianshu.com/p/7905d3b12104 转载于:https://www.cnblogs.com/chongdongxia ...
- TOOLFK工具-在线OCR图片文字识别工具
本文要推荐的[TOOLFK]在线OCR图片文字识别工具 ,提供图像文字识别,提取图片文字,OCR图片文字识别,图片转文字,把图片拖拽到上传框中自动上传识别,图片文件最大3M 網站名稱:ToolFk 網 ...
- OCR图片文字识别,人工手动图片标注软件安装过程
OCR图片文字识别,人工手动图片标注软件安装过程,本章关注标注软件的安装,启动过程 1. 下载 anaconda anaconda 下载慢的问题: 使用国内镜像地址下载: https://mirro ...
- Android集成百度OCR图片文字识别——总结
近期由于工作内容的需要,我要给项目集成一个图片文字识别功能,据说百度的不错,所以今天写一个关于百度OCR的集成总结,以便以后再次使用不用去看官方文档. 首先肯定是要在百度管理平台注册账号并登录,然后照 ...
- Java-基于百度API的图片文字识别(支持中文,英文和中英文混合)
具体文档:http://ai.baidu.com/docs#/OCR-API/e1bd77f3 PS: 基于Java 1.8 版本控制:maven 使用之前需要获取对应的项目API_KEY,SECRE ...
- OCR图片文字识别工具,识别率高且免费(电脑手机版)
首先,展示两个文字编辑的场景,这样的场景每天都在我们身边发生. 场景一.在图书馆.书店.机场.火车上.公交地铁上.旅行的路上.听音乐--发现一段不错的文字或歌词想要做书摘笔记,或者编辑成短文发到微博. ...
- 一款免费的ocr图片文字识别提取工具网站
市场上ocr很成熟,但是都有各种限制,比如强制登陆,转换限制,收费过高等!有时候我们只是简单的提取一下图片中的数据.或者暂时的图片文字识别和提取.这个我感觉还可以,大家要就拿去不谢!https://o ...
最新文章
- 藏在标定板身后的秘密
- linux java 替换jre_Linux系统 无需JRE配置Java
- 三菱plc编程实例3000_三菱PLC十字路口的红绿灯编程实例
- 一个用python做的完整项目_我从一个小项目学习Python编程的全过程(二)
- Django从理论到实战(part1)--虚拟环境
- 排序系列【比较排序系列之】直接插入排序
- 修改TOMCAT服务器图标为应用LOGO
- C语言printf函数详解和示例
- nodejs+vue+elementui房屋租赁网站系统 python协同过滤推荐系统
- iOS人脸识别(CoreImage)
- 五笔打字--思成五笔秘方
- python多个文件打包成exe_多个py文件生成一个可运行exe文件
- arm64平台进程全局页表pgd的创建和切换
- 键盘右边数字键不能用,只能当方向键使用
- python实现RsaWithSHA256签名以及国密Sm3WithSm2签名
- 遥感图像去雾文章解读
- Oracle-存储过程语法
- 国外ERP项目实施“误”在哪?(转)
- 什么是STW以及CMS和G1优缺点?
- 产品入库更新生产任务单工时
热门文章
- easyui combobox设置只能选择下拉
- 使用HBuilderX软件快速搭建Vue项目
- 金盾播放器android安卓,(金盾高级视频加密系统跨平台播放器Android安卓安装步骤.doc...
- 高德地图获取经纬度、高德地图坐标转为百度地图坐标
- 易语言制作计算软件简单步骤_情侣头像制作 一款简单又好玩的头像制作软件...
- Yum命令和配置文件分析
- BGP基本配置和路由聚合
- 浏览器打开是360导航页面解决方法
- python模拟ios,python模拟点击在ios中实现的实例讲解
- html中电脑自动输入,电脑一直自动打字怎么办