基于Opencv的车牌号识别系统设计与实现开题报告
2020-05-16 20:18:05
1. 研究目的与意义(文献综述包含参考文献)
随着科技和经济的高速发展,汽车保有量逐年大幅增加,然而日益增多的车辆在带给人们便捷的同时也对传统的车辆管理和交通运行方式产生了巨大的压力和挑战,如交通堵塞和交通事故等问题。要解决这些问题的首要就是对车辆的管理和监控。车辆牌照识别技术(license plate recognition,简称lpr)应运而生。我国车牌识别研究的历史起源于90年代,它是以计算机视觉处理、数字图像处理、模式识别等技术为基础,利用车辆的动态视频或静态图像进行牌照号码、牌照颜色自动识别。其硬件基础一般包括触发设备(监测车辆是否进入视野)、摄像设备、照明设备、图像采集设备、识别车牌号码的处理机(如计算机)等,其软件核心包括车牌定位算法、车牌字符分割算法和光学字符识别算法等。某些车牌识别系统还具有通过视频图像判断是否有车的功能称之为视频车辆检测。一个完整的车牌识别系统应包括车辆检测、图像采集、车牌识别等几部分(如图1所示)。当车辆检测部分检测到车辆到达时触发图像采集单元,采集当前的视频图像。车牌识别单元对图像进行处理,定位出牌照位置,再将牌照中的字符分割出来进行识别,然后组成牌照号码输出。
本文的研究主要在计算机视觉库(opencv)的代码简洁、高效和最优化基础上,以windows系统下 visual studio 2010为软件平台,设计的系统代码执行效率高,实时性好,具有可移植到嵌入式设备等优点,设计出一个较为完整的车牌号识别系统,最终实现车牌定位,车牌号字符分割,车牌号字符识别等功能。
opencv的全称是:open source computer vision library。opencv是一个基于bsd许可(开源)发行的跨平台计算机视觉库,可以运行在linux、windows和mac os操作系统上。它轻量级而且高效#8212;#8212;由一系列 c 函数和少量 c 类构成,同时提供了python、ruby、matlab等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。opencv用c 语言编写,它的主要接口也是c 语言,但是依然保留了大量的c语言接口。该库也有大量的python, java and matlab/octave (版本2.5)的接口。这些语言的api接口函数可以通过在线文档获得。如今也提供对于c#,ch, ruby的支持。
所有新的开发和算法都是用c 接口。一个使用cuda的gpu接口也于2010年9月开始实现。
2. 研究的基本内容、问题解决措施及方案
l 本课题要研究或解决的问题
在计算机视觉越来越发达的今天,车牌识别技术发展迅速,出现了很多比较实用的产品应用于公路收费,停车场管理等。但已有的车牌识别系统普遍存在一些问题,比如说光照强弱的影响,雾霾的影响还有雨雪天气的影响,都会影响到识别的准确率,车辆行驶的速度和汽车牌照的破损等也会造成识别的困难。
另外,世界各国对本国的车辆牌照都有自己的标准规范。根据我国现在的车辆牌照的规范以及管理现状,针对我国的车牌识别主要有以下问题: