彩色图像数据量大,而灰度图像数据里小,对于计算机来说,灰度图像更容易处理,且OpenCV中有些函数也只能用于灰度图像的处理,所以图像灰度化是图像预处理中的重要步骤。图像灰度化可使后续的图像的计算量变少,提高了处理速度,但是灰度化也存在着弊端。灰度图像失去了色彩信息,借助计算机只能使用水平垂直求导的方法,而人类对车牌的定位是基于色彩的,人首先将目光定位到车头或者车位,然后根据车牌一半为蓝底白字或者黄底黑字这一色彩特征准确定位出车牌。这就引起了作者的思考:对于一些水平、垂直求导无法定位的车牌,是否可以让机器借助颜色信息定位到车牌呢?本文作者由于时间关系没有采用颜色定位法,不过可以预见,除了车身或者环境有和车牌颜色一样的情况颜色定位能够准确定位到车牌区域。
OpenCV可以实现图像灰度化,具体调用方法如下:
cvtColor(srcImg,grayImg,CV_BGR2GRAY);
CvtColor是OpenCV里的颜色空间转换函数,其中code表示色彩空间转换的模式,主要有CV_BGR2BGRA、CV_BGRA2BGR、CV_BGR2RGBA、CV_RGBA2BGR、CV_BGR2RGB等,其中转化为灰度图的code为:CV_RGB2GRAY。
本文作者尝试过先进行灰度花再进行高斯模糊的步骤,实验结果表明,基于灰度图像的高斯模糊更容易准确定位到车牌。
(c) 高斯模糊后的图片:
图3.4 高斯模糊后的图像
此步骤将彩色图像转变为灰度图,采用5×5模版对图像进行高斯模糊,来去除由照相机或其他环境噪声(如果不这么做,会得到很多垂直边缘,导致错误的边缘检测。)
高斯模糊(Gaussian Blur),顾名思义就是将图像变平滑,可用来减少图像噪声、降低细节层次。“模糊”可理解为将每个像素都取周围像素的平均值[8]。如图所示目标处理点为2,周围的点都是1。目标点取周围点的平均值,就会变成1。在数值上,这是一种"平滑"。 OpenCV智能车牌识别系统软件设计(4):http://www.751com.cn/zidonghua/lunwen_20651.html