百度API车牌识别——Restful方式
源码下载地址:https://download.csdn.net/download/redhat588/11798294
Delphi xe 10.3.2 for windows 7 环境编译通过!
测式需要先注册百度API账号,拿到API KEY 和Secret Key后才能获取Token值
第一步:首先获取Token地址

function TfrmMain.GetToken(TokenUrl, lbledtAPIKEY, lbledtSecretKey
: string): string;
begin
with RESTClient1 do
begin
BaseURL := TokenUrl;
end;
with RESTRequest1 do
begin
Method := rmPOST;
AcceptCharSet := 'utf-8';
Params.Clear;
AddParameter('grant_type', 'client_credentials');
AddParameter('client_id', lbledtAPIKEY);
// API ID key
AddParameter('client_secret', lbledtSecretKey);
// API secret key
Execute;
Result := RESTResponse1.Content;
end;
end; function TfrmMain.GetAccessToken(jsonstr: string): string; // 取jsonstring 值
var
jo: TjsonObject;
jv: TjsonValue;
begin
jo := nil;
jo := TjsonObject.Create;
jo := TjsonObject.parsejsonvalue(Tencoding.utf8.getbytes(jsonstr), )
as TjsonObject;
jv := jo.Get('access_token').JsonValue;
Result := jv.Value;
end; procedure TfrmMain.Button1Click(Sender: TObject);
begin
lbledtToken.Text := GetAccessToken(GetToken(lbledtTokenUrl.Text,
lbledtAPIKEY.Text, lbledtSecretKey.Text));
end;
function TfrmMain.GetCarNumJson(AccessToken, CarNumAPI: string): string;
var
strtemp: string;
temp: TjsonObject;
strm: TMemoryStream;
ss: TStringStream;
s: string;
begin
if frmMain.Image1.Picture.Graphic <> nil then
begin
strm := TMemoryStream.Create;
frmMain.Image1.Picture.SaveToStream(strm);
ss := TStringStream.Create('');
strm.Position := ;
EncodeStream(strm, ss); // 将内存流编码为base64字符流
s := ss.DataString;
strm.Free;
ss.Free;
end;
RESTClient1.BaseURL := CarNumAPI;
RESTRequest1.Params.Clear;
RESTRequest1.AddParameter('access_token', AccessToken);
RESTRequest1.AddParameter('image', s);
RESTRequest1.Execute;
Result := RESTResponse1.Content;
end; function TfrmMain.GetCarNum(CarNumJSONStr: String): string;
var
jo: TjsonObject;
jo2: TjsonObject;
jv: TjsonValue;
jsonstr: string; // 要转换的json字符串
jsonstr2: string; // 要转换的json字符串
begin
// 先取出嵌套的那个字符串
jo := TjsonObject.parsejsonvalue(CarNumJSONStr) as TjsonObject;
jsonstr := jo.GetValue('words_result').ToString;
// 再对这个字符串取值
jo2 := TjsonObject.parsejsonvalue(jsonstr) as TjsonObject;
jsonstr2 := jo.GetValue('words_result').ToString;
try
jv := jo2.Get('number').JsonValue;
Result := jv.Value;
finally
jo.Free;
end;
end; procedure TfrmMain.Button2Click(Sender: TObject);
begin
lbledtCarNum.Text := GetCarNum(GetCarNumJson(lbledtToken.Text,
lbledtAPIURL.Text));
end;
最后:结果图

百度API车牌识别——Restful方式的更多相关文章
- 百度AI车牌识别测试
测试背景 百度已发布诸多AI应用,其中包含车牌识别,免费使用量是200次/日.付费的话,按月调用次数在20万次到50万次之间,每日10000次,月费用为0.0035*300000=1050元. 详见: ...
- 利用百度云接口实现车牌识别·python
一个小需求---实现车牌识别. 目前有两个想法 1. 调云在线的接口或者使用SDK做开发(配置环境和变异第三方库麻烦,当然使用python可以避免这些问题) 2. 自己实现车牌识别算法(复杂) 一开始 ...
- Delphi百度文字识别【支持通用文字识别、身份证识别、银行卡识别、驾驶证识别、行驶证识别、车牌识别等功能】
作者QQ:(648437169) 点击下载➨Delphi百度文字识别 百度api文档 [Delphi百度文字识别]支持 通用文字识别.通用文字识别(高精度版).通用文字识别(含位置信 ...
- python利用百度云接口实现车牌识别
一个小需求---实现车牌识别. 目前有两个想法 调云在线的接口或者使用SDK做开发(配置环境和编译第三方库很麻烦,当然使用python可以避免这些问题) 自己实现车牌识别算法(复杂) ! 一开始准备使 ...
- 基于百度AI实现 车牌识别
前言 目前百度的AI接口相对完善,对于文字识别类的操作还需要开发者一一去尝试,去评估这效果到底是怎么的. 文字识别的接口相对简单,官方提供的SDK也集成很好,笔者只是在这上面做了一些前期性的功能数据校 ...
- 树莓派+百度api实现人脸识别
title: 树莓派+百度api实现人脸识别 tags: 树莓派 date: 2018-5-31 20:06:00 --- 树莓派对接百度api 我以前玩安卓的时候一直用的讯飞的平台和api,对于百度 ...
- 百度OCR文字识别API使用心得===com.baidu.ocr.sdk.exception.SDKError[283604]
异常com.baidu.ocr.sdk.exception.SDKError[283604]App identifier unmatch.错误的packname或bundleId.logId::303 ...
- EasyPR--一个开源的中文车牌识别系统
我正在做一个开源的中文车牌识别系统,Git地址为:https://github.com/liuruoze/EasyPR. 我给它取的名字为EasyPR,也就是Easy to do Plate Reco ...
- (办公)百度api的使用
这个只是入门,详细的还得看官方的文档http://lbsyun.baidu.com/index.php?title=jspopular3.0/guide/helloworld 百度地图的“Hello, ...
随机推荐
- 一条简单的更新语句,MySQL是如何加锁的?
看如下一条sql语句: # table T (id )) delete : MySQL在执行的过程中,是如何加锁呢? 在看下面这条语句: : 那这条语句呢?其实这其中包含太多知识点了.要回答这两个问题 ...
- STM32 HAL_Deleay() 函数 导致程序卡死
出现问题场景: 我的程序有RTOS操作系统.使用的驱动库是STM32官方最新的HAL库. 移植好LwIP以太网协议后,在初始化网卡阶段程序卡死. 出现问题原因: 后经过蠢笨的printf打 ...
- IT兄弟连 HTML5教程 HTML5表单 新增的表单属性3
9 novalidate novalidate是属性规定在提交表单时不应该验证form和input域.novalidate属性适用于的<input>类型有:text.search.url ...
- 常用类-Excel-使用Aspose.Cells插件
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Xm ...
- Python实现一个键对应多个值的字典(multidict)
一个字典就是一个键对应一个单值的映射.如果你想要一个键映射多个值,那么你就需要将这多个值放到另外的容器中, 比如列表或者集合里面.比如,你可以像下面这样构造这样的字典: d = { 'a' : [1, ...
- Flask 教程 第五章:用户登录
本文翻译自The Flask Mega-Tutorial Part V: User Logins 这是Flask Mega-Tutorial系列的第五部分,我将告诉你如何创建一个用户登录子系统. 你在 ...
- 自学_DOM<五>
类库DOM DOM(document object medol)文档对象模型. DOM就是HTML页面的模型,将每个标签都做为一个对象,JavaScript通过调用DOM中的属性.方法就可以对网页中的 ...
- Cesium专栏-空间分析之地形等高线(附源码下载)
Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...
- iOS11自定义tabBar重影问题
转载自:(主链接)https://www.jianshu.com/p/1be90349fdb4 https://www.cnblogs.com/coderYu/p/5859638.html 很实用,有 ...
- Python语法速查: 4. 字符串常用操作
返回目录 (1)字符串常用方法 Python3中,字符串全都用Unicode形式,所以省去了很多以前各种转换与声明的麻烦.字符串属于序列,所有序列可用的方法(比如切片等)都可用于字符串. 注意:字符串 ...