基于OpenCV的智能车牌检测系统

2019-07-08 02:23张曦元
电脑知识与技术 2019年13期
关键词:车牌识别图像处理

张曦元

摘要:随着新一代人工智能以及深度学习的不断发展,并且社会经济的飞速发展和私家车数量的增加,使得对于信息化的智能交通系统研究是十分必要的,本文研究并设计了智能车牌检测系统。其中的图像处理部分使用OpenCV开源库,该系统包括背景差分法检测车辆目标图像、图像预处理以及边缘检测方法分离车牌,最后使用模板匹配方法识别字符,在MFC界面中显示。对于该系统涉及到的图像处理、神经网络以及模式识别技术有深入的研究。

关键词:车牌识别;图像处理;车牌定位

中图分类号:TP393      文献标识码:A

文章编号:1009-3044(2019)13-0225-02

世界范围内高速公路的快速发展使得各国学者不断采用计算机视觉和电子技术来监管车辆的违法信息、速度以及位置等信息。而这些信息主要通过智能车辆运输系统中车牌识别LPR(License Plate Recognition)技术来获取,目前智能车辆运输系统ITS是世界各国交通运输领域前沿的技术的象征和主要研究课题,并且许多发达国家制定了相关的一系列的发展研究计划,其主要的核心是解决日益严重的环境问题和交通运输间的需求。

1 车牌识别技术

如今,随着基于OpenCV的智能车牌检测系统的普及,急需设计智能化的基于OpenCV的智能车牌检测系统。本系统针对车牌识别的模块不同而选择了相应的算法,主要包括以下功能:车辆检测和车辆图像获取;图像预处理;车牌定位;车牌字符分割;车牌字符识别。

本系统采用图像处理技术与计算机视觉和模式识别技术结合,对车牌的识别进行了深入研究,一方面主要分析了车牌识别的原理和流程,另一方面分析了边缘检测中的不同算子在检测车牌轮廓中的应用。最后对于基于OpenCV的智能车牌检测系统进行设计和仿真实验。系统总体设计如图1所示。

2 基于OpenCV的智能车牌检测系统介绍

2.1 车辆检测与图像采集

对于车辆检测而言,传统的停车场、车库、小区门口等场所大多采用检测器,主要有感应式环形线圈车辆检测器、雷达检测器等,其中的环形线圈车辆检测器需要在有车辆路过的监测点地表埋入线圈作为谐振回路,由此实现车辆的到离检测。本系统将车辆检测和车牌识别集合一体,采用背景差分法检测车辆,在固定场景和摄像头的情况下,迅速完整的分割出运动图像,且全部架构于软件设计部分,无需埋线破坏路面和人工安装和操作。

背景差分法需要通过背景建模和前景提取两部分实现运动目标提取,通常背景建模都是收集到整个视频图像序列中的数个帧,经过复杂的计算获得更合理的背景,因本系统所应用到的场景较为单一,为提高效率,拟将视频图像采集到的第一帧为背景,再将运动物体当前的每一帧变化与这一背景帧做差分计算得到目标区域,得到运动的车辆后即抓取照片进行后续的识别。

2.2 图像预处理与车牌区域定位

对于所获取的车辆图像,很容易发现其图像因受自然环境、设备性能和传输过程的影响而造成失真,使图像产生噪点、阴影等。为保证后续检测的鲁棒性,有必要对图片进行预处理。

2.2.1 高斯滤波

滤波是对图像进行图像平滑的一种操作,常见的滤波有线性滤波和非线性滤波,其中高斯滤波是一种非线性低通滤波,能够去除噪声信号,过滤掉某些与要研究图像毫不相关,以无用的形式出现的信号,进而获得亮度平缓渐变且没有噪点的图像,方便后续处理。经过高斯滤波的图像对比如图2。

2.2.2  Sobel边缘检测方法

要定位出车辆的车牌区域,常用的方法有颜色定位法和边缘检测法,其中的颜色定位法是将图像进行通道转换,将颜色空间从RGB模型转换为HSV模型,利用颜色边缘进行定位。但由于颜色定位对光照非常敏感,因在自然环境下的光源强弱差异大,容易造成目标对象的无法定位,因此本系统采用边缘检测方法较为简单有效。

边缘检测常见的各算子有Sobel、LoG、Canny算子,LoG算子经常出现双边缘像素边界,且对噪声敏感,其通常用来判断边缘像素位于图像的明区还是暗区;Canny算子是一种非微分边缘检测算子,不容易受噪声的干扰,能够强有效的分辨出图像的强弱边缘。但在本系统的应用环境中,由于车身本身具有数量庞大的水平边缘,若采用Canny算子,很容易检测到过多的车身边缘而影响车牌的定位,因此采用Sobel算子的边缘检测方法来定义区域。

Sobel算子结合高斯平滑和一阶微分求导,根据方向差分运算与局部加权平均相结合来提取边缘,达到极值则为边缘现象,因此对水平方向的差分有较为优秀的检测效果,常应用且适用于车牌识别场景。对数字图像{f(i,j)}的每个像素,定义Sobel算子如下:

由于Sobel算子只能应用于灰度图像下,先将图像经过灰度通道转换,而后进行检测,Sobel算子在本次设计中经过边缘检测后的图像见图3所示。

2.2.3  车牌区域定位

为了得到精确的车牌区域,首先通过先前的处理求出图片的所有轮廓,对轮廓求最小外接矩形,根据我国车牌的固定大小、长宽比等与矩形验证,筛选出候选区域。由于车牌固定在车身上,如果候选区域在场景中没有较大的旋转角度或变形程度,且包含很多垂直邊缘的矩形块,则为车牌区域的可能性较大。接下来通过角度旋转判断,筛掉旋转角度大于45度的矩形,则留下的区域为车牌。

2.3  字符分割与字符识别

2.3.1  字符分割

字符分割具有定位牌照区域和进一步进行识别处理的功能。将上一步获得的牌照区域进行分割,采用取轮廓的方法,接着找到字符的外接矩形并将字符归一化处理,分割成单独的字符如图4所示。

2.3.2  字符识别

为完成整个系统,最终的步骤是将机器检测到的图像字符转换成文本显示出来,本系统采用模板匹配方式识别汉字、数字和英文等。首先建立字符模板库,将先前分割的归一化的单一字符图像矩阵与模板库中的标准字符做代数减运算,将做差运算后的图像矩阵作为两字符图像的评判标准,运算后的待识别图像矩阵中非零元素越少则与匹配的字库越相似,因而得出匹配结果。

整体系统的界面在Visual Studio中的MFC图形界面实现,最终识别效果如图5。

3结论

本系统在技术上采用了背景差法检测车辆,进而利用OpenCV开源库的多种图像处理功能完成车牌的定位和识别,具有易用性和实用性。对于我以后工作和学习方面的帮助是十分重要的,但是该系统的实现也有很多的不足和不完善之处,例如我国车牌种类的增加、复杂环境的影响等都可能导致识别效果不好,今后将对系统的兼容性和稳定性进行深入的研究。

参考文献:

[1] 张莉莉, 武艳.基于OpenCV的智能车牌检测系统的设计仿真[J].数字技术与应用, 2017(10):127-128.

[2]  刘蜜, 尹睿, 屈天健,等.基于MATLAB的智能基于OpenCV的智能车牌检测系统设计[J].智能城市, 2017(1).

【通联编辑:光文玲】

猜你喜欢
车牌识别图像处理
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
Bayesian-MCMC算法在计算机图像处理中的实践
改进压缩感知算法的图像处理仿真研究
基于图像处理的定位器坡度计算
Photo Shop通道在图像处理中的应用