车牌识别采购、研发纵览
《车牌识别采购、研发纵览》是目前最详细的关于车牌识别的资料。本书分两部分:
第一编,介绍车牌识别的技术知识,包括目前我国主要的车牌识别产品名单、车牌识别产品必备/附加的功能,以及车牌识别的应用范围;
第二编,介绍车牌识别的研发知识,其中包括,车牌识别程序的模块、车牌识别程序内核模块的各种类型以及各个子模块的详细算法。
第一编对于广大车牌识别采购人员十分重要;对于广大车牌识别开发人员,要在熟悉了解第一编的基础之上,研读第二编。
第1编 采购
这是《车牌识别采购、研发纵览》的前半部分,是广大车牌识别采购者的必读部分。对于车牌识别研发人员来说也是有很大的参考价值,而且对后面的开发有极大的帮助。
第1章 车牌识别供应商
通过本章,采购人员可以对我国的车牌识别技术水平有一个概括性的认识;研发人员也应该能够了解到这一技术目前的成熟程度。
第1节 车牌识别供应商列表
车牌识别并没有统一的国际标准。本章仅仅列举我国的车牌识别供应商。(因为车牌识别市场比较热门,下面的表格难免遗漏一些新的成员)
名称 | 址 | 备注 |
绿睿(推荐) | www.voicing.cn | 高识别率,速度快 |
SoftWell | www.szsoftwell.com | 较高识别率,速度慢 |
PlateDSP | www.platedsp.com | 识别率较高,速度快 |
CubicPlate | www.cubicimage.com | 普及较广,识别率,速度都是中游水平 |
SupPlate | www.dragonskytech.com | 速度都是中游水平 |
汉王 | www.hanwang.com.cn | 无法拿到试用软件 |
车牌识别供应商 列表
第2节 车牌识别供应商举例——绿睿科技
车牌识别属于知识密集型产业。研发车牌识别需要大量的高级软件人才。绿睿科技公司正是一家拥有大量软件人才的公司。她座落于我国的硅谷——北京中关村。“爱国,勤奋踏实,艰苦创业”是该公司的主题。绿睿公司希望能和合作伙伴一起,实现我国的产业升级和结构性调整,提升合作伙伴产品的附加值。让更多的国内公司积极参与世界经济产业链条中,上游的竞争。
绿睿科技以研发为主,而以市场推广为辅;绿睿集中精力提高产品质量,而将更多利润让给合作伙伴。
绿睿科技全体同仁艰苦创业,于2009年推出车牌识别这一智能交通领域产品。绿睿拥有该产品的核心技术和独立的知识产权,而且不断地对产品进行更新换代。
有关绿睿科技更详细的资料请登陆该公司官方 站:www.voicing.cn。以下是该公司的标示:
向您推荐 —— 绿睿 车牌识别 车牌识别采购、研发纵览
第3章 配套产品
车牌识别作为一项核心技术必须结合其他技术才能被广泛应用。同时资优价廉的车牌识别软件必然会提高相关产品的销售量,其他产品因此实现高附加值。
第1节 照明光源
目前来说,照明光源普遍采用电光源(把电能转换成光能)。因为车牌识别系统本身也消耗电能,所以车牌识别的照明光源全部采用电光源。从发光原理上讲,点光源一般分为以下三大类。
热辐射光源 利用电流的热效应。让光源达到三千度以上的温度。光源便开始发出可见光。热辐射光源通常色温较低,比如我们平常见到黄色光源。性能优良的车牌识别系统不会受此影响。
半导体光源 在电场作用下半导体p-n节发光,电能利用效率高,是近年来新开发的光源类型。可以采用高功率白色的半导体光源,同时也方便将光束投射到车牌上。是夜间车牌识别的理想光源。
需要指出的是,MIS系统和车牌识别同为软件。在整个车牌识别系统中互相配合工作。一般来说,MIS系统理论较为成熟,开发难度不大;而车牌系统理论并没有完全成熟,开发难度极大。但是MIS系统必须针对单个项目单独开发,不容易复制。这就大大提高了MIS系统本身的成本,通常情况下MIS系统要比车牌识别核心模块 价高。因为车牌识别软件较容易复制,从而分担成本。
第3节 相机
车牌识别只能用数码相机,不可以使用传统的模拟相机。数码相机利用感光电子元件把光学信 转换成数字图像信 。感光元件有两种CCD和CMOS。CCD相机质优价高,对车牌识别来说没有必要。如果是对于普通的车牌识别系统,CMOS相机足以满足要求。
相机种类很多,具体到车牌识别相机也有很多种。这里列举一下适合车牌识别使用的相机。
工业相机:性能较好,它速度快,清晰度高。有的借助图像采集卡可以得到更好的效果。适合条件比较恶劣的环境。
QQ摄像头:根据摩尔定律,电子产品——QQ摄像头的性能不断提高,价格不断下降。目前的QQ摄像头性能已经达到或者超过普通监视摄像头的性能水平;而价格十分便宜。将来可能成为车牌识别相机的首选。
数字信 普遍采用以太 传输,使用超五类线。其传输速率高大1000兆,传输距离远达100米完全可以满足车牌识别的需要。数字视频信 经过压缩后,可以节省带宽,不过这对相机有一定的要求。目前车牌识别系统中的视频信 很少压缩。
第4章 软件接口
车牌识别做为一个软件模块,需要提供软件接口,才能够被整合到整个车牌识别系统中,正常工作。
车牌识别适合何种软件接口,下面将一一介绍:
第1节 DLL
DLL的全称是Dynamic Linkable Library,中文名称是动态链接库。他不能单独的运行,需要其它程序加载。DLL最大的优点是应用程序共享代码和其他只读资源,有效地节省系统开支。
更为重要的是DLL迎合了程序的模块思想。所谓的模块就是一个功能相对完整的软件“零件”。一台机器的零部件可能来自于不同的生产厂家;同样的道理,车牌识别应用系统中,车牌识别模块可以由其它厂家提供。
车牌识别系统中,相机驱动程序本质上也是一个动态连接库。
除了windows系统外,linux系统也有类似的思想,不过叫做elf。其中的字母l标示连接的意思。同样地,车牌识别的动态库也可以提供linux的版本。
第2节 ActiveX
ActiveX的本质也是上一节中提到的动态链接库。不过ActiveX的接口更为方便。AcitveX由开发人员事先打包,可以方便的嵌入包括浏览器的各种软件之中。很多语言包括Java都支持ActiveX控件。
ActiveX没有很好的跨平台性,目前仅仅能在windows上运行。虽然如此,但是考虑车牌系统目前也都是在windows系列操作系统上运行,所以车牌识别模块封装成ActiveX控件的优越性也不会打折扣。
另外 页上的ActiveX有一定的安全问题,但是这并不会影响到车牌识别系统的安全性。
向您推荐 —— 绿睿 车牌识别 车牌识别采购、研发纵览
第3节 COM
和ActiveX控件一样,COM的本质也是动态链接库,COM也是有一种共享代码的方法。有了COM,软件工程就可以像是搭积木一样进行,甚至普通人都可以编程序。
对COM的调用者来说,他们看到的每个COM是一个类,类有接口。类和接口都是用GUID标示的。这里的GUID本质上是一个全球唯一的数,任何编程语言都可以处理。
但是目前车牌识别模块,提供COM借口得并不是很多。原因在于COM技术已经过时,微软已经放弃了对COM的维护工作。COM也不如ActiveX控件来得方便。
COM同样也只能用到Windows系列操作系统上。
c/c++语言是一种中级语言,它既有高级语言的简单性,又有和低级语言的相近的高效率。c/c++语言的高级语言特性,使得其描述车牌识别中比较复杂的逻辑较为方便。而其低级语言的特性,使得用c/c++语言开发的车牌识别程序执行速度快,内存开销小。
c/c++语言也十分容易移植,车牌识别的核心程序,在Windows系列操作系统上调试通过后,很容易移植到Linux系列操作系统上,而Linux系列操作系统也可以是在Arm机上运行的。
c是面向结构的,c++是面向对象的。这使得c/c++方便描述复杂的数据结构和算法。适合车牌识别中的字符识别操作。
c/c++语言的资料丰富,技术成熟。 上图像处理方面的程序较多是用c/c++编写,很容易把它们放到自我开的车牌识别程序中去。
c/c++开发环境也比较好,vc支持可视化编程,调试时变量跟踪异常方便,将c/c++不稳定性降到最低。
最为重要的是多数车牌识别程序都是基于c/c++的。
人工智能语言——Prolog
Prolog是目前为止中为重要的人工智能语言之一。他的语法中含有谓词,跟自然语言极为相似。使用Prolog描述完规则和事实后,Prolog内部进行演绎推理,自动给出结果;无需程序员关心内部操作。这样能够就大大加速了车牌识别的研发进程。
Prolog中的事实,用来描述对象和对象之间的关系。事实由谓词和对象组成。比如 Close(current_character,2). 表示当前识别的字符有两个封闭区域(车牌识别中“B”和“8”中的情况)。
Prolog中的规则由多个相关的简单句子组成。规则中结论放在前面,条件放在后面。例如:Q(character):-Anisomerous(character),Close(character,1). 表示如果字符只有一个封闭区域,而其不对称的话,那么这个字符是“Q”。
Prolog中的目标可以在事实和规则提交之后自动得到。
Prolog拥有和c语言的接口,Prolog可以融入c/c++的工程中。方便将整个车牌程序整合在一起。
Matlab
使用Matlab开发车牌识别比较快,但是最后发行软件的时候不容易脱离开Malab的环境。可以用Matlab研究车牌识别算法,但是开发车牌识别Malab并不是首选。
向您推荐 —— 绿睿 车牌识别 车牌识别采购、研发纵览
arm机
Arm机是典型的精简指令系统。执行速度快,也是车牌识别的一个不错的硬件环境。
按性价比计算Arm机要比奔腾机好。如果算上周边芯片组成计算机系统,Arm机更占据成本优势。
Arm机基于Linux操作系统,车牌识别产品不会包含Windows的版本费用。Windows下面也有良好的Arm机调试环境。更可以移植已经在Windows环境下调试成功的软件。
同样地,64位的Arm机对车牌识别软件没有很大的帮助。
Arm机市面上较少,不容易购买,这是其一大缺点。
二值化算法虽然简单,但是阈值却不容易寻找。本章后面的部分,将重点介绍各种求解阈值的算法。
向您推荐 —— 绿睿 车牌识别 车牌识别采购、研发纵览
第1节 OTSU
OTSU算法的思想是:把输入图像首先转换成灰度图象,然后对图像进行直方图分析。如果直方图呈双峰分布。那么双峰之间的“谷”就是阈值。从统计学角度讲,阈值两边的距离最大。
由于车牌识别的特殊性,图象象素点的亮度为该象素点的红色分量和绿色分量的和,并且忽略蓝色分量。这一点对蓝色车牌和黄色车牌都是适用的。
OTSU算法仅对直方图呈双峰分布的图像有效。
全部代码如下:
第2节 Matlab算法
使用Matlab进行车牌识别,也是一个比较好的选择。在Matlab的环境中首先把输入的彩色图像使用命令rgb2gray转换成灰度图像。有了灰度图像就可以使用命令graythresh获得阈值了。最后使用命令im2bw对图像进行二值化。十分方便!代码如下:
I=imread(‘blood1.tif’);
imhist(I);
% 人工观察灰度直方图,发现灰度120处有谷,确定阈值T=120
I1=im2bw(I,12
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!