车牌识别在公路通行费收费管理系统中的应用
张轶哲
(南京苏河电子科技有限责任公司,江苏 南京 210019)
摘 要 本文给出了车牌识别技术在公路通行费收费系统中的应用,详细介绍了客车自动报价、月票车、免费车自动放行、历史冲卡车、黑名单车辆自动报警拦截以及可疑车辆查询等方面的应用。
关键字 车牌识别;系统;应用
1 车牌照识别系统概述
1.1 车牌识别系统组成
一个典型的车牌识别系统由图像采集、图像处理、字符识别和数据库管理四个部分组成。其主要流程为:
(1)系统接受到车辆到来的信息。
(2)采集车牌图像。
(3)确定是否有牌照,如果有,进一步确定牌照位置。
(4)牌照字符识别。
(5)将牌照信息存入数据库,或传送到远端计算机。
1.2 车牌识别系统工作过程
图1
图1所示的工作过程是:当通行车辆行驶过程中触动车辆检测装置后,信号传入识别计算机或专用识别器,此时图像采集设备受到驱动,通过内置于特制取样装置的CCD摄像头动态摄取汽车图像。该部分功能可简单调用计算机视频捕捉卡厂商提供的各种软件开发包工具即可实现。然后将采集到的图像传送到主机中,车牌识别模块在车辆正面图像中智能搜牌照区域,并自动识别,PC内的软件模块从输入图像中找到牌照的位置,对牌照进行字符切分,得到各个字符的点阵数据。字符识别模块利用这些数据作字符识别以及识别结果与数据库中已有的处理牌照号码进行匹配。并将最终结果输出到指定设备。至此,一个车辆自动识别的周期完成,检测装置连续不断检测新到车辆。
2 车牌识别在收费系统中的应用
目前,公路通行费收费系统采用人工和计算机相互配合的半自动方式,车辆通过收费站时人工判别车型,计算机按费率计算费额,人工收费,自动打印微机票。
车牌识别可使收费系统扩充如下功能:
(1)自动识别车型及自动报价。
(2)月票车及免费车的自动放行。
(3)历史逃费车的自动报警。
(4)黑名单车辆的自动报警。
(5)可疑车辆查询。
3 实现方法
3.1 自动识别车型及自动报价
建立一张过站车辆车型信息表,当车辆首次通过收费站时,由收费员报车型,收费软件报价,收费完成后,以车牌号为关键字将该车的车型信息记入数据库;该车再次通过收费站时系统识别出车牌号,以车牌号为关键字查询该车的车型,自动报价。流程如图2所示。
图2
车型信息表结构见表1。
表1 车型信息表
|
字段 |
类型 |
说明 |
|
PlateNo |
char(20) |
车牌号 |
|
Kind |
Int |
客货类别 |
|
Type |
Int |
客车车型 |
|
Ton |
Float |
货车吨位 |
以C++为例的程序片段为:
//PlateNo为识别出的车牌号
//pcn为数据库连接对名象
//Kind为客货类型,Type为车型
_RecordsetPtr prs(“adodb.recordset”);
CString sql=“select * from car where plateno=’”+PlateNo+”’”;
prs.Open(_bstr_t(sql),pcn,adOpenKeyset,adLockReadOnly,adCmdTxt);
if(prs->RecordCount>0){
Kind=prs->GetCollect(“Kind”).lVal;
Type=prs->GetCollect(“Type”).lVal;
}
如果没有查到数据,收费员人工判断车型后,将数据插入数据表:
//csKind为客货类别构造的字符串
//csType为车型构造的字符串
//csTon为车吨位构造的字符串
CString sql=”insert into car (PlateNo,Kind,Type,Ton) valuds(”+ PlateNo+”’,”+csKind+”,”+csType+”,”+csTon+”)”;
_variant_t v=0L;
pcn->Execute(_bstr_t(sql),&v,AdCmdText);
//以后软件根据csKind及csType自动报价
3.2 月票车及免费车的自动放行
对于月票车及免费车可以建立月票信息表,表结构见表2。
表2 月票信息表
|
字段 |
类型 |
说明 |
|
PlateNo |
char(20) |
车牌号 |
|
TicketType |
int |
月票类型
表示月票,季票,年票,免费等 |
|
BeginTime |
Datetime |
有效起时间 |
|
EndTime |
Datetime |
有效止时间 |
当根据车牌号查出该车确实是有效期内的月票车或免费车时,系统自动抬杆放行。
3.3 历史逃费车的自动报警
对于逃费车辆,收费员操作逃费后,该车进入逃费车辆表,该车以后再次通过收费站时(如果收费系统联网,逃费数据可传至省市收费中心,在别的收费站亦可报警),系统根据车牌号查询证实后,自动报警。历史逃费车辆表结构见表3。
表3 历史逃费车辆表结构
|
字段 |
类型 |
说明 |
|
PlateNo |
char(20) |
车牌号 |
|
Passtime |
Datetime |
过站时间 |
|
StationNo |
int |
过站站编号 |
|
LaneNo |
int |
过站道编号 |
|
FleeMoney |
int |
逃费金额 |
|
WorkerNo |
char(6) |
收费员工号 |
3.4 黑名单车辆的自动报警
可以将公安、交警通辑的车辆的车牌号录入到黑名单,车辆通过收费站时系统自动报警。黑名单表的格式见表4。
表4 黑名单表
|
字段 |
类型 |
说明 |
|
PlateNo |
char(20) |
车牌号 |
|
Reason |
char(50) |
通辑原因 |
3.5 可疑车辆查询
一般在收费站的管理系统中都安装有数字硬盘录像系统,过站车辆的视频都保存在录像系统中,但如果仅知道车牌号,在录像文件中人工查询要花费大量的时间。如果对每辆过站车都进行车牌识别,将车牌号、过站时间及通行车道都记录下来,则根据车牌号能讯速查询出待查车辆通行收费站的明细情况,再根据通行时间在录像系统回放该车辆的通行过程。
4 结束语
由于种种原因,目前车牌识别率达不到100%,相信在不远的将来,随着技术的进步,图像视觉科技的发展,未来的车牌识别技术将会更加的智能化,在交通领域内的应用也更加广阔。
参考文献
[1] 江苏省交通厅公路局.《江苏公路交通综合稽查技术规范》. 系统内部资料电子版,2007.6
[2] 江苏省交通厅公路局.《江苏省公路通行费收费管理系统技术规范》. 系统内部资料电子版,1999.7
[3] 李香敏. 《SQL Server 2000编程员指南》. 北京希望电子出版社, 2000.12第1版
[4] 黄维通.《Visual C++面向对象与可视化程序设计(第2版)》.清华大学出版社,2005 收稿日期:11 月 2 日 修改日期:12 月 17 日
|