第三篇:系统的整体架构

  LPR系统大体上可由图像采集系统,图像处理系统,数据库管理系统三个子系统组成。它综合了通讯、信息、控制、传感、计算机等各种先进技术,构成一个智能电子系统。

  图像采集系统:图像采集系统主要由传感器、辅助照明设备和图像采集设备组成,主要功能是采集车辆图像。当有车辆经过时会触发感应装置,感应装置一般为地感线圈,触发成功后摄像机或照相机会自动采集当前的图像,最后将采集到的图像传送到计算机或手持的嵌入式系统进行处理。

  图像处理系统:图像处理系统即为本文主要讨论的算法处理模块,为整个系统的软件部分。它主要包括图像预处理、车牌定位、字符分割和字符识别四个部分,它的任务是运用数字图像处理、模式识别等学科对获得的车辆图像进行处理以获得车牌上的字符内容信息,后面章节讲对它每一个部分做一个粗略的介绍。

  数据管理系统:数据管理系统是一个后端管理数据库,它包含了几乎所有的图像输入是指利用摄像机或者数码相机采集到的车牌图像。车牌图像的质量与采集图像的设备和实际环境有关。性能好的摄像机能够得到质量更好的车牌图像,有利于识别车牌图像中的字符。在光照不均、恶劣天气的环境下,采集到的车牌图像的像质较差,导致车牌识别系统的性能降低。车牌登记信息,车牌中的字符信息被识别出来后就输入到这个系统进行查找对比,以方便公安机关追查被盗车辆,打击犯罪分子。

  其中图像处理模块主要包括六个部分:预处理、车牌定位、倾斜校正、字符分割、字符识别。其中,车牌定位、字符分割、字符识别是车牌识别的关键技术。流程图如下:

  图像预处理是指对采集到的图像进行二值化、边缘检测、去除噪声、图像灰度化等操作。经过预处理的车牌图像增能够强目标图像,提高目标和背景图像的对比度,方便车牌识别的后续工作。

  车牌定位是从一幅拍摄到的图片中定位出车牌的位置,并从图片中提取出车牌图像。车牌定位正确与否直接影响到字符分割和识别的工作,是所有关键技术中的第一步。

  倾斜校正是指检测车牌图像的倾斜角度,并校正车牌图像。倾斜的车牌图像会导致车牌中的字符倾斜,直接影响到车牌字符的分割和识别,因此必须对倾斜的车牌图像进行校正。

  字符分割是对提取出的车牌图像进行切割,从车牌图像中提取出单个车牌字符的图像。由于字符识别是以分割出的单个字符为输入,所以字符分割的准确与否直接影响到字符识别。

  字符识别是指对分割出的字符进行处理,识别出车牌中的字符。因为我国的车牌号码的字符包含:汉字、英文字母、数字,增加了对字符识别的难度。字符识别直接影响到整个车牌识别系统结果的准确性。

  这是一个LPR系统最基本的结构组成,每个模块的功能也清晰的给出来了,这对于后续我们的分工有很大的帮助,模块与模块之间耦合度也比较小。

  基于Linux的车牌识别系统,界面基于qt开发,图像处理模块基于opencv,数据库使用的mysql,基本上是在原有的系统上进行修改。原有的系统是在window平台下,使用MFC,opencv的版本是之前的C版本,按照新的架构重新修改代码,数据库部分基本没变,重点更新的是图像处理部分。

  最后,在开发 LPR 算法之前,要确定算法的目的和要求。LPR 算法的最终目的是识别车辆的车牌号码,所以识别正确率自然是系统设计中应该首要考虑的因素。影响识别正确率的因素有很多,主要的有以下几点:一是定位的准确性;二是识别前字符的预处理;三是字符识别的算法。为了提高识别正确率,需要对现有的车牌字符识别算法进行改进,在后面的章节中会有详细的介绍。

  其次,LPR 算法在工作时需要实时处理交通流量信息,所以系统的工作效率——即识别时间也是系统设计时必须要考虑的因素,一般要求在 1s 内能够完成识别,这就要求识别算法的复杂度、运算量不能太大。

  除了算法识别正确率和识别时间外,算法软件的操作界面应尽量简单、友好,还要考虑系统的无故障运行时间,系统体积的大小等因素。最后,算法设计要面向现场、面向终端客户的需求,考虑到 LPR 系统在户外工作,所以要克服外面环境的复杂性及光照条件的变化,设计出一套适应性较强的算法。

车牌识别LPR(三)-- LPR系统整体结构的更多相关文章

  1. 移动端车牌识别——可以嵌入智能手机系统里的新OCR识别技术

    移动端车牌识别技术,是在OCR光学字符识别技术的基础上研发的用来识别汽车号牌特征信息的图像识别技术.在国内,该项技术由北京易泊时代携手清华大学成功地将"国家863计划"项目成果-- ...

  2. 车牌识别LPR系统系列文章汇总

    这里的LPR的的几篇文章是之前项目的一些相关资料的整理,涉及实验室内部的资料就没有放上来,希望能对想了解这方面的同学,有所帮助,那怕了解个大概也好.知道整体的思路就好.当初就是一个人瞎摸索,走了很多的 ...

  3. 车牌识别LPR(一)-- 研究背景

    在年尾用了几天的时间将2014年的所有工作都总结了一遍,将之前的文档综合了下. 以下是LPR系统,车牌识别的一些总结资料. 第一篇:LPR研究背景 汽车的出现改变了以往出行徒步和以马代步的时代,极大地 ...

  4. 车牌识别LPR(四)-- 车牌定位

    第四篇:车牌定位 车牌定位就是采用一系列图像处理或者数学的方法从一幅图像中将车牌准确地定位出来.车牌定位提取出的车牌是整个车牌识别系统的数据来源,它的效果的好坏直接影响到整个系统的表现,只有准确地定位 ...

  5. 车牌识别LPR(二)-- 车牌特征及难点

    第二篇:车牌的特征及难点 2.1  对我国车牌的认识 我国目前使用的汽车牌号标准是 2007 年开始实施的<中华人民共和国机动车号牌>GA36-2007(2010 年修订).根据 GA36 ...

  6. 车牌识别LPR(八)-- 字符识别

    ​第八篇:字符识别 车牌定位.车牌倾斜校正.车牌字符分割都是为车牌字符识别做的前提工作,这些前提工作直接关系到车牌识别系统的性能.车牌字符识别是车牌识别系统的核心部分,车牌字符识别的准确率是衡量车牌识 ...

  7. EasyPR--中文开源车牌识别系统 开发详解(1)

    在上篇文档中作者已经简单的介绍了EasyPR,现在在本文档中详细的介绍EasyPR的开发过程. 正如淘宝诞生于一个购买来的LAMP系统,EasyPR也有它诞生的原型,起源于CSDN的taotao123 ...

  8. 基于opencv的车牌识别系统

    前言 学习了很长一段时间了,需要沉淀下,而最好的办法就是做一个东西来应用学习的东西,同时也是一个学习的过程. 概述     OpenCV的全称是:Open Source Computer Vision ...

  9. javacpp-opencv图像处理系列:国内车辆牌照检测识别系统(万份测试车牌识别准确率99.7%以上,单次平均耗时39ms)

    javaCV图像处理系列: 一.javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置.大小.粗度.翻转.平滑等操作 二.javaCV图像处理之2:实时视频添 ...

随机推荐

  1. ORA-14404

    OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ...

  2. oracle建用户

    create user ng_zj identified by ng_zjdefault tablespace tbs_testtemporary tablespace tbs_test_tmp; g ...

  3. GGS: Sybase to Oracle

    Step 1: Start the GGSCI on Source and Target Source Target Oracle GoldenGate Command Interpreter for ...

  4. linux内核源码注解

    轻松学习Linux操作系统内核源码的方法 针对好多Linux 爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说linux复杂的内核机制:一.核心源程序的文件 ...

  5. Eclipse中使用javap运行配置详解

    javap是sun提供的对class文件进行反编译的工具 1.配置Run---external tools---external tools configurations 选择Program 新建ja ...

  6. C#TCPClient应用-一个简单的消息发送和接收

    TcpSend窗口用于发送消息,另外写一个用于接收消息的应用程序,消息接受到以后,必须要关闭接收消息的窗口,才能在接收新的消息,不知道怎么能解决这个问题. 源代码: 发送消息的窗口代码 using S ...

  7. html onclick 传参数

    <a id="j-im" class="jd-im btn-gray gys-im" href="javascript:(0);" o ...

  8. Android bluetooth low energy (ble) writeCharacteristic delay callback

    I am implementing a application on Android using BLE Api (SDK 18), and I have a issue that the trans ...

  9. 原型prototype -- 深入理解javascript

    /* 原型Prototype */ //一.原型 //原型使用一 var calculator = function (dlg, tax) { this.dlg = dlg; this.tax = t ...

  10. 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)

    // test20.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...