百度API车牌识别——Restful方式
2019-09-23 08:39:52来源:博客园 阅读 ()
百度API车牌识别——Restful方式
源码下载地址:https://download.csdn.net/download/redhat588/11798294
Delphi xe 10.3.2 for windows 7 环境编译通过!
测式需要先注册百度API账号,拿到API KEY 和Secret Key后才能获取Token值
第一步:首先获取Token地址
1 function TfrmMain.GetToken(TokenUrl, lbledtAPIKEY, lbledtSecretKey 2 : string): string; 3 begin 4 with RESTClient1 do 5 begin 6 BaseURL := TokenUrl; 7 end; 8 with RESTRequest1 do 9 begin 10 Method := rmPOST; 11 AcceptCharSet := 'utf-8'; 12 Params.Clear; 13 AddParameter('grant_type', 'client_credentials'); 14 AddParameter('client_id', lbledtAPIKEY); 15 // API ID key 16 AddParameter('client_secret', lbledtSecretKey); 17 // API secret key 18 Execute; 19 Result := RESTResponse1.Content; 20 end; 21 end; 22 23 function TfrmMain.GetAccessToken(jsonstr: string): string; // 取jsonstring 值 24 var 25 jo: TjsonObject; 26 jv: TjsonValue; 27 begin 28 jo := nil; 29 jo := TjsonObject.Create; 30 jo := TjsonObject.parsejsonvalue(Tencoding.utf8.getbytes(jsonstr), 0) 31 as TjsonObject; 32 jv := jo.Get('access_token').JsonValue; 33 Result := jv.Value; 34 end; 35 36 37 procedure TfrmMain.Button1Click(Sender: TObject); 38 begin 39 lbledtToken.Text := GetAccessToken(GetToken(lbledtTokenUrl.Text, 40 lbledtAPIKEY.Text, lbledtSecretKey.Text)); 41 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 := 0; 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;
最后:结果图
原文链接:https://www.cnblogs.com/redhat588/p/11563275.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- delphi 调用百度识别 2020-04-07
- UniGui安装(01) 2020-01-31
- 易飞ERP API接口调用DEMO 2019-10-31
- 人体分析Demo-百度API 2019-09-23
- 人脸识别Demo 2019-08-29
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash