本发明涉及车牌识别技术领域,尤其涉及一种车牌字符灰度图的生成方法。
背景技术:
在交通领域车牌识别系统中,为了更好地识别出各种车牌,在训练时需要大量的车牌字符样本。目前采集车牌字符样本的方法主要是人工对车牌进行拍照,然后采用截图或标注的方式进行字符提取。在实际处理过程中,每个字符需要上万的训练样本,显然,现有方法需要耗费大量人力和物力,采集效率低。
技术实现要素:
本发明提供的车牌字符灰度图的生成方法,能够提高车牌字符训练样本的采集效率。
本发明提供一种车牌字符灰度图的生成方法,包括:
建立前景样本图库及背景样本图库;
生成车牌字符模板;
根据所述前景样本图库及所述车牌字符模板,生成车牌字符灰度图的前景图;
根据所述背景样本图库,生成车牌字符灰度图的背景图;
判断所述前景图的像素平均值减去所述背景图的像素平均值的差值是否大于第一阈值;
当所述差值大于第一阈值时,合成所述前景图和背景图。
可选地,所述生成车牌字符模板包括:
从标准的车牌字符图片中提取车牌字符;
对提取的车牌字符的像素取反;
将像素取反的车牌字符叠加到底图的感兴趣区域,生成所述车牌字符的初始模板;
对所述初始模板进行二值化处理,得到所述车牌字符的二值图模板。
可选地,所述生成车牌字符模板还包括:
对所述车牌字符的二值图模板进行腐蚀或膨胀。
可选地,所述生成车牌字符模板还包括:
对所述车牌字符的二值图模板进行仿射变换。
可选地,所述根据所述前景样本图库及所述车牌字符模板,生成车牌字符灰度图的前景图包括:
从所述前景样本图库中随机抽取一张前景样本图;
将所述前景样本图转化为灰度图格式,得到前景样本灰度图;
对所述前景样本灰度图进行随机缩小并确定感兴趣区域,缩小后的前景样本灰度图大于指定倍数的车牌字符模板;
将所述车牌字符模板中的字符抠出并叠加到所述前景样本灰度图的感兴趣区域。
可选地,在生成车牌字符灰度图的前景图之后,所述方法还包括:
对所述前景图中的字符添加拖影。
可选地,所述对所述前景图中的字符添加拖影包括:
按照指定步长移动所述前景图,所述步长由第一高斯函数确定;
对移动后的前景图中的每个像素点重新赋值,生成第二前景图;
将所述第二前景图和移动前的前景图进行合成。
可选地,所述生成车牌字符灰度图的背景图包括:
从所述背景样本图库中随机抽取一张背景样本图;
将所述背景样本图转化为灰度图格式,得到背景样本灰度图;
对所述背景样本灰度图进行随机缩小并确定感兴趣区域,缩小后的背景样本灰度图大于指定倍数的车牌字符模板。
可选地,当所述差值小于第一阈值时,所述方法还包括:
调整所述前景图和背景图,直至所述差值大于第一阈值。
可选地,所述调整所述前景图和背景图,直至所述差值大于第一阈值包括:
当所述背景图的像素平均值大于第一经验值并且所述前景图的像素平均值大于第二经验值时,反复对所述背景图的像素平均值减去一个随机数,直至所述差值大于第一阈值;
当所述背景图的像素平均值大于第一经验值并且所述前景图的像素平均值小于等于第二经验值时,先将所述背景图的像素平均值减去第一调整值,所述第一调整值等于所述背景图的像素平均值减去第一经验值,再将所述前景图的像素平均值加上第二调整值,所述第二调整值等于第一经验值减去所述前景图的像素平均值,再反复对所述背景图的像素平均值减去一个随机数,直至所述差值大于第一阈值;
当所述背景图的像素平均值小于等于第一经验值时,反复对所述前景图的像素平均值加上一个随机数,直至所述差值大于第一阈值。
可选地,在得到车牌字符灰度图之后,所述方法还包括:
按照指定步长移动所述灰度图的感兴趣区域,生成残缺车牌字符的灰度图。
本发明提供的车牌字符灰度图的生成方法,先建立前景样本图库及背景样本图库并生成车牌字符模板,然后根据所述前景样本图库及所述车牌字符模板,生成车牌字符灰度图的前景图,根据所述背景样本图库,生成车牌字符灰度图的背景图,当所述前景图的像素平均值减去所述背景图的像素平均值的差值大于第一阈值时,合成所述前景图和背景图,得到车牌字符灰度图。与现有技术相比,本发明能够快速生成训练车牌字符所需要的灰度图样本,不需要任何采集、截图或标注所需要的人力物力,提高了车牌字符样本的采集效率。
附图说明
图1为本发明一实施例提供的车牌字符灰度图的生成方法的流程图;
图2为本发明实施例使用的标准车牌字符图片的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种车牌字符灰度图的生成方法,如图1所示,所述方法包括:
s11、建立前景样本图库及背景样本图库。
使用相机(像素高于800万像素)对白纸进行拍照,可以采用不同的拍照模式,如室内模式或户外模式,有闪光灯模式或无闪光灯模式,或用手遮挡日光照射,形成一定的阴影进行拍照,或对带有污渍的白纸进行拍照,总之,尽量模拟各种环境条件对白纸进行拍照,从而得到前景样本图库;使用同样的方法对蓝色的纸进行拍照,从而得到背景样本图库。前景样本图及背景样本图各准备2000张,存入缓存。
s12、生成车牌字符模板。
中华人民共和国公共安全行业标准ga36—2014中标准的车牌字符图片如图2所示,图片为白底黑字(像素是0时为黑色,255时为白色),一共是71个字符,图片中车牌字符的长宽固定,字符间间隔基本一样,每个车牌字符通常为50*100大小,即宽50,高100,使用程序分割提取所述标准的车牌字符图片中的车牌字符。
对提取的车牌字符的像素取反,从0变成255,即从黑字变成白字,然后将像素取反的车牌字符叠加到底图的感兴趣区域,得到所述车牌字符的初始模板;所述底图的图片大小根据实际处理的车牌字符的长宽要求,缩放到合适的尺寸,例如车牌字符为50*100时,所述底图可以设定为100*200,此时可以将提取的车牌字符(宽高为50*100)放置到底图(宽高为100*200)的中间。
对所述初始模板进行二值化处理,得到所述车牌字符的二值图模板。二值化处理可以防止出现其他非0,非255像素,生成所述车牌字符的二值图模板后,保存该模板或者将其存放到缓存中。
为了模拟不同粗细的字符,可以对得到的二值图模板进行腐蚀或膨胀。如果需要得到较细字符的模板,可以先对所述模板进行指定次数,如3或4次腐蚀,再进行1次膨胀,腐蚀次数比膨胀次数多,之所以多次腐蚀后要进行1次膨胀,是为了防止字符出现微小断裂;如果需要得到较粗字符的模板,可以对所述模板进行指定次数,如2~3次膨胀。
另外,为了模拟不同姿态的字符,使用仿射变换对所述模板中的车牌字符进行扭曲处理,实现车牌字符的变形,通过高斯函数控制仿射变换后的坐标,从而控制车牌字符仿射变换的程度,即控制字符的扭曲程度。根据需要,仿射变换控制在一定范围内,一般不超过3%,同时不超出图片范围。
例如,仿射变换前的四个坐标点是(0,0),(1079,1079),(0,1079)(1079,0);仿射变换后的四个坐标点是(3,8),(1048,1079),(1,1024)(1036,0),其中仿射变换后的坐标是高斯函数随机生成的。
所述模板经过仿射变换后,还可以进行旋转处理,通过随机函数控制所述模板的旋转程度。
s13、根据所述前景样本图库及所述车牌字符模板,生成车牌字符灰度图的前景图。
从所述前景样本图库中随机抽取一张前景样本图并转化为灰度图,得到前景样本灰度图,再使用均匀分布函数对所述前景样本灰度图进行随机缩小并确定感兴趣区域的初始坐标(长宽固定),在缩小过程中,需保证缩小后的前景样本灰度图至少大于1.5倍的车牌字符模板,并且感兴趣区域不受影响,即感兴趣区域在所述前景样本灰度图的范围内。需要注意的是,所述前景样本灰度图不能进行放大处理。
对步骤s12生成的车牌字符模板进行抠图,将字符抠出并叠加到所述前景样本灰度图的感兴趣区域,具体包括:读取所述车牌字符模板的每个像素值,如果非零,保存为前景样本灰度图的像素;如果为零,保存为像素0,最后得到车牌字符灰度图的前景图。
进一步地,对所述前景图中的字符添加拖影,使用第一高斯函数,确定所述前景图的移动步长,所述第一高斯函数的均值为0,方差为所述前景图的感兴趣区域的宽度或高度的1/10,在x轴和y轴各自生成相应的移动步长,可以是正数,也可以是负数。
按照所述第一高斯函数确定的移动步长移动所述前景图,并对移动后的前景图的每个像素点重新赋值,生成第二前景图。以任意一个像素点为例,先读取该像素点的像素值,如果该像素点的像素值为零,则保持像素值不变,还为零;如果该像素点的像素值不为零,则以该像素值构造一个高斯函数,所述高斯函数的均值为该像素值的1/2,所述高斯函数的方差为该像素值的1/2,使用构造出的高斯函数对该像素点的像素值进行赋值,如果其值大于255,取值为255,如果其值小于0,取值为0。
将所述第二前景图和移动前的前景图进行合成,比较同一位置中像素值大小,选择最大值作为合成后的像素值。
s14、根据所述背景样本图库,生成车牌字符灰度图的背景图。
从所述背景样本图库中随机抽取一张背景样本图并转化为灰度图,得到背景样本灰度图,再使用均匀分布函数对所述背景样本灰度图进行随机缩小并确定感兴趣区域的初始坐标(长宽固定),在缩小过程中,需保证缩小后的背景样本灰度图至少大于1.5倍的车牌字符模板,并且感兴趣区域不受影响,即感兴趣区域在所述背景样本灰度图的范围内。需要注意的是,所述背景样本灰度图不能进行放大处理。
s15、判断所述前景图的像素平均值减去所述背景图的像素平均值的差值是否大于第一阈值;
得到前景图和背景图之后,分别统计所述前景图和所述背景图的非零像素的个数,从而求得各自非零像素的平均值,即所述前景图的像素平均值ave_front及所述背景图的像素平均值ave_back。
比较所述前景图的像素平均值ave_front与所述背景图的像素平均值ave_back,要求所述前景图的像素平均值ave_front大于所述背景图的像素平均值ave_back,并超过一个阈值,记为第一阈值th1,所述第一阈值th1使用高斯函数的绝对值生成,一般选择均值为30,方差为30的高斯函数实现。
当所述前景图的像素平均值ave_front减去所述背景图的像素平均值ave_back的差值大于第一阈值th1时,执行s16;否则,执行s17。
s16、合成所述前景图和背景图,得到车牌字符灰度图。
当所述前景图的像素值大于所述背景图的像素值时,选择所述前景图的像素值,否则选择所述背景图的像素值,即选择较大的像素值作为所述车牌字符灰度图的像素值。
s17、调整所述前景图和背景图,直至所述差值大于第一阈值th1。
这里可能存在以下几种情况:
如果所述背景图的像素平均值ave_back大于第一经验值190(即ave_back取值范围为191~255)并且所述前景图的像素平均值ave_front大于第二经验值100(即ave_front取值范围为101~255),则对所述背景图的像素平均值ave_back减去一个随机数,该随机数的取值范围为0~ave_back*3/4,理论上该随机数的最大值只要小于ave_back且大于0即可,但为了取得更好的效果,一般最大值取大于ave_back*1/2且小于ave_back的数,本发明实施例选择ave_back*3/4作为随机数取值范围的最大值。ave_back减去随机数之后,得到所述背景图新的像素平均值ave_back_new,判断ave_front减去ave_back_new的差值是否大于第一阈值th1,如果满足,执行s16,如果不满足,继续对所述ave_back_new减去一个随机数,随机数的取值范围为0~ave_back_new*3/4,重复执行该过程,直至所述前景图的像素平均值减去所述背景图的像素平均值的差值大于第一阈值th1;
如果所述背景图的像素平均值ave_back大于第一经验值190(即ave_back取值范围为191~255)并且所述前景图的像素平均值ave_front小于等于第二经验值100(即ave_front取值范围为0~100),则先对所述背景图的像素平均值ave_back减去第一调整值,得到ave_back2,所述第一调整值等于所述背景图的像素平均值ave_back减去第一经验值190,再对所述前景图的像素平均值ave_front加上第二调整值,得到ave_front2,所述第二调整值等于第一经验值190减去所述前景图的像素平均值ave_front,然后对所述背景图的像素平均值ave_back2减去一个随机数,随机数的取值范围为0~ave_back2*3/4,得到ave_back2_new,此时判断ave_front2减去ave_back2_new的差值是否大于第一阈值th1,如果满足,执行s16,如果不满足,继续对所述ave_back2_new减去一个随机数,随机数的取值范围为0~ave_back2_new*3/4,重复执行该过程,直至所述前景图的像素平均值减去所述背景图的像素平均值的差值大于第一阈值th1;
如果所述背景图的像素平均值ave_back小于等于第一经验值190(即ave_back取值范围为0~190),则对所述前景图的像素平均值ave_front加上一个随机数,随机数的取值范围为0~ave_front*3/4,得到所述前景图新的像素平均值ave_front_new,判断ave_front_new减去所述背景图的像素平均值ave_back的差值是否大于第一阈值th1,如果满足,执行s16,如果不满足,继续对所述ave_front_new加上一个随机数,随机数的取值范围为0~ave_front_new*3/4,重复执行该过程,直至所述前景图的像素平均值减去所述背景图的像素平均值的差值大于第一阈值th1。
进一步地,为了提高显示效果,对所述车牌字符灰度图进行高斯模糊处理,可以得到不同模糊程度的灰度图。高斯核大小通过随机函数控制,可以为3*3、5*5或7*7等,模糊程度通过随机函数控制,一般不超过5。
本发明实施例提供的车牌字符灰度图的生成方法,先建立前景样本图库及背景样本图库并生成车牌字符模板,然后根据所述前景样本图库及所述车牌字符模板,生成车牌字符灰度图的前景图,根据所述背景样本图库,生成车牌字符灰度图的背景图,当所述前景图的像素平均值减去所述背景图的像素平均值的差值大于第一阈值时,合成所述前景图和背景图,得到车牌字符灰度图。与现有技术相比,本发明能够快速生成训练车牌字符所需要的灰度图样本,不需要任何采集、截图或标注所需要的人力物力,提高了车牌字符样本的采集效率。
进一步地,如图1所示,得到所述车牌字符灰度图之后,所述方法还包括:
s18、按照指定步长移动所述车牌字符灰度图的感兴趣区域,生成残缺车牌字符的灰度图。
通过统计整幅灰度图,在图片中寻找最上非零y坐标值,最下非零y坐标值,最左非零x坐标值以及最右非零x坐标值,即可得到所述灰度图的感兴趣区域的位置信息。
将所述感兴趣区域的横坐标移动x个步长或纵坐标移动y个步长,x和y由随机函数控制,实现字符的左右上下切割,此时感兴趣区域中的车牌字符就会部分缺失,从而生成残缺字符的灰度图。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。