源码下载地址: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方式的更多相关文章

  1. 百度AI车牌识别测试

    测试背景 百度已发布诸多AI应用,其中包含车牌识别,免费使用量是200次/日.付费的话,按月调用次数在20万次到50万次之间,每日10000次,月费用为0.0035*300000=1050元. 详见: ...

  2. 利用百度云接口实现车牌识别·python

    一个小需求---实现车牌识别. 目前有两个想法 1. 调云在线的接口或者使用SDK做开发(配置环境和变异第三方库麻烦,当然使用python可以避免这些问题) 2. 自己实现车牌识别算法(复杂) 一开始 ...

  3. Delphi百度文字识别【支持通用文字识别、身份证识别、银行卡识别、驾驶证识别、行驶证识别、车牌识别等功能】

    作者QQ:(648437169) 点击下载➨Delphi百度文字识别          百度api文档 [Delphi百度文字识别]支持 通用文字识别.通用文字识别(高精度版).通用文字识别(含位置信 ...

  4. python利用百度云接口实现车牌识别

    一个小需求---实现车牌识别. 目前有两个想法 调云在线的接口或者使用SDK做开发(配置环境和编译第三方库很麻烦,当然使用python可以避免这些问题) 自己实现车牌识别算法(复杂) ! 一开始准备使 ...

  5. 基于百度AI实现 车牌识别

    前言 目前百度的AI接口相对完善,对于文字识别类的操作还需要开发者一一去尝试,去评估这效果到底是怎么的. 文字识别的接口相对简单,官方提供的SDK也集成很好,笔者只是在这上面做了一些前期性的功能数据校 ...

  6. 树莓派+百度api实现人脸识别

    title: 树莓派+百度api实现人脸识别 tags: 树莓派 date: 2018-5-31 20:06:00 --- 树莓派对接百度api 我以前玩安卓的时候一直用的讯飞的平台和api,对于百度 ...

  7. 百度OCR文字识别API使用心得===com.baidu.ocr.sdk.exception.SDKError[283604]

    异常com.baidu.ocr.sdk.exception.SDKError[283604]App identifier unmatch.错误的packname或bundleId.logId::303 ...

  8. EasyPR--一个开源的中文车牌识别系统

    我正在做一个开源的中文车牌识别系统,Git地址为:https://github.com/liuruoze/EasyPR. 我给它取的名字为EasyPR,也就是Easy to do Plate Reco ...

  9. (办公)百度api的使用

    这个只是入门,详细的还得看官方的文档http://lbsyun.baidu.com/index.php?title=jspopular3.0/guide/helloworld 百度地图的“Hello, ...

随机推荐

  1. CF 1114D(538,div2) Flood Fill

    https://codeforces.com/contest/1114/problem/D 题目 给一串数字,首先选择一个位置,类似于画图,然后每一轮按照以下步骤: 可以将这个位置所在的连通块改成其他 ...

  2. JS数组去除空值

    /** * 扩展Array方法, 去除数组中空白数据 */ Array.prototype.notempty = function() { var arr = []; this.map(functio ...

  3. LeetCode 1291. 顺次数

    地址 https://leetcode-cn.com/problems/sequential-digits/submissions/ 题目描述我们定义「顺次数」为:每一位上的数字都比前一位上的数字大 ...

  4. 13. Go 语言网络爬虫

    Go 语言网络爬虫 本章将完整地展示一个应用程序的设计.编写和简单试用的全过程,从而把前面讲到的所有 Go 知识贯穿起来.在这个过程中,加深对这些知识的记忆和理解,以及再次说明怎样把它们用到实处.由本 ...

  5. 5面终于拿到了字节跳动offer! 鬼知道我经历了啥...

    坐标北京,某211本科毕业生,之前学校活动有去过字节跳动公司总部参观,所以一直以来就蛮想进入字节工作的,被字节的企业文化和工作氛围所影响.字节作为发展速度最快的互联网公司,旗下的很多产品的用户都比肩B ...

  6. 【朝花夕拾】Android自定义View篇之(二)Canvas常用功能

    前言 转在请申明,转自[https://www.cnblogs.com/andy-songwei/p/10960012.html],谢谢! 上一篇讲View的绘制流程中讲到过,最后一步是draw流程, ...

  7. jvm虚拟机笔记<五> 编译期优化

    JVM的编译器可以分为三个编译器: 1.前端编译器:把.java转变为.class的过程.如Sun的Javac.Eclipse JDT中的增量式编译器(ECJ). 2.JIT编译器:把字节码转变为机器 ...

  8. 深入requests库params|data|json参数

    深入requests库params|data|json参数 一.params params:字典或者字节序列,作为参数增加到URL中.不仅访问URL,还可以向服务器携带参数. 简单来讲也就是说对于原来 ...

  9. 前端vuex基础入门

    vuex简介 是一个专门为vue.应用程序开的状态管理模式 它采用集中式存储管理应用的所有组件的状态 (类似于全局变量) 并以相应的规则保证以一种可预测的方式发生改变(相应式变化) 应用场景 多个视图 ...

  10. Android项目实战(五十八):Android 保存图片文件到本地,相册/图库查看不到的处理

    将一个图片文件写入到本地目录,然后去相册查看,会查找不到这个图片文件,但是去文件目录下查找,确确实实有该图片文件. 问题在于相册是一个独立的app,它并不会去刷新本地图片,所以需要在写图片文件成功之后 ...