DELPHI XE10 百度车牌识别

2023-10-31 16:40
文章标签 百度 delphi 识别 车牌 xe10

本文主要是介绍DELPHI XE10 百度车牌识别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

源码:https://download.csdn.net/download/weixin_44387646/11060732

一、申请百度账号

usesWinapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,Vcl.Controls, Vcl.Forms, Vcl.Dialogs,System.json, IPPeerClient, REST.Client,Data.Bind.Components, Data.Bind.ObjectScope, Vcl.StdCtrls, Vcl.Imaging.jpeg,Vcl.ExtCtrls, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,EncdDecd,IdHTTP;

二、获取access_token

方法1:restclient控件方式获取access_token

varstrtemp: string;temp: tjsonobject;
beginRESTClient1.BaseURL := 'https://aip.baidubce.com/oauth/2.0/token';RESTRequest1.Params.Clear;RESTRequest1.AddParameter('grant_type', 'client_credentials');RESTRequest1.AddParameter('client_id', 'SErhXXNrcu6TtZg8ztNYvGDY');// baidu后台里的API KeyRESTRequest1.AddParameter('client_secret','SwYYpCNL6MAcl2hokkgR4rq003P3h1Ku'); // baidu后台里的Secret KeyRESTRequest1.Execute;strtemp := RESTResponse1.Content;Memo1.Clear;Memo1.Lines.Add(strtemp);

方法2:idhttp控件方式获取access_token

Memo1.Clear;Memo1.Lines.Add(Getaccess_token('client_credentials','SErhXXNrcu6TtZg8ztNYvGDY', 'SwYYpCNL6MAcl2hokkgR4rq003P3h1Ku'));

小函数

function Getaccess_token(grant_type, client_id, client_secret: string): string;
// 获取token
varidhttp2: TIdHTTP;authHost: string;tokSl: Tstringlist;
beginauthHost := 'http://aip.baidubce.com/oauth/2.0/token';trytokSl := Tstringlist.Create;idhttp2 := TIdHTTP.Create(nil);tokSl.Add('grant_type=' + grant_type);tokSl.Add('client_id=' + client_id);tokSl.Add('client_secret=' + client_secret);Result := idhttp2.Post(authHost, tokSl);finallytokSl.Free;idhttp2.DisposeOf;end;
end;

三、先点击前面的按钮再点,显示token

varjo: tjsonobject;jv: tjsonvalue;jsonstr: string; // 要转换的json字符串
beginjo := nil;jsonstr := Memo1.Text;tryjo := tjsonobject.Create;jo := tjsonobject.parsejsonvalue(tencoding.utf8.getbytes(jsonstr), 0)as tjsonobject;jv := jo.get('access_token').jsonvalue;Edit3.Text := jv.value;showmessage(jv.value);finallyjo.Free;end;

四、restclient控件方式获取车牌

varstrtemp: string;temp: tjsonobject;strm: TMemoryStream;ss: TStringStream;s: string;
beginif Form2.Image1.Picture.Graphic <> nil thenbeginstrm := TMemoryStream.Create;Form2.Image1.Picture.SaveToStream(strm);ss := TStringStream.Create('');strm.Position := 0;EncodeStream(strm, ss); // 将内存流编码为base64字符流s := ss.DataString;strm.Free;ss.Free;end;RESTClient1.BaseURL :='https://aip.baidubce.com/rest/2.0/ocr/v1/license_plate';RESTRequest1.Params.Clear;RESTRequest1.AddParameter('access_token', Edit3.Text);RESTRequest1.AddParameter('image', s);RESTRequest1.Execute;strtemp := RESTResponse1.Content;Memo1.Clear;Memo1.Lines.Add(strtemp);

五、显示车牌号

varjo: tjsonobject;jo2:tjsonobject;jv: tjsonvalue;jsonstr: string; // 要转换的json字符串jsonstr2: string; // 要转换的json字符串
begin
//先取出嵌套的那个字符串jo := tjsonobject.parsejsonvalue(memo1.Text) as tjsonobject;jsonstr := jo.GetValue('words_result').ToString;
//再对这个字符串取值jo2:= tjsonobject.parsejsonvalue(jsonstr) as tjsonobject;jsonstr2:= jo.GetValue('words_result').ToString;tryjv := jo2.get('number').jsonvalue;Edit1.Text := jv.value;showmessage(jv.value);finallyjo.Free;end;

六、总结

过程是曲折的,结果还是可以,必要的时候还得看官方的文档

这篇关于DELPHI XE10 百度车牌识别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/316715

相关文章

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Clion不识别C代码或者无法跳转C语言项目怎么办?

如果是中文会显示: 此时只需要右击项目,或者你的源代码目录,将这个项目或者源码目录标记为项目源和头文件即可。 英文如下:

Imageview在百度地图中实现点击事件

1.首先第一步,需要声明的全局有关类的引用 private BMapManager mBMapMan; private MapView mMapView; private MapController mMapController; private RadioGroup radiogroup; private RadioButton normalview; private RadioBu

BERN2(生物医学领域)命名实体识别与命名规范化工具

BERN2: an advanced neural biomedical named entity recognition and normalization tool 《Bioinformatics》2022 1 摘要 NER和NEN:在生物医学自然语言处理中,NER和NEN是关键任务,它们使得从生物医学文献中自动提取实体(如疾病和药物)成为可能。 BERN2:BERN2是一个工具,

行为智能识别摄像机

行为智能识别摄像机 是一种结合了人工智能技术和监控摄像技术的先进设备,它能够通过深度学习算法对监控画面进行实时分析,自动识别和分析监控画面中的各种行为动作。这种摄像机在安防领域有着广泛的应用,可以帮助监控人员及时发现异常行为,并采取相应的措施。 行为智能识别摄像机可以有效预防盗窃事件。在商场、超市等公共场所安装这种摄像机,可以通过识别异常行为等情况,及时报警并阻止不安全行为的发生

flutter开发实战-flutter build web微信无法识别二维码及小程序码问题

flutter开发实战-flutter build web微信无法识别二维码及小程序码问题 GitHub Pages是一个直接从GitHub存储库托管的静态站点服务,‌它允许用户通过简单的配置,‌将个人的代码项目转化为一个可以在线访问的网站。‌这里使用flutter build web来构建web发布到GitHub Pages。 最近通过flutter build web,通过发布到GitHu

T1打卡——mnist手写数字识别

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 1.定义GPU import tensorflow as tfgpus=tf.config.list_physical_devices("GPU")if gpus:gpu0=gpus[0]tf.config.experimental.set_memort_groth(gpu0,True) #设置GPU现存用量按需

百度之星 2015 复赛 1001 (数长方形)

数长方形    Accepts: 595    Submissions: 1225  Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description 小度熊喜欢玩木棒。一天他在玩木棒的时候,发现一些木棒会形成长方形

百度之星 2015 初赛(1) 1002 找连续数

找连续数      Accepts: 401      Submissions: 1911  Time Limit: 2000/1000 MS (Java/Others)      Memory Limit: 32768/32768 K (Java/Others) Problem Description 小度熊拿到了一个无序的数组,对于这个数组,小度熊想知道是