发明内容
本发明提供了一种车牌检测与识别的方法及系统,通过提取检测地点的视频或者录像的视频帧图像,并检测、识别视频帧图像中的车牌,避免了触发线圈的使用,实现多个车牌的检测。
为实现本发明目的提供的一种车牌检测与识别的方法,包括以下步骤:
从监控视频流或录像中读取视频帧图像;
对所述读取视频帧图像进行预处理;
通过车牌确定的方法检测出所述读取视频帧图像中包含车牌的视频帧图像,确定视频帧图像中的车牌区域个数及坐标;
对所述车牌区域进行车牌识别;
将所述车牌识别结果及所述包含车牌的视频帧图像传送到终端显示。
较佳地,作为一种可实施方式,所述对所述读取视频帧图像进行预处理包括以下步骤:
设定所述读取视频帧图像中感兴趣区域;
将所述感兴趣区域图像转换为灰度图;
通过下面的公式将视频或者录像中的彩色RGB视频帧图像转换为灰度图像:
GRAY(i,j)=0.299R(i,j)+0.587G(i,j)+0.114B(i,j),
其中i,j为图像纵横坐标,i=1,2,3,…,m,m为图像高度,j=1,2,3,…,n,n为图像宽度,R(i,j)、G(i,j)、B(i,j)分别为像素坐标为(i,j)处的红绿蓝三通道的像素值,GRAY(i,j)为像素坐标为(i,j)处的灰度值;
通过中值滤波对所述感兴趣区域图像进行平滑处理;
采用中值滤波的方法对所述视频帧图像中的感兴趣区域进行平滑处理,滤除图像噪声;
对所述感兴趣区域图像进行边缘检测;
采用LOG算子,结合高斯平滑滤波器与拉普拉斯锐化滤波器,平滑滤波去除噪声点,锐化检测边缘,得到受噪声点干扰较低的边缘值B;
计算所述感兴趣区域图像的三值图;
设定阈值k根据感兴趣区域的边缘值B计算感兴趣区域的三值图,
当像素点B(i,j)>k时,T(i,j)=0;
当像素点B(i,j)<-k,T(i,j)=255;
当像素点-k≤B(i,j)≤k,T(i,j)=128;
其中B(i,j)为像素坐标为(i,j)处的边缘值,T(i,j)为像素坐标为(i,j)处的三值图值,得到感兴趣区域的三值图。
较佳地,作为一种可实施方式,所述通过车牌确定的方法检测出所述读取视频帧图像中包含车牌的视频帧图像,确定视频帧图像中的车牌区域个数及坐标,包括以下步骤:
在所述感兴趣区域中进行车牌粗确定,根据图像预处理得到的视频帧图像中感兴趣区域的三值图,分隔连通域获得候选车牌区域,确定候选车牌区域的个数及坐标;
对所述候选车牌区域进行车牌细确定,调整候选车牌区域边框,当候选车牌区域宽度或高度大于所设最大阈值时,去除多余的部分,重新调整候选车牌区域外框;当候选车牌区域小于所设最小阈值时,去除所述候选车牌区域;
当一个候选车牌区域被另一个候选车牌区域包含时,则去除被包含的较小候选车牌区域;
当两个候选车牌区域重叠比例超过所设阈值时,则去除其中一个候选车牌区域;
确定车牌区域的个数及坐标;
返回所述感兴趣区域中车牌区域的个数及所述车牌区域的坐标。
较佳地,作为一种可实施方式,所述通过车牌确定的方法检测出所述读取视频帧图像中包含车牌的视频帧图像,确定视频帧图像中的车牌区域个数及坐标,还包括以下步骤:
所述感兴趣区域中车牌个数为零时,结束车牌识别,返回读取下一帧要进行车牌检测与识别的视频帧图像。
较佳地,作为一种可实施方式,所述对所述车牌区域进行车牌识别,包括以下步骤:
将所确定的车牌区域由底到顶排序;
提取所述车牌区域,采用HOUGH变换的方法估计倾斜角度,对所述车牌区域进行倾斜校正;
去除所述车牌区域的上下左右边框,计算去除边框后的车牌区域的垂直方向差分图像投影图,根据波谷位置进行汉字、字母、数字三种字符图像分割;
通过公式:
计算车牌区域的垂直方向差分图像投影图,其中i为图像纵坐标,i=1,2,3,…,m,m为图像高度,j为图像横坐标,j=1,2,3,…,n,n为图像宽度,n、m为正整数;V(j)为垂直方向差分图像投影值;
去除所述车牌区域的上下左右边框,计算去除边框后的车牌区域的垂直方向差分图像投影图,根据波谷位置进行汉字、字母、数字三种字符图像分割;
判断分割出的字符区域的个数,字符区域个数为预设值时,继续对字符进行识别;字符区域个数与预设值不相符时,返回提取下一车牌区域;
通过采用SVM方法训练出的汉字、字母、数字字符图像三种字库特征集,运用基于模板匹配的OCR技术实现三种字符识别,并根据车牌的先验值确定是否为车牌,如果是车牌则执行后续步骤对车身颜色进行识别,如果不是车牌,返回提取下一车牌区域;
根据车牌在车身区域位置特征,结合提取出的车牌区域坐标,在所读取的视频帧彩色图像中确定对应的车身区域,识别出车身颜色;
根据车牌区域坐标,提取已识别出的车牌在所读取的视频帧图像中的车牌区域图像,将所述彩色图像由RGB图像转换为HSV图像,并计算H通道的直方图,根据最大的H值判断车牌底色。
相应的,本发明还提供一种车牌检测与识别的系统,其包括视频采集模块、车牌检测与识别模块和终端显示模块,其中:
所述视频采集模块用于采集监测地点的视频图像;
包括安装在监测地点的摄像头、传输线路以及视频存储设备,将采集到的视频图像传递给车牌检测与识别模块进行进一步的车牌的检测与识别;
所述车牌检测与识别模块用于检测与识别视频图像中的车牌,确定车牌的底色及所属车身颜色;
所述终端显示模块用于显示识别出的车牌、车牌颜色、车身颜色以及包含车牌图像的视频帧图像。
较佳地,作为一种可实施方式,所述车牌检测与识别模块,包括视频帧图像读取模块、图像预处理模块、车牌检测模块、车牌识别模块及车牌识别结果输出模块,其中:
所述所述视频帧图像读取模块用于读取视频采集模块所采集的视频或录像中的视频帧图像;
所述图像预处理模块用于对所读取的视频帧图像进行图像预处理;
所述车牌检测模块用于检测出所读取的视频帧图像中的感兴趣区域中车牌区域的个数及其坐标;
所述车牌识别模块用于识别出具体的车牌、车牌底色及车身颜色;
所述车牌识别结果输出模块用于发送车牌识别结果及所述包含车牌的视频帧图像传送到终端显示。
较佳地,作为一种可实施方式,所述图像预处理模块,包括感兴趣区域设定子模块、灰度图转换子模块、平滑处理子模块、边缘检测子模块和三值图计算子模块,其中:
所述感兴趣区域设定子模块用于设定所读取的视频帧图像中的感兴趣区域;
将视频监控录像中车辆进出口区域设定为感兴趣区域;
所述灰度图转换子模块用于将所述感兴趣区域图像转换为灰度图;
通过下面的公式将视频或者录像中的彩色RGB视频帧图像转换为灰度图像:
GRAY(i,j)=0.299R(i,j)+0.587G(i,j)+0.114B(i,j),
其中i,j为图像纵横坐标,i=1,2,3,…,m,m为图像高度,j=1,2,3,…,n,n为图像宽度,R(i,j)、G(i,j)、B(i,j)分别为像素坐标为(i,j)处的红绿蓝三通道的像素值,GRAY(i,j)为像素坐标为(i,j)处的灰度值;
所述平滑处理子模块用于对所述感兴趣区域的灰度图进行平滑处理;
采用中值滤波的方法对所述视频帧图像中的感兴趣区域进行平滑处理,滤除图像噪声;
所述边缘检测子模块用于对所述感兴趣区域近行边缘检测;
采用LOG算子,结合高斯平滑滤波器与拉普拉斯锐化滤波器,平滑滤波去除噪声点,锐化检测边缘,得到受噪声点干扰较低的边缘值B;
所述三值图计算子模块用于计算感兴趣区域的灰度图像的三值图;
设定阈值k根据感兴趣区域的边缘值B计算感兴趣区域的三值图,
当像素点B(i,j)>k时,T(i,j)=0;
当像素点B(i,j)<-k,T(i,j)=255;
当像素点-k≤B(i,j)≤k,T(i,j)=128;
其中B(i,j)为像素坐标为(i,j)处的边缘值,T(i,j)为像素坐标为(i,j)处的三值图值,得到感兴趣区域的三值图。
较佳地,作为一种可实施方式,所述车牌检测模块,包括车牌粗确定子模块和车牌细确定子模块,其中:
所述车牌粗确定子模块用于分割所读取的视频帧图像中感兴趣区域的三值图的连通区域,对车牌进行粗确定,获得候选车牌区域及其坐标;
所述车牌细确定子模块用于调整所确定的候选车牌区域,确定车牌区域的个数及其坐标;
所述调整所确定的候选车牌区域包括,调整候选车牌区域边框,当候选车牌区域宽度或高度大于所设最大阈值时,去除多余的部分,重新调整候选车牌区域外框;当候选车牌区域小于所设最小阈值时,去除所述候选车牌区域;当一个候选车牌区域被另一个候选车牌区域包含时,则去除被包含的较小候选车牌区域;当两个候选车牌区域重叠比例超过所设阈值时,则去除其中一个候选车牌区域。
较佳地,作为一种可实施方式,所述车牌识别模块,包括排序子模块、倾斜矫正子模块、字符分割子模块、字符区域个数判定子模块、字符识别子模块、车身颜色识别子模块和车牌颜色识别子模块,其中:
所述排序子模块用于对车牌检测模块所检测出车牌区域进行排序;
所述倾斜矫正子模块用于对提取出的车牌区域进行倾斜矫正;
按排序子模块所确定的车牌区域顺序每次提取一个车牌区域,采用HOUGH变换的方法估计所提取的车牌区域的倾斜角度,并对车牌区域进行倾斜矫正;
所述字符分割子模块用于对倾斜矫正后的车牌区域中的字符进行字符分割;
去除所述车牌区域的上下左右边框,计算去除边框后的车牌区域的垂直方向差分图像投影图,根据波谷位置进行汉字、字母、数字三种字符图像分割;
通过公式:
计算车牌区域的垂直方向差分图像投影图,其中i为图像纵坐标,i=1,2,3,…,m,m为图像高度,j为图像横坐标,j=1,2,3,…,n,n为图像宽度,n、m为正整数;V(j)为垂直方向差分图像投影值;
所述字符区域个数判定子模块用于判断所述字符分割子模块分割出的字符区域的个数并和预设值进行比较;
字符个数与预设值相同时,则交给字符识别子模块对字符进行进一步的识别,当字符区域个数和预设值不同时,则判定此车牌区域为无效车牌区域,则舍弃此车牌区域,不进行进一步的识别操作;
所述字符识别子模块用于识别车牌区域中的字符,并根据车牌的先验值判断是否为车牌;
通过采用SVM方法训练出的汉字、字母、数字字符图像三种字库特征集,运用基于模板匹配的OCR技术实现三种字符识别,并判断识别出的车牌区域中字符组是否为车牌,如果是车牌则进行下一步的识别操作,如果不是,则返回对下一个车牌区域进行识别;
所述车身颜色识别子模块用于识别车牌所属车身的颜色;
根据车牌在车身区域位置特征,结合提取出的车牌区域的坐标,在所读取的视频帧彩色图像中确定对应的车身区域,识别出车身颜色;
所述车牌颜色识别子模块用于判断识别出的车牌的底色;
根据车牌区域坐标,提取已识别出的车牌在所读取的视频帧图像中的车牌区域图像,将所述彩色图像由RGB图像转换为HSV图像,并计算H通道的直方图,根据最大的H值判断车牌底色。
本发明的有益效果包括:
本发明提供的一种车牌检测与识别的方法及系统,通过直接读取视频或录像中的视频帧,避免了触发线圈的使用,通过车牌确定的方法检测出所述读取视频帧图像中包含车牌的视频帧图像,确定视频帧图像中的车牌区域个数及坐标,对车牌区域进行车牌识别,实现了多个车牌的检测与识别,确定车牌底色的同时,能够确定车牌所属车身的的颜色,为智能交通的管理提供了极大便利。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明实施例的车牌检测与识别的方法及系统的具体实施方式进行说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的车牌检测与识别的方法,如图1所示,包括以下步骤:
S100,从监控视频流或录像中读取视频帧图像;
S200,对所述读取视频帧图像进行预处理;
S300,通过车牌确定的方法检测出所述读取视频帧图像中包含车牌的视频帧图像,确定视频帧图像中的车牌区域个数及坐标;
S400,对所述车牌区域进行车牌识别;
S500,将所述车牌识别结果及所述包含车牌的视频帧图像传送到终端显示。
下面对上述步骤做详细具体的说明:
所述S100,从监控视频流或录像中读取视频帧图像,为从监控地所拍摄的视频中读取视频帧图像,所述监控地包括道路、小区、大型停车场、飞机场等有车辆经过的区域。
此处需要说明的是,在不影响车牌检测与识别的前提下,读取视频流或录像中的视频帧可以每几帧读取一次,当然也可以对每进行车牌检测,本领域技术人员可以理解,每个车牌在多个视频帧图像中都会出现,所以每几帧读取视频帧图像不影响车牌的检测与识别。
较佳地,作为一种可实施方式,本实施例中,每3帧读取一帧视频帧图像。
较佳地,作为一种可实施方式,所述S200,对所述读取视频帧图像进行预处理,包括以下步骤:
S210,设定所述读取视频帧图像中感兴趣区域;
所述感兴趣区域是指,设定的视频帧图像中可能包含车牌的区域,将视频监控录像中车辆进出口区域设定为感兴趣区域;
因为视频图像中一般包含的区域范围较大,而其中可能存在车牌图像的区域相对较小,所以将视频帧图像中可能包含车牌图像的区域设定为感兴趣区域,减少运算时间,缺省设置为整幅视频帧图像。
此处需要说明的是,所述感兴趣区域大小及位置根据不同的监测地点的视频或者录像而不同。
S220,将所述感兴趣区域图像转换为灰度图;
由于所读取的监控地点的视频或者录像中的视频帧图像为彩色图像,数据量很大,因此需要把所读取的视频帧图像为灰度图,以便后续快速的对图像进行处理。
将视频或者录像中的RGB彩色视频帧图像转换为灰度图像通过下面的公式实现:
GRAY(i,j)=0.299R(i,j)+0.587G(i,j)+0.114B(i,j),
其中i,j为图像纵横坐标,i=1,2,3,…,m,m为图像高度,j=1,2,3,…,n,n为图像宽度,R(i,j)、G(i,j)、B(i,j)分别为像素坐标为(i,j)处的红绿蓝三通道的像素值,GRAY(i,j)为像素坐标为(i,j)处的灰度值。
S230,通过中值滤波对所述感兴趣区域图像进行平滑处理;
此处需要说明的是,所读取的视频帧图像中会含有一些图像噪声,本实施例中,采用中值滤波的方法对所述视频帧图像中的感兴趣区域进行平滑处理,即滤除图像噪声。
S240,对所述感兴趣区域图像进行边缘检测;
为减少噪声点干扰,采用LOG算子,结合高斯平滑滤波器与拉普拉斯锐化滤波器,先平滑滤波去除噪声点,再锐化检测边缘,从而得到受噪声点干扰较低的边缘值B。
此处需要说明的是,所述噪声点是指,图像中灰度值与周围相差很大的像素点,这些像素点对边缘检测有一定影响。
S250,计算所述感兴趣区域图像的三值图。
所述三值图包括黑、灰、白三种颜色,它可以完整保留图像的中间“灰”,避免图像二值化对中间“灰”可能出现的分类错误。保留的中间“灰”可以后续的车牌识别中动态地被视为车牌底色或字符颜色,从而能弥补受光照不均或车牌脏的影响造成的图像二值化中导致图像信息缺失的问题,有利于提高后续步骤中车牌字符识别的正确率。
较佳地,作为一种可实施方式,本实施例中,所述计算感兴趣区域图像的三值图通过以下步骤实现:
设定阈值k=3,根据感兴趣区域的边缘值B计算感兴趣区域的三值图,
当像素点B(i,j)>k时,T(i,j)=0;
当像素点B(i,j)<-k,T(i,j)=255;
当像素点-k≤B(i,j)≤k,T(i,j)=128。
其中B(i,j)为像素坐标为(i,j)处的边缘值,T(i,j)为像素坐标为(i,j)处的三值图值。
从而得到感兴趣区域的三值图。
较佳地,作为一种可实施方式,所述S300,通过车牌确定的方法检测出所述读取视频帧图像中包含车牌的视频帧图像,确定视频帧图像中的车牌区域个数及坐标,包括以下步骤:
S310,在所述感兴趣区域中进行车牌粗确定,根据图像预处理得到的视频帧图像中感兴趣区域的三值图,分隔连通域获得候选车牌区域,确定候选车牌区域的个数及坐标;
根据车牌长宽比例为3:1的先验知识,将符合这一约束条件的感兴趣区域中的连通区域作为候选车牌区域。并计算候选车牌区域的个数。通过此步骤初步确定所述视频帧图像中的的车牌区域,获得候选车牌区域个数及相对应的候选车牌区域的坐标。
S320,对所述候选车牌区域进行车牌细确定,调整候选车牌区域边框,当候选车牌区域宽度或高度大于所设最大阈值时,去除多余的部分,重新调整候选车牌区域外框;当候选车牌区域小于所设最小阈值时,去除所述候选车牌区域;当一个候选车牌区域被另一个候选车牌区域包含时,则去除被包含的较小候选车牌区域;当两个候选车牌区域重叠比例超过所设阈值时,则去除其中一个候选车牌区域;确定车牌区域的个数及坐标;
经过上述步骤的车牌粗确定可以初步确定车牌区域,通过调整所述车牌候选区域进行车牌细确定。
所述候选车牌区域的宽度或高度大于所设最大阈值时,去除候选车牌区域中超过所设最大阈值的部分,得到图像大小在所设最大阈值范围内的候选车牌区域,并同时调整新的候选车牌区域的边框。
此处需要说明的是,所述阈值为候选车牌区域的高度值或宽度值,其具体大小和根据检测地点的不同而不同,对于不同检测地点的视频或者录像中,所拍摄的车牌图像最大值和最小值有所不同,根据不同地点所能拍摄到的车牌图像的最大值和最下值设定车牌区域阈值。
本实施例中最大阈值设定为:车牌区域宽度最大值为输入视频帧图像的25%;当步骤S310中所确定的车牌候选区域大于视频帧图像的25%时,则按照车牌宽高3:1的比例对超出部分进行去除。
当候选车牌区域小于所设最小阈值时,去除所述候选车牌区域;
对于过小的候选车牌区域,一般可以确定为非有效车牌区域,即使是真实的车牌图像,由于图像过小也不能通过后续步骤有效的进行车牌识别,所以予以去除,同时调整车牌区域的数量。
本实施例中,设定车牌宽度最小阈值为视频帧图像的8%,当候选车牌区域的宽度小于视屏帧图像的8%时,则确定此候选车牌区域为非有效车牌区域,予以去除,同时调整车牌区域的数量,即车牌数量减一。
当一个候选车牌区域被另一个候选车牌区域包含时,则要去除被包含的较小的候选车牌区域,去除较小的候选车牌区域,保留较大的候选车牌区域能够保证候选车牌区域的完整性,以便后续进一步对车牌进行识别,同时对车牌区域的数量进行调整,即车牌数量减一。
对于车牌粗确定所确定的候选车牌区域,有可能存在两个候选车牌区域重叠的情况,当两个候选车牌区域重叠的比例超过所设定的阈值时,则去除其中一个候选车牌区域,并调整保留候选车牌区域的外边框,保证候选车牌区域的完整性,同时调整车牌数量,即车牌数量减一。
本实施例中候选车牌区域重叠比例阈值设定为80%,当两个候选车牌的重叠比例大于等于阈值即80%时,去除两个重叠候选车牌中的一个,并对保留的车牌区域边框进行调整,保证车牌区域的完整性,同时,车牌区域数量减一。
S330,返回所述感兴趣区域中车牌区域的个数及所述车牌区域的坐标。
对于十字路口等检测地点,视频帧图像中所包含的车牌个数可能是多个,所确定的车牌区域个数也为多个;返回感兴趣区域中车牌区域个数值及每个车牌区域的坐标。
较佳地,作为一种可实施方式,步骤S300还包括以下步骤:
S340,所述感兴趣区域中车牌个数为零时,结束车牌识别,返回执行步骤S100,读取下一帧要进行车牌检测与识别的视频帧图像。
当监测地没有车辆通过时,所述感兴趣区域中车牌区域个数为0,此时不需要进一步的进行车牌识别,直接对视频或者录像的下一帧进行车牌检测与识别,即返回执行步骤S100.
较佳地,作为一种可实施方式,所述S400,对所述车牌区域进行车牌识别,包括以下步骤:
S410,将所确定的车牌区域由底到顶排序;
将步骤S300所确定的车牌区域由底到顶排序,后续按顺序对车牌进行进一步的识别,即先识别感兴趣区域中底部的车牌区域,最后识别感兴趣区域中顶部的车牌区域。
S420,提取所述车牌区域,采用HOUGH变换的方法估计倾斜角度,对所述车牌区域进行倾斜校正;
从所述感兴趣区域中提取所要进一步识别的车牌区域,对所确定的车牌区域进行进一步的识别处理,采用HOUGH变换的方法估计所提取的车牌区域的倾斜角度,并对车牌区域进行倾斜矫正使所述车牌区域图像边框线处于水平或垂直位置,以便后续准确提取车牌字符。
S430,去除所述车牌区域的上下左右边框,计算去除边框后的车牌区域的垂直方向差分图像投影图,根据波谷位置进行汉字、字母、数字三种字符图像分割;
去除车牌区域的边框,避免车牌区域的边框对车牌区域的垂直方向差分图像投影图产生的影响,影响后续根据波谷位置进行字符分割。
所述计算去除边框后的车牌区域的垂直方向差分图像投影图,通过以下公式实现:
其中i为图像纵坐标,i=1,2,3,…,m(m为正整数),m为图像高度,j为图像横坐标,j=1,2,3,…,n(n为正整数),n为图像宽度。V(j)为垂直方向差分图像投影值。
所述波谷位置,即车牌区域垂直方向差分图像投影值V(j)较小的位置。将投影值V(j)较大的连续图像区域确定为单个字符区域,以便后续对字符进行进一步的识别判断。
S440,判断分割出的字符区域的个数,字符区域个数为预设值时,执行步骤S450,字符区域个数与预设值不相符时,执行步骤S420;
此处需要说明的是,对于中国车牌,车牌字符个数为7个,所以所述预设值为7,当对车牌区域进行字符分割,分割出的字符区域个数为7个时,则执行步骤S460对字符区域进行字符识别,当字符区域个数不为7时,则返回执行步骤S420对下一个车牌区域进行识别;
在中国车牌识别过程中,如果字符区域个数不为7,则可以判定此车牌区域为一个无效的车牌区域,因此舍弃此车牌区域,无需进行进一步的字符识别,提高车牌识别的效率。
S450,通过采用SVM方法训练出的汉字、字母、数字字符图像三种字库特征集,运用基于模板匹配的OCR技术实现三种字符识别,并根据车牌的先验值确定是否为车牌,如果是车牌则执行步骤S460,如果不是车牌,则执行步骤S420;
使用OCR技术对步骤S430分割出的字符图像进行识别,判断出车牌中每个具体字符,并根据车牌的先验值判断识别出的字符组是否为车牌,举例说明为,中国的车牌由汉字、字母、及数字组成,如果识别出的字符组只包含数字,则可以判定此车牌区域并不是一个真正的车牌,不需要进行进一步的识别,执行步骤S420,判断下一个车牌区域;当判断出字符组为车牌时,则执行步骤S460,进行进一步的识别。
S460,根据车牌在车身区域位置特征,结合提取出的车牌区域坐标,在所读取的视频帧彩色图像中确定对应的车身区域,识别出车身颜色;
较佳地,作为一种可实施方式,本实施例中,根据车牌在车身区域的位置特征,设定在车牌的左方和右方各1.5倍,上方9倍,下方1.5倍区域为车身识别区域部分,将车身识别区域图像转换为HSV图像,并计算H通道的直方图,根据最大的H值判断车身颜色;
S470,根据车牌区域坐标,提取已识别出的车牌在所读取的视频帧图像中的车牌区域图像,将所述彩色图像由RGB图像转换为HSV图像,并计算H通道的直方图,根据最大的H值判断车牌底色。
S500,将所述车牌识别结果及所述包含车牌的视频帧图像传送到终端显示;
发送识别出的车牌、车牌颜色及车身颜色到终端显示设备,并同时发送所述车牌所在的视频帧图像到终端显示设备。
本发明实施例的车牌检测与识别的方法,通过直接读取视频或录像中的视频帧,使用车牌确定的方法检测出包含车牌的视频帧图像,并确定视频帧图像中车牌的个数及坐标,再对所检测到的车牌进行车牌识别得到车牌字符、车牌底色、字符颜色以及车身颜色,并传送车牌识别结果及包含车牌的视频帧图像到终端显示。成功实现了多个车牌的检测与识别,并能同时确定车牌所属车身的颜色,为智能交通的管理提供了极大便利。
基于同一发明构思,本发明实施例还提供了一种车牌检测与识别的系统,由于此系统解决问题的原理与前述一种车牌检测与识别的方法相似,因此,该系统的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例提供的一种车牌检测与识别的系统,如图2所示,包括视频采集模块100、车牌检测与识别模块200和终端显示模块300,其中:
所述视频采集模块100用于采集监测地点的视频图像,包括安装在监测地点的摄像头、传输线路以及视频存储设备。可以将采集到的视频图像传递给车牌检测与识别模块200进行进一步的车牌的检测与识别。
所述车牌检测与识别模块200用于检测与识别视频图像中的车牌,确定车牌的底色及所属车身颜色。如图3所示,其具体包括视频帧图像读取模块210、图像预处理模块220、车牌检测模块230、车牌识别模块240及车牌识别结果输出模块250,其中:
所述视频帧图像读取模块210用于读取视频采集模块100所采集的视频或录像中的视频帧图像。
所述图像预处理模块220用于对所读取的视频帧图像进行图像预处理,如图4所示,其具体包括感兴趣区域设定子模块221、灰度图转换子模块222、平滑处理子模块223、边缘检测子模块224和三值图计算子模块225,其中:
所述感兴趣区域设定子模块221用于设定所读取的视频帧图像中的感兴趣区域。
所述感兴趣区域是指,设定的视频帧图像中可能包含车牌的区域,将视频监控录像中车辆进出口区域设定为感兴趣区域;
因为视频图像中一般包含的区域范围较大,而其中可能存在车牌图像的区域相对较小,所以将视频帧图像中可能包含车牌图像的区域设定为感兴趣区域,减少运算时间,缺省设置为整幅视频帧图像。
所述灰度图转换子模块222用于将所述感兴趣区域图像转换为灰度图;
由于所读取的监控地点的视频或者录像中的视频帧图像为彩色图像,数据量很大,因此需要把所读取的视频帧图像为灰度图,以便后续快速的对图像进行处理。
将视频或者录像中的彩色RGB视频帧图像转换为灰度图像通过下面的公式实现:
GRAY(i,j)=0.299R(i,j)+0.587G(i,j)+0.114B(i,j),
其中i,j为图像纵横坐标,i=1,2,3,…,m,m为图像高度,j=1,2,3,…,n,n为图像宽度,R(i,j)、G(i,j)、B(i,j)分别为像素坐标为(i,j)处的红绿蓝三通道的像素值,GRAY(i,j)为像素坐标为(i,j)处的灰度值。
所述平滑处理子模块223用于对所述感兴趣区域的灰度图进行平滑处理;
本实施中,采用中值滤波的方法对所述视频帧图像中的感兴趣区域进行平滑处理,即滤除图像噪声。
所述边缘检测子模块224用于对所述感兴趣区域近行边缘检测;
较佳地,作为一种可实施方式,为减少噪声点干扰,本实施例中采用LOG算子,结合高斯平滑滤波器与拉普拉斯锐化滤波器,先平滑滤波去除噪声点,再锐化检测边缘,从而得到受噪声点干扰较低的边缘值B。
所述三值图计算子模块225用于计算感兴趣区域的灰度图像的三值图;
较佳地,作为一种可实施方式,本实施例中,设定阈值k=3,根据感兴趣区域的边缘值B计算感兴趣区域的三值图,
当像素点B(i,j)>k时,T(i,j)=0;
当像素点B(i,j)<-k,T(i,j)=255;
当像素点-k≤B(i,j)≤k,T(i,j)=128。
其中B(i,j)为像素坐标为(i,j)处的边缘值,T(i,j)为像素坐标为(i,j)处的三值图值。
从而得到感兴趣区域的三值图。
所述车牌检测模块230用于检测出所读取的视频帧图像中的感兴趣区域中车牌区域的个数及其坐标,如图5所示,其具体包括车牌粗确定子模块231和车牌细确定子模块232,其中:
所述车牌粗确定子模块231用于分割所读取的视频帧图像中感兴趣区域的三值图的连通区域,对车牌进行粗确定,获得候选车牌区域及其坐标;
所述分割是指,根据车牌长宽比例为3:1的先验知识,将符合这一约束条件的感兴趣区域中的连通区域作为候选车牌区域。并计算候选车牌区域的个数。通过此步骤初步确定所述视频帧图像中的的车牌区域,获得候选车牌区域个数及相对应的候选车牌区域的坐标。
所述车牌细确定子模块232用于调整所确定的候选车牌区域,确定车牌区域的个数及其坐标。
所述调整所确定的候选车牌区域包括,调整候选车牌区域边框,当候选车牌区域宽度或高度大于所设最大阈值时,去除多余的部分,重新调整候选车牌区域外框;当候选车牌区域小于所设最小阈值时,去除所述候选车牌区域;当一个候选车牌区域被另一个候选车牌区域包含时,则去除被包含的较小候选车牌区域;当两个候选车牌区域重叠比例超过所设阈值时,则去除其中一个候选车牌区域;
所述候选车牌区域的宽度或高度大于所设最大阈值时,去除候选车牌区域中超过所设最大阈值的部分,得到图像大小在所设最大阈值范围内的候选车牌区域,并同时调整新的候选车牌区域的边框。
较佳地,作为一种可实施方式,本实施例中最大阈值设定为:车牌区域宽度最大值为输入视频帧图像的25%;当步骤S310中所确定的车牌候选区域大于视频帧图像的25%时,则按照车牌宽高3:1的比例对超出部分进行去除。
对于过小的候选车牌区域,一般可以确定为非有效车牌区域,即使是真实的车牌图像,由于图像过小也不能通过后续步骤有效的进行车牌识别,所以予以去除,同时调整车牌区域的数量。
较佳地,作为一种可实施方式,本实施例中,设定车牌宽度最小阈值为视频帧图像的8%,当候选车牌区域的宽度小于视屏帧图像的8%时,则确定此候选车牌区域为非有效车牌区域,予以去除,同时调整车牌区域的数量,即车牌数量减一。
当一个候选车牌区域被另一个候选车牌区域包含时,则要去除被包含的较小的候选车牌区域,去除较小的候选车牌区域,保留较大的候选车牌区域能够保证候选车牌区域的完整性,以便后续进一步对车牌进行识别,同时对车牌区域的数量进行调整,即车牌数量减一。
对于车牌粗确定所确定的候选车牌区域,有可能存在两个候选车牌区域重叠的情况,当两个候选车牌区域重叠的比例超过所设定的阈值时,则去除其中一个候选车牌区域,并调整保留候选车牌区域的外边框,保证候选车牌区域的完整性,同时调整车牌数量,即车牌数量减一。
较佳地,作为一种可实施方式,本实施例中候选车牌区域重叠比例阈值设定为80%,当两个候选车牌的重叠比例大于等于阈值即80%时,去除两个重叠候选车牌中的一个,并对保留的车牌区域边框进行调整,保证车牌区域的完整性,同时,车牌区域数量减一。
所述车牌识别模块240用于识别出具体的车牌、车牌底色及车身颜色,如图6所示,具体包括排序子模块241、倾斜矫正子模块242、字符分割子模块243、字符区域个数判定子模块244、字符识别子模块245、车身颜色识别子模块246和车牌颜色识别子模块247,其中
所述排序子模块241用于对车牌检测模块230所检测出车牌区域进行排序;
较佳地,作为一种可实施方式,本实施例中对车牌区域按由底到顶的顺序进行排序,后续对车牌按顺序进行识别,最先识别感兴趣区域中底部的车牌区域,最后识别感兴趣区域中顶部的车牌区域。
所述倾斜矫正子模块242用于对提取出的车牌区域进行倾斜矫正;
按排序子模块241所确定的车牌区域顺序每次提取一个车牌区域进行倾斜矫正。
较佳地,作为一种可实施方式,本实施例中,采用HOUGH变换的方法估计所提取的车牌区域的倾斜角度,并对车牌区域进行倾斜矫正使所述车牌区域图像边框线处于水平或垂直位置,以便后续准确提取车牌字符。
所述字符分割子模块243用于对倾斜矫正后的车牌区域中的字符进行字符分割;
所述字符分割,首先去除所述车牌区域的上下左右边框,再计算去除边框后的车牌区域的垂直方向差分图像投影图,根据波谷位置进行汉字、字母、数字三种字符图像分割。
较佳地,作为一种可实施方式,本实施例中,所述计算去除边框后的车牌区域的垂直方向差分图像投影图,通过以下公式实现:
其中i为图像纵坐标,i=1,2,3,…,m(m为正整数),m为图像高度,j为图像横坐标,j=1,2,3,…,n(n为正整数),n为图像宽度。V(j)为垂直方向差分图像投影值。
所述波谷位置,即车牌区域垂直方向差分图像投影值V(j)较小的位置。将投影值V(j)较大的连续图像区域确定为单个字符区域,以便后续对字符进行进一步的识别判断。
所述字符区域个数判定子模块244用于判断所述字符分割子模块243分割出的字符区域的个数并和预设值进行比较;
判断分割出的字符区域的个数,并和预设值进行比较,当字符个数与预设值相同时,则交给字符识别子模块对字符进行进一步的识别,当字符区域个数和预设值不同时,则判定此车牌区域为无效车牌区域,则舍弃此车牌区域,不进行进一步的识别操作。
所述字符识别子模块245用于识别车牌区域中的字符,并根据车牌的先验值判断是否为车牌;
通过采用SVM方法训练出的汉字、字母、数字字符图像三种字库特征集,运用基于模板匹配的OCR技术实现三种字符识别,并判断识别出的车牌区域中字符组是否为车牌,如果是车牌则进行下一步的识别操作,如果不是,则返回对下一个车牌区域进行识别。
所述车身颜色识别子模块246用于识别车牌所属车身的颜色;
根据车牌在车身区域位置特征,结合提取出的车牌区域的坐标,在所读取的视频帧彩色图像中确定对应的车身区域,识别出车身颜色。
较佳地,作为一种可实施方式,本实施例中,根据车牌在车身区域的位置特征,设定在车牌的左方和右方各1.5倍,上方9倍,下方1.5倍区域为车身识别区域部分,将车身识别区域图像转换为HSV图像,并计算H通道的直方图,根据最大的H值判断车身颜色。
所述车牌颜色识别子模块247用于判断识别出的车牌的底色;
根据车牌区域坐标,提取已识别出的车牌在所读取的视频帧图像中的车牌区域图像,将所述彩色图像由RGB图像转换为HSV图像,并计算H通道的直方图,根据最大的H值判断车牌底色。
所述车牌识别结果输出模块250用于发送车牌识别结果及所述包含车牌的视频帧图像传送到终端显示;
发送识别出的车牌、车牌颜色及车身颜色到终端显示模块300,并同时发送所述车牌所在的视频帧图像到终端显示模块300。
所述终端显示模块300用于显示识别出的车牌、车牌颜色、车身颜色以及包含车牌图像的视频帧图像。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。