1.注册百度账号

进入百度开发者中心-百度智能云,直接按图操作,领取免费资源、创建应用。少说话,开撸

百度开发者中心-汇聚、开放、助力、共赢百度开发者中心是一个面向开发者的知识分享平台,专注于为开发者打造一个有温度的技术交流社区,开发者通过平台来分享知识、相互交流。https://developer.baidu.com/

车牌识别_车牌识别系统_车牌OCR识别-百度AI开放平台百度AI车牌识别,毫秒级响应,对中国大陆机动车车牌号码进行识别,可同时识别多张车牌,满足汽车场景应用,注册即享每天200次免费调用额,支持云端调用和私有化部署https://ai.baidu.com/tech/ocr_cars/plate

2.查看文档

地址:​​​​​​https://ai.baidu.com/ai-doc/OCR/Ek3h7xypmss​​​​​​​s

首先先看调用方式获取Token,以下以车牌号为例


package com.baidu.ai.aip.auth;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;/*** 获取token类*/
public class AuthService {/*** 获取权限token* @return 返回示例:* {* "access_token": "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567",* "expires_in": 2592000* }*/public static String getAuth() {// 官网获取的 API Key 更新为你注册的String clientId = "百度云应用的AK";// 官网获取的 Secret Key 更新为你注册的String clientSecret = "百度云应用的SK";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 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;}}

package com.baidu.ai.aip;import com.baidu.ai.aip.utils.Base64Util;
import com.baidu.ai.aip.utils.FileUtil;
import com.baidu.ai.aip.utils.HttpUtil;import java.net.URLEncoder;/**
* 车牌识别
*/
public class LicensePlate {/*** 重要提示代码中所需工具类* 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* 下载*/public static String licensePlate() {// 请求urlString url = "https://aip.baidubce.com/rest/2.0/ocr/v1/license_plate";try {// 本地文件路径String filePath = "[本地文件路径]";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 = "[调用鉴权接口获取的token]";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) {LicensePlate.licensePlate();}
}

或者下面是网络图片识别

public static String getCarNo(String filePath) {// 请求urlString url = "https://aip.baidubce.com/rest/2.0/ocr/v1/license_plate";try {log.info("getCarNo调用车牌号接口的图片路径:" + filePath);byte[] imgData = getFileStream(filePath);String imgStr = Base64Util.encode(imgData);String imgParam = URLEncoder.encode(imgStr, "UTF-8");String param = "image=" + imgParam;// 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间,// 客户端可自行缓存,过期后重新获取。String accessToken = getAuth();String result = HttpUtil.post(url, accessToken, param);System.out.println(result);log.info("getCarNo调用车牌号接口的结果:" + result);Map<String,Object> responseMapMap = JSON.parseObject(result, Map.class);Map words_resultMap = (Map) responseMapMap.get("words_result");if (words_resultMap.isEmpty()) {return null;}String carNo = (String) words_resultMap.get("number");return carNo;} catch (Exception e) {e.printStackTrace();}return null;}/*** 得到文件流* * @param url*            图片地址* @return*/public static byte[] getFileStream(String url) {try {URL httpUrl = new URL(url);HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection();conn.setRequestMethod("GET");conn.setConnectTimeout(5 * 1000);// 通过输入流获取图片数据InputStream inStream = conn.getInputStream();byte[] btImg = readInputStream(inStream);// 得到图片的二进制数据return btImg;} catch (Exception e) {e.printStackTrace();}return null;}/*** 从输入流中获取数据* * @param inStream*            输入流* @return* @throws Exception*/public static byte[] readInputStream(InputStream inStream) throws Exception {ByteArrayOutputStream outStream = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len = 0;while ((len = inStream.read(buffer)) != -1) {outStream.write(buffer, 0, len);}inStream.close();return outStream.toByteArray();}

用到的工具类,具体对应的类可以在代码中的链接中下载.

package com.baidu.ai.aip.utils;import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;
import java.util.Map;/*** http 工具类*/
public class HttpUtil {public static String post(String requestUrl, String accessToken, String params)throws Exception {String contentType = "application/x-www-form-urlencoded";return HttpUtil.post(requestUrl, accessToken, contentType, params);}public static String post(String requestUrl, String accessToken, String contentType, String params)throws Exception {String encoding = "UTF-8";if (requestUrl.contains("nlp")) {encoding = "GBK";}return HttpUtil.post(requestUrl, accessToken, contentType, params, encoding);}public static String post(String requestUrl, String accessToken, String contentType, String params, String encoding)throws Exception {String url = requestUrl + "?access_token=" + accessToken;return HttpUtil.postGeneralUrl(url, contentType, params, encoding);}public static String postGeneralUrl(String generalUrl, String contentType, String params, String encoding)throws Exception {URL url = new URL(generalUrl);// 打开和URL之间的连接HttpURLConnection connection = (HttpURLConnection) url.openConnection();connection.setRequestMethod("POST");// 设置通用的请求属性connection.setRequestProperty("Content-Type", contentType);connection.setRequestProperty("Connection", "Keep-Alive");connection.setUseCaches(false);connection.setDoOutput(true);connection.setDoInput(true);// 得到请求的输出流对象DataOutputStream out = new DataOutputStream(connection.getOutputStream());out.write(params.getBytes(encoding));out.flush();out.close();// 建立实际的连接connection.connect();// 获取所有响应头字段Map<String, List<String>> headers = connection.getHeaderFields();// 遍历所有的响应头字段for (String key : headers.keySet()) {System.err.println(key + "--->" + headers.get(key));}// 定义 BufferedReader输入流来读取URL的响应BufferedReader in = null;in = new BufferedReader(new InputStreamReader(connection.getInputStream(), encoding));String result = "";String getLine;while ((getLine = in.readLine()) != null) {result += getLine;}in.close();System.err.println("result:" + result);return result;}
}

打完收工。

百度文字识别(OCR)服务-傻瓜式相关推荐

  1. python 百度ocr安装_Python利用百度文字识别(OCR)服务实现图片文字提取,准确率超高...

    最近和朋友聊天,聊到一个充满使命感但又略显心酸的话题--下班回家在网上给小朋友抄题...那么问题来了,除了大家所知的QQ文字识别功能之外,还有哪些方式可以做到文字识别呢. 作为一名热心的Python小 ...

  2. 百度文字识别OCR接口使用

    原文:https://www.meiwen.com.cn/subject/cyjvectx.html 动机&成品展示 最近,家里老人有需要把图片里的文字识别读取的功能,想要教他们用市面上功能齐 ...

  3. Android 集成百度文字识别OCR身份证银行卡驾驶证识别

    SDK提供了下列百度AI开放平台RESTful接口的封装.文字识别的服务,可实现一些通用文字,网络图片文字,身份证,银行卡,驾驶证,行驶证,车牌,营业执照,通用票据等的识别需求,简化输入操作. 本篇主 ...

  4. JAVA-调用百度文字识别OCR进行身份证识别

    1.第三方接口         文字识别OCR,需要进行注册和实名认证后,获取对应的应用列表以及免费测试额度 2.调用例子  <!-- 百度识别 --> <dependency> ...

  5. 微信小程序整合百度文字识别OCR

    本文介绍 ​ 之前有过一点小程序的学习,并最近写的项目有用到识别图片中的文字的场景,但是又不想花钱,就千方百计的找白嫖资源,经过一天的折磨,终于找到了白嫖的方法(百度智能云),虽说是白嫖,但也是有次数 ...

  6. 按键精灵使用百度文字识别(百度ocr)教程

    按键精灵通过实践,也可以接入百度的OCR,百度OCR免费额度为,每日50000次普通调用,对于日常应用已经足够,返回识别内容时间在1s以内(免费版有一秒内请求次数限制,不充钱也无法达到更短的时间).百 ...

  7. 百度OCR(文字识别)服务使用入坑指南

    百度OCR使用入坑指南 一.背景:什么是OCR 二.在线调用百度api接口 1. 注册百度智能云账号,创建应用获取key 2. 调用api发送请求,获取文字识别结果 2.1 构造请求 2.2 识别结果 ...

  8. ios 百度ocr_Android与iOS原生百度文字识别(OCR)插件,可以使用官网API参数

    更新记录 1.0.0(2020-11-09) 初始版本特点 统一的返回结构 Android 与 IOS 乃至服务端使用API的返回体是一致的 可以按官方文档设置参数,来实现差异需求 比如,想要返回的识 ...

  9. 百度文字识别 百度OCR接口申请

    1.百度文字识别 百度OCR 的接口申请 https://blog.csdn.net/biao197/article/details/102907492

  10. java实现自动识别验证码并自动填写提交(调用百度通用文字识别OCR接口+大图找小图之图像识别算法+模拟鼠标键盘动作)

    一.使用的技术: 1.调用百度AI通用文字识别OCR接口 2.图像识别算法 二.实现方案与步骤: 1.得到验证码的图片的坐标:先将验证码截图,然后再对整个电脑屏幕截图,通过大图找小图的方法,计算出小图 ...

最新文章

  1. javaweb添加拦截器
  2. Github上删除仓库、项目方法演示
  3. 陆基制导系统地面站布设策略
  4. Java线程详解(4)-线程状态的转换
  5. 《Python数据科学实践指南》——0.2节如何成为数据科学家
  6. linux mysql安装教程 方大帝_discuz论坛出现Can not connect to MySQL server错误的解决方法...
  7. powerdesigner 导出数据库表结构
  8. 数据结构:(2)什么是数据结构
  9. 基本农田卫星地图查询_#重庆朝天门#谷歌百度腾讯高德“卫星地图”PK,谷歌更胜一筹...
  10. 互联网应用开发架构的演进历程--单体应用->集群->分布式->微服务->ServiceMesh
  11. Repeater使用:绑定时 结合 前台JS及后台共享方法
  12. 第 0 章 阳哥MySQL高级
  13. CSS系列之字体相关的样式
  14. Python分词、情感分析工具SnowNLP使用方法
  15. R语言缺失值判断以及处理
  16. PHP实现一个在线选择答题系统
  17. Nacos安装讲解教程
  18. Voldemort启动失败案例一则
  19. HDU——2546 饭卡
  20. SAP HANA XS ODATA的写法

热门文章

  1. 数据库之逻辑设计阶段(候选码、主码、外码、范式…)
  2. 数据库设计的六个阶段详解
  3. Adobe illustrator2022(Ai2022)新增功能
  4. CHINA TOP国家杯:用电子竞技搭建中国文化走出去的平台
  5. I 爆炸的符卡洋洋洒洒(牛客)01背包
  6. java基础小记_Java基础学习小记--多态
  7. 吉大计算机博士生导师魏晓辉,王兴旺-吉林大学计算机科学与技术学院
  8. 幼师计算机应用基础的认识200字,《计算机应用基础》课程教学与学前教育专业的深度融合...
  9. Ubuntu 18.04 进入 Recovery 模式
  10. 海龟交易法则 | 稳定性并不等于低风险!