发明内容
本发明的目的在于克服现有技术的缺陷,提供一种线缆上字符的分割识别方法及其系统,解决了传统方法容易造成字符提取不全的问题,通过进一步对字符的识别,以减小字符提取不全的概率,不需要将线缆摆成特定造型,省时省力,提升了字符识别的准确度和稳定性。
实现上述目的的技术方案是:
本发明提供了一种线缆上字符的分割识别方法,包括如下步骤:
获取线缆上字符的图像,并对图像进行预处理,确定字符的候选区域;
确定每个候选区域的中心,计算每个候选区域的中心和其他所有候选区域的中心的连线与铅垂方向的角度;
根据计算得出的若干角度确定基准角度和偏差范围,将每个候选区域计算得出的角度与基准角度相比较,并利用投票算法将比较结果超出偏差范围的角度所对应的候选区域筛除;
将剩余的候选区域分别绕对应的中心旋转基准角度,并依次排列以形成水平分布的字符串,进而对字符串进行识别以获取识别结果。
本发明提出了一种线缆上字符的分割识别方法,通过确定字符的候选区域,进而计算每个候选区域的中心和其他候选区域的中心的连线与铅垂方向的角度,将角度与基准角度相比较,以筛除偏差较大的角度所对应的候选区域,从而进一步精确化候选区域,提升候选区域的识别准确率,防止后期识别出现乱码等问题,解决了传统方法容易造成字符提取不全的问题,通过进一步对字符的识别,以减小字符提取不全的概率,不需要将线缆摆成特定造型,省时省力,提升了字符识别的准确度和稳定性。
本发明线缆上字符的分割识别方法的进一步改进在于,确定候选区域时,还包括:
对图像进行闭运算以获得闭运算图像,进而将闭运算图像与图像作差,以提取候选区域。
本发明线缆上字符的分割识别方法的进一步改进在于,计算角度时,还包括:
建立原点O与图像的左顶角相重合的XOY坐标系,且X轴沿水平方向向右延伸,Y轴沿铅垂方向向下延伸;
确定候选区域的中心在XOY坐标系中的坐标(zX,zY),进而利用反三角函数计算得出每个候选区域的中心和其他所有候选区域的中心的连线与铅垂方向的角度。
本发明线缆上字符的分割识别方法的进一步改进在于,计算角度的公式如下:
其中ocrAngle为候选区域的中心和其他候选区域的中心的连线与铅垂方向的角度,zXj为第j个候选区域的中心的横坐标,zYj为第j个候选区域的中心的纵坐标,zXi为第i个候选区域的中心的横坐标,zYi为第i个候选区域的中心的纵坐标,i和j均为正整数,且i≠j。
本发明线缆上字符的分割识别方法的进一步改进在于,确定基准角度时,还包括:
计算每个候选区域的所有角度的中位数,以获得与候选区域的个数相对应的若干角度数值,计算若干角度数值的中位数,以作为基准角度。
本发明线缆上字符的分割识别方法的进一步改进在于,筛选候选区域时,还包括:
计算相邻两个候选区域的中心之间的距离,并计算所有的距离的中位数,以作为基准距离,并根据基准距离设置波动范围;
将每个候选区域的距离与基准距离相减得到距离差值,若距离差值位于波动范围内,则保留对应的候选区域,若距离差值超出波动范围,则筛除对应的候选区域。
本发明线缆上字符的分割识别方法的进一步改进在于,计算距离的公式如下:
其中ocrDis为相邻两个候选区域的中心之间的距离,zXi为第i个候选区域的中心的横坐标,zYi为第i个候选区域的中心的纵坐标,zXi+1为第i+1个候选区域的中心的横坐标,zYi+1为第i+1个候选区域的中心的纵坐标,i为正整数。
本发明线缆上字符的分割识别方法的进一步改进在于,还包括:
遍历候选区域,并沿X轴方向对若干候选区域进行排序,以确定每个候选区域的次序,旋转候选区域后,将若干候选区域按照次序从左至右依次排列,以形成水平分布的字符串。
本发明线缆上字符的分割识别方法的进一步改进在于,筛选候选区域时,还包括:
将候选区域的每个角度与基准角度相减得到若干角度差值,将若干角度差值和偏差范围进行比较,若角度差值位于偏差范围内,则为候选区域投一票,若角度差值超出偏差范围,则不投票;
计算该候选区域获得的票数,若候选区域得票数小于等于70%,则筛除该候选区域,若该候选区域得票数大于70%,则保留该候选区域。
本发明还提供了一种线缆上字符的分割识别系统,包括:
图像获取模块,以获取线缆上字符的图像;
与图像获取模块连接的图像处理模块,以对图像进行预处理,确定字符的候选区域,并确定候选区域的中心;
与图像处理模块连接的计算模块,以计算每个候选区域的中心和其他所有候选区域的中心的连线与铅垂方向的角度,并根据得出的角度确定基准角度和偏差范围;
与计算模块连接的筛选模块,以将每个候选区域计算得出的角度与基准角度相比较,并将比较结果超出偏差范围的角度所对应的候选区域筛除;
与计算模块和筛选模块连接的字符处理模块,以将剩余的候选区域分别绕对应的中心旋转基准角度,并依次排列以形成水平分布的字符串;以及
与字符处理模块连接的识别模块,以对字符串进行识别,从而获得识别结果。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
本发明提供了一种线缆上字符的分割识别方法,通过确定字符的候选区域,进而计算每个候选区域的中心和其他候选区域的中心的连线与铅垂方向的角度,将角度与基准角度相比较,以筛除偏差较大的角度所对应的候选区域,从而进一步精确化候选区域,提升候选区域的识别准确率,防止后期识别出现乱码等问题,解决了传统方法容易造成字符提取不全的问题,通过进一步对字符的识别,以减小字符提取不全的概率,不需要将线缆摆成特定造型,省时省力,提升了字符识别的准确度和稳定性。下面结合附图对本发明线缆上字符的分割识别方法及其系统进行说明。
参阅图1,图1为本发明线缆上字符的分割识别方法的识别示意图。下面结合图1,对本发明线缆上字符的分割识别方法进行说明。
如图1所示,本发明提供了一种线缆上字符的分割识别方法,包括如下步骤:
获取线缆上字符的图像,并对图像进行预处理,确定字符的候选区域;
确定每个候选区域的中心,计算每个候选区域的中心和其他所有候选区域的中心的连线与铅垂方向的角度;
根据计算得出的若干角度确定基准角度和偏差范围,将每个候选区域计算得出的角度与基准角度相比较,并利用投票算法将比较结果超出偏差范围的角度所对应的候选区域筛除;
将剩余的候选区域分别绕对应的中心旋转基准角度,并依次排列以形成水平分布的字符串,进而对字符串进行识别以获取识别结果。
具体的,确定候选区域时,还包括:
对图像进行闭运算以获得闭运算图像,进而将闭运算图像与图像作差,以提取候选区域,即对图像进行黑帽运算,以提取可能的字符区域,也就是候选区域。
具体的,还包括:
遍历候选区域,并沿X轴方向对若干候选区域进行排序,以确定每个候选区域的次序,旋转候选区域后,将若干候选区域按照次序从左至右依次排列,以形成水平分布的字符串。
作为本发明的一较佳实施方式,结合图1所示,计算角度时,还包括:
建立原点O与图像的左顶角相重合的XOY坐标系,且X轴沿水平方向向右延伸,Y轴沿铅垂方向向下延伸;
确定候选区域的中心在XOY坐标系中的坐标(zX,zY),进而利用反三角函数计算得出每个候选区域的中心和其他所有候选区域的中心的连线与铅垂方向的角度。
具体的,计算角度的公式如下:
其中ocrAngle为候选区域的中心和其他候选区域的中心的连线与铅垂方向的角度,zXj为第j个候选区域的中心的横坐标,zYj为第j个候选区域的中心的纵坐标,zXi为第i个候选区域的中心的横坐标,zYi为第i个候选区域的中心的纵坐标,i和j均为正整数,且i≠j。
进一步的,确定基准角度时,还包括:
计算每个候选区域的所有角度的中位数,以获得与候选区域的个数相对应的若干角度数值,计算若干角度数值的中位数,以作为基准角度,若候选区域有十个,则先分别计算该十个候选区域与其他候选区域的中心的连线和Y轴的角度,每个候选区域可计算得出九个角度,计算这九个角度的中位数作为角度数值,十个候选区域即可得出十个角度数值,再计算这十个角度数值的中位数,以作为基准角度。
具体的,筛选候选区域时,还包括:
将候选区域的每个角度与基准角度相减得到若干角度差值,将若干角度差值和偏差范围进行比较,若角度差值位于偏差范围内,则为候选区域投一票,若角度差值超出偏差范围,则不投票;
计算该候选区域获得的票数,若候选区域得票数小于等于70%,则筛除该候选区域,若该候选区域得票数大于70%,则保留该候选区域。
较佳地,该偏差范围可根据实际情况自行设定。
进一步的,筛选候选区域时,还包括:
计算相邻两个候选区域的中心之间的距离,并计算所有的距离的中位数,以作为基准距离,并根据基准距离设置波动范围;
将每个候选区域的距离与基准距离相减得到距离差值,若距离差值位于波动范围内,则保留对应的候选区域,若距离差值超出波动范围,则筛除对应的候选区域。
具体的,计算距离的公式如下:
其中ocrDis为相邻两个候选区域的中心之间的距离,zXi为第i个候选区域的中心的横坐标,zYi为第i个候选区域的中心的纵坐标,zXi+1为第i+1个候选区域的中心的横坐标,zYi+1为第i+1个候选区域的中心的纵坐标,i为正整数。
较佳地,该波动范围可根据实际情况自行设置。
本发明的具体实施方式如下:
获取线缆上字符的图像,并对该图像进行预处理,可以是二值化分割,并进行黑帽运算后提取可能的字符区域作为候选区域;
遍历该候选区域,以沿X轴对候选区域排序,从而确定每个候选区域的次序;
确定每个候选区域的中心,计算每个候选区域的中心和其他所有候选区域的中心的连线与铅垂方向即Y轴的角度,以十个候选区域为例,每个候选区域的中心与其他九个候选区域的中心分别连线,进而计算该九条连线与Y轴之间的角度,从而每个候选区域可计算得出九个角度;
计算每个候选区域的九个角度的中位数以得出一个角度数值,则十个候选区域可得出十个角度数值,计算十个角度数值的中位数,以作为基准角度;
将每个候选区域的九个角度与基准角度相减得到角度差值,将角度差值与偏差范围进行比较,若该角度差值在偏差范围内,则对该候选区域投一票,若角度差值超出了偏差范围,则不投票,计算每个候选区域的得票数,若该候选区域的得票数大于70%,则保留该候选区域,若该候选区域的得票数小于等于70%,则筛除该候选区域;
计算相邻两个候选区域的距离,并计算所有的距离的中位数,以作为基准距离,将距离与基准距离相减得到距离差值,若距离差值位于波动范围内,则保留该候选区域,若距离差值超出波动范围,则筛除该候选区域;
将剩余的候选区域以对应的中心为旋转中心旋转基准角度,并按照次序从左至右排列,以形成水平分布的字符串,进而识别该字符串以得到识别结果。
本发明还提供了一种线缆上字符的分割识别系统,包括:
图像获取模块,以获取线缆上字符的图像;
与图像获取模块连接的图像处理模块,以对图像进行预处理,确定字符的候选区域,并确定候选区域的中心;
与图像处理模块连接的计算模块,以计算每个候选区域的中心和其他所有候选区域的中心的连线与铅垂方向的角度,并根据得出的角度确定基准角度和偏差范围;
与计算模块连接的筛选模块,以将每个候选区域计算得出的角度与基准角度相比较,并将比较结果超出偏差范围的角度所对应的候选区域筛除;
与计算模块和筛选模块连接的字符处理模块,以将剩余的候选区域分别绕对应的中心旋转基准角度,并依次排列以形成水平分布的字符串;以及
与字符处理模块连接的识别模块,以对字符串进行识别,从而获得识别结果。
本发明的具体实施方式如下:
利用图像获取模块获取线缆上字符的图像;
进而利用图像处理模块对该图像进行预处理,可以是二值化分割,并进行黑帽运算后提取可能的字符区域作为候选区域,遍历该候选区域,以沿X轴对候选区域排序,从而确定每个候选区域的次序,确定每个候选区域的中心;
利用计算模块计算每个候选区域的中心和其他所有候选区域的中心的连线与铅垂方向即Y轴的角度,以十个候选区域为例,每个候选区域的中心与其他九个候选区域的中心分别连线,进而计算该九条连线与Y轴之间的角度,从而每个候选区域可计算得出九个角度,计算每个候选区域的九个角度的中位数以得出一个角度数值,则十个候选区域可得出十个角度数值,计算十个角度数值的中位数,以作为基准角度;
利用筛选模块将每个候选区域的九个角度与基准角度相减得到角度差值,将角度差值与偏差范围进行比较,若该角度差值在偏差范围内,则对该候选区域投一票,若角度差值超出了偏差范围,则不投票,计算每个候选区域的得票数,若该候选区域的得票数大于70%,则保留该候选区域,若该候选区域的得票数小于等于70%,则筛除该候选区域;
利用计算模块计算相邻两个候选区域的距离,并计算所有的距离的中位数,以作为基准距离,筛选模块将距离与基准距离相减得到距离差值,若距离差值位于波动范围内,则保留该候选区域,若距离差值超出波动范围,则筛除该候选区域;
字符处理模块将剩余的候选区域以对应的中心为旋转中心旋转基准角度,并按照次序从左至右排列,以形成水平分布的字符串,进而识别模块识别该字符串以得到识别结果。
以上结合附图实施例对本发明进行了详细说明,本领域中普通技术人员可根据上述说明对本发明做出种种变化例。因而,实施例中的某些细节不应构成对本发明的限定,本发明将以所附权利要求书界定的范围作为本发明的保护范围。