百度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, ...
随机推荐
- Windows性能监控监视器(perfmon使用)
一.在命令窗口或运行中执行perfmon.exe,打开性能监视器 二.在用户定义中,即可新建--数据收集器--性能计数器,步骤如下: 三.添加监控Windows服务器的资源类型,例如:内存(Avail ...
- Centos8 配置静态IP
安装centos 8之后,重启启动网络时,会出现以下报错 报错信息如下: Failed to start network.service: Unit network.service not found ...
- workerman连接失败方法
workerman链接失败方法 1 防火墙关闭 2 端口开启 3 改成websocket协议
- Googleplaystore数据分析
本次所用到的数据分析工具:numpy.pandas.matplotlib.seaborn 一.分析目的 假如接下来需要开发一款APP,想了解开发什么类型的APP会更受欢迎,此次分析可以对下一步计划进行 ...
- 第一章 1.1 计算机和Python基础
一.计算机基础 1.1.进制 计算机中的数字有四种存在形式,分别是:十进制.二进制.八进制和十六进制 1.1.1.十进制 1.基数:0-9 2.进位:逢10进1 3.位权:例:123 = 3*10^0 ...
- PalletOne调色板跨链的BTC实现
之前已经讲到了PalletOne调色板跨链以太坊ETH和ERC20的技术原理,接下来我们来讲解PalletOne跨链比特币BTC的技术原理. 一.BTC充币 假如用户A持有一定数量的比特币BTC,他希 ...
- el-dialog模态窗点击空白不消失
通过查阅ElementUI的官方文档,可以发现Dialog对话框组件提供了一个close-on-click-modal属性来设置el-dialog模态窗点击空白不消失. <el-dialog : ...
- 发布一个简单的npm包
本文简单地记录了发布一个简单npm包的过程,以便后续参考使用. 初始化npm init 通过npm init创建一个package.json文件 D:\robin\lib\weapp-utils> ...
- Java面试,如何在短时间内做突击
面试前很有必要针对性的多刷题,大部分童鞋实战能力强,理论不行,面试前不做准备很吃亏.这里整理了很多常考面试题,希望对你有帮助. 面试技术文 Java岗 面试考点精讲(基础篇01期) Java岗 面 ...
- Thinkphp 5.0.15 设计缺陷导致Insert/update-SQL注入 分析
分析 与上一个漏洞类似,这个也是前端可以传入一个数组变量,如['exp','123','123'],后端根据array[0]来将array[1]和array[2]直接拼接到SQL语句中. 由于TP只是 ...