一种铁路油罐车车辆编号的识别方法
【技术领域】
[0001]本发明属于机器视觉识别领域,尤其设计一种能够自动完成识别的,铁路油罐车车辆编号的识别方法。
【背景技术】
[0002]目前我国的成品油运输主要以大型铁路油罐车为主,每辆铁路油罐车都有各自的车型和编号。我国铁路油罐车的主流车型为“660”,“670”以及“GQ70”等,分别表示载重为60吨和70吨的油罐车,而编号作为油罐车的一个标示用以记录和区分车辆,其通常印刷于罐体侧面及车辆后车轮位置车架上。在字符位数上,车型号通常为3位或4位字母与数字,编号为7位数字。在字符排布方式上为单行排布,其中车辆类型在前,车号在后,有利于机器视觉识别。
[0003]目前炼油企业在记录油罐车车辆编号时有人工识别和射频识别两种方式。人工抄记方式工作量大,易产生记录错误;射频识别方式需要在每辆车上安装射频芯片,加大了成本,不易于推广。
【发明内容】
[0004]本发明的目的是提供一种能够节约时间和成本的,铁路油罐车车辆编号的识别方法。
[0005]本发明是通过以下技术方案实现的:
[0006]一种铁路油罐车车辆编号的识别方法,包括以下几个步骤:
[0007]步骤一:利用摄像机拍摄油罐车车体局部侧面灰度图像;
[0008]步骤二:利用Canny边缘检测算子对车体局部侧面灰度图像进行边缘检测,得到边缘图像;
[0009]步骤三:对边缘图像的字符区域进行定位;
[0010]步骤四:对车体局部侧面灰度图像二值化,得到二值图像;
[0011]步骤五:对二值图像的字符区域进行形态学处理,去除孤立点,连接断裂字符;
[0012]步骤六:对字符进行分割处理,确定单个字符区域的位置和范围,得到单个字符的最小外接矩形;
[0013]步骤七:对字符进行二次分割,设定字符阈值T,如果字符宽度大于字符阈值T,利用字符阈值T对字符进行分割,否则进行下一步;
[0014]步骤八:将分割后的字符输入通用字符识别引擎,输出结果。
[0015]本发明一种铁路油罐车车辆编号的识别方法还可以包括:
[0016]1、对边缘图像的字符区域进行定位的方法为:
[0017]a:对边缘图像进行垂直投影,从垂直投影图的左边向右搜索,找到第一个投影高度值变化最大的列作为左边界,然后从垂直投影图的右边向左搜索,找到第一个投影高度值变化最大的列作为右边界;
[0018]b:对边缘图像进行水平投影,从水平投影的下边向上搜索,找到第一个投影高度值最大的行作为下边界,从水平投影的上边向下搜索,找到第一个投影高度值最大的行作为上边界,得到初步确定字符区域;
[0019]c:设定一个矩形窗口,利用矩形窗口对初步确定字符区域进行扫描,如果当前矩形窗口的水平灰度跳变次数与阈值K匹配,得到最终字符区域,如果不匹配,调整阈值K大小,重复步骤C,直到得到最终字符区域。
[0020]有益效果:
[0021]本发明能够实现油罐车车辆编号的自主识别,节约时间和成本,提高了生产率。本发明使用摄像机拍摄铁路油罐车车体局部侧面灰度图像,对灰度图像计算边缘,基于投影法和宽高比特征定位边缘图像的字符区域,对局部车体侧面灰度图像二值化,对二值图像的字符区域进行形态学处理去除孤立点,连接断裂字符,再进行字符分割,最后将单个字符输入通用字符识别引擎进行识别。本发明既可以判断铁路油罐车车型,又可识别其编号,具有实施成本低,自动化程度高的特点。
【附图说明】
[0022]图1:油罐车车辆编号识别的流程图。
[0023]图2:包含车辆编号的油罐车局部侧面灰度图像。
[0024]图3:油罐车局部侧面灰度图像的边缘检测。
[0025]图4:字符区域的二值化。
[0026]图5:字符的识别结果。
【具体实施方式】
[0027]下面将结合附图对本发明做进一步详细说明。
[0028]一种铁路油罐车车型号识别的方法,对铁路油罐车车型号进行识别,其处理流程图如图1所示,包括以下步骤:
[0029]S1.利用摄像机拍摄油罐车车体局部侧面灰度图像:
[0030]摄像机架设在油罐车侧面,其位置和油罐车距离固定,当油罐车通过时,产生触发信号进行拍摄,多节油罐车顺序通过时,可以为每节油罐车拍摄一副油罐车局部侧面图像,通过调节摄像机安装位置使得图像中仅包含车号区域,如图2所示。
[0031]S2.对局部侧面灰度图像计算边缘:
[0032]利用Canny边缘检测算子对车体局部侧面灰度图像进行边缘检测。首先用高斯滤波器平滑图像,再用一阶偏导的有限差分来计算梯度的幅值和方向,对梯度幅值进行非极大值抑制,检测并拟合边缘点,如图3所示。
[0033]S3.基于投影法和宽高比特征定位边缘图像的字符区域:
[0034]定义水平(垂直)投影特征值为每一行(列)白像素点个数的总和,首先对边缘图像进行垂直投影,从垂直投影图的左边向右搜索,找到第一个投影高度值变化最大的列作为左边界,同理从垂直投影图的右边向左搜索,找到第一个投影高度值变化最大的列作为右边界。
[0035]其次边缘图像进行水平投影,从水平投影图的下边向上搜索,以第一个投影高度值变化最大的行作为下边界,从水平投影图的上边向下搜索,以第一个投影高度值变化最大的行作为上边界。以此初步确定字符区域。
[0036]基于宽高比特征,根据字符区域先验知识确定一个宽高比一定的矩形窗口对初步确定的字符区域进行扫描,若当前窗口的水平灰度跳变次数与先验知识匹配,则认为字符区域,若不匹配,适当扩大字符区域直至匹配,最终实现准确定位。
[0037]S4.对车体局部侧面灰度图像二值化:
[0038]利用OTSU方法对油罐车局部侧面图像进行二值化。首先计算油罐车局部侧面灰度图像的灰度直方图概率函数,其次根据阈值t将灰度级分为两类Ctl和C 1并计算两类出现的概率和均值,最后计算两类的类内方差、类间方差和总体方差并以类间方差和总体方差的比值n (t)为判决准则反推出最佳阈值t,如图4所示。
[0039]S5.对二值图像字符区域进行形态学处理,去除孤立点,连接断裂字符:
[0040]采用形态学开、闭运算对字符区域进行处理,去除孤立点,连接断裂字符。
[0041]S6.对字符进行分割处理,确定单个字符区域的位置和范围并产生单个字符的最小外接矩形:
[0042]利用连通域分析,确定每个字符的中心位置和上下左右距离中心最远的像素点以此产生矩形边界将单个字符包括其中,此为单个字符的最小外接矩形。
[0043]S7.根据油罐车字符先验知识对字符做进一步分割:
[0044]为判断字符之间是否存在像素粘连,根据油罐车字符先验知识,设定字幅宽度阈值T,若字幅宽度大于阈值T,则该字符与其他字符存在粘连,利用阈值T对字符做强制分割。
[0045]S8.将分割后的字符输入通用字符识别引擎,识别并存储输出结果:
[0046]将单个字符输入通用字符识别引擎中识别并记录输出结果,如图5所示。
【主权项】
1.一种铁路油罐车车辆编号的识别方法,其特征在于,包括以下几个步骤: 步骤一:利用摄像机拍摄油罐车车体局部侧面灰度图像; 步骤二:利用Canny边缘检测算子对车体局部侧面灰度图像进行边缘检测,得到边缘图像; 步骤三:对边缘图像的字符区域进行定位; 步骤四:对车体局部侧面灰度图像二值化,得到二值图像; 步骤五:对二值图像的字符区域进行形态学处理,去除孤立点,连接断裂字符; 步骤六:对字符进行分割处理,确定单个字符区域的位置和范围,得到单个字符的最小外接矩形; 步骤七:对字符进行二次分割,设定字符阈值T,如果字符宽度大于字符阈值T,利用字符阈值T对字符进行分割,否则进行下一步; 步骤八:将分割后的字符输入通用字符识别引擎,输出结果。
2.根据权利要求1所述的一种铁路油罐车车辆编号的识别方法,其特征在于:所述的对边缘图像的字符区域进行定位的方法为: a:对边缘图像进行垂直投影,从垂直投影图的左边向右搜索,找到第一个投影高度值变化最大的列作为左边界,然后从垂直投影图的右边向左搜索,找到第一个投影高度值变化最大的列作为右边界; b:对边缘图像进行水平投影,从水平投影的下边向上搜索,找到第一个投影高度值最大的行作为下边界,从水平投影的上边向下搜索,找到第一个投影高度值最大的行作为上边界,得到初步确定字符区域; c:设定一个矩形窗口,利用矩形窗口对初步确定字符区域进行扫描,如果当前矩形窗口的水平灰度跳变次数与阈值K匹配,得到最终字符区域,如果不匹配,调整阈值K大小,重复步骤C,直到得到最终字符区域。
【专利摘要】本发明公开了一种铁路油罐车车辆编号的识别方法。包括以下步骤:利用摄像机拍摄油罐车车体局部侧面灰度图像;对灰度图像计算边缘;对边缘图像的字符区域进行定位;对车体局部侧面灰度图像二值化;对二值图像的字符区域进行形态学处理,去除孤立点,连接断裂字符;对字符进行分割处理,确定单个字符区域的位置和范围;将分割后的字符输入通用字符识别引擎,输出结果。本发明具有实施成本低,自动化程度高的特点。
【IPC分类】G06K9-54, G06K9-00
【公开号】CN104657726
【申请号】CN201510117537
【发明人】项学智, 包文龙, 王猛, 徐旺旺, 白二伟, 葛长赟, 张磊, 乔玉龙
【申请人】哈尔滨工程大学
【公开日】2015年5月27日
【申请日】2015年3月18日