识别规则矩形区域的方法及装置的制造方法

文档序号:10489722阅读:241来源:国知局
识别规则矩形区域的方法及装置的制造方法
【专利摘要】本申请公开一种识别规则矩形区域的方法及装置。该方法包括:对包含规则矩形区域的图像进行边缘点检测运算而获取图像中的边缘点;根据获取的所述边缘点的分布得到包括至少两条横向边的横向边组及包括至少两条纵向边的纵向边组;从所述横向边组中构造满足预定条件的至少一个横向边对。对每个横向边对进行验证,通过验证的横向边对为有效横向边对,所述有效横向边对确定的矩形区域为所述规则矩形区域。本公开的技术方案能够准确识别图像中的规则矩形区域。
【专利说明】
识别规则矩形区域的方法及装置
技术领域
[0001]本公开涉及图像识别技术领域,尤其涉及识别规则矩形区域的方法及装置。
【背景技术】
[0002]近年来随着自动化测试的飞速发展,各种自动化测试工具层出不穷。目前市面上有很多Web用户界面自动化测试框架,比如WatiN, Selinimu ,WebDriver,还有VS2010中的Coded UI等等。这些框架都可以识别并操作Web中的控件,模拟用户输入,点击等操作,实现Web自动化测试。
[0003]但是目前基于用户界面的自动化测试稳定性不高,相关技术所采用的图像识别技术主要使用特征点匹配方式,处理速度较慢,并且在对于带有特殊需求区域分割时,例如只分割规则矩形区域,不能达到很好的分割效果。
[0004]此外,在其他很多应用中,也存在识别规则矩形区域的需求。

【发明内容】

[0005]本公开提供一种识别规则矩形区域的方法及装置,能够提供更高的识别准确性。
[0006]根据本公开的一方面,提供一种识别规则矩形区域的方法,包括:对包含规则矩形区域的图像进行边缘点检测运算而获取图像中的边缘点;根据获取的所述边缘点的分布得到包括至少两条横向边的横向边组,和/或根据获取的所述边缘点的分布得到包括至少两条纵向边的纵向边组;从所述横向边组中构造满足预定条件的至少一个横向边对,和/或从所述纵向边组中构造满足预定条件的至少一个纵向边对;对每个横向边对进行验证,通过验证的横向边对为有效横向边对,所述有效横向边对确定的矩形区域为所述规则矩形区域;或者对每个纵向边对进行验证,通过验证的纵向边对为有效纵向边对,所述有效纵向边对确定的矩形区域为所述规则矩形区域。
[0007]根据一些实施例,对包含规则矩形区域的图像进行边缘点检测运算而获取图像中的边缘点包括:利用预设算法对图像进行边缘点检测运算而获取图像中的边缘点,其中所述预设算法包括Laplacian算子、Canny算子、Sobel算子、Prewitt算子、Kirsch算子、罗盘算子、或Roberts Cross算子。
[0008]根据一些实施例,对包含规则矩形区域的图像进行边缘点检测运算而获取图像中的边缘点包括:对图像进行平滑滤波;对平滑滤波后的图像进行运算;检测运算的极值点以获取图像中的边缘点。
[0009]根据一些实施例,对图像进行平滑滤波包括:采用高斯函数对图像进行平滑滤波。
[0010]根据一些实施例,根据获取的所述边缘点的分布得到包括至少两条横向边的横向边组包括:将所述边缘点按照纵坐标值进行分组以得到多个横向边缘点组,对于每一横向边缘点组,如果所述横向边缘点组包含的连续边缘点数目大于第一阈值,则将所述横向边缘点组构成的线段作为一条横向边而加入所述横向边组。
[0011]根据一些实施例,根据获取的所述边缘点的分布得到包括至少两条纵向边的纵向边组包括:将所述边缘点按照横坐标值进行分组以得到多个纵向边缘点组,对于每一纵向边缘点组,如果所述纵向边缘点组包含的连续边缘点数目大于第二阈值,则将所述纵向边缘点组构成的线段作为一条纵向边而加入所述纵向边组。
[0012]根据一些实施例,从所述横向边组中构造满足预定条件的至少一个横向边对包括:对于所述横向边组中的任两条横向边,如果确定所述两条横向边的起始横坐标值的差以及终止横坐标值的差均小于第三阈值,且所述两条横向边的纵坐标值的差在第四阈值范围内,则将所述两条横向边作为一个横向边对。
[0013]根据一些实施例,从所述纵向边组中构造满足预定条件的至少一个纵向边对包括:对于所述纵向边组中的任两条纵向边,如果确定所述两条纵向边的起始纵坐标值的差以及终止纵坐标值的差均小于第五阈值,且所述两条纵向边的横坐标值的差在第六阈值范围内,则将所述两条纵向边作为一个纵向边对。
[0014]根据一些实施例,对每个横向边对进行验证包括:寻找与所述横向边对对应的纵向边对,如果存在对应的纵向边对,则所述横向边对为有效横向边对。
[0015]根据一些实施例,对每个纵向边对进行验证包括:寻找与所述纵向边对对应的横向边对,如果存在对应的横向边对,则所述纵向边对为有效纵向边对。
[0016]根据本发明的另一方面,提供一种识别规则矩形区域的装置,包括:边缘点获取模块,用于对包含规则矩形区域的图像进行边缘点检测运算而获取图像中的边缘点;边组获取模块,用于根据获取的所述边缘点的分布得到包括至少两条横向边的横向边组,和/或根据获取的所述边缘点的分布得到包括至少两条纵向边的纵向边组;边对构造模块,用于从所述横向边组中构造满足预定条件的至少一个横向边对,和/或从所述纵向边组中构造满足预定条件的至少一个纵向边对;验证模块,用于对每个横向边对进行验证,通过验证的横向边对为有效横向边对,所述有效横向边对确定的矩形区域为所述规则矩形区域;或者对每个纵向边对进行验证,通过验证的纵向边对为有效纵向边对,所述有效纵向边对确定的矩形区域为所述规则矩形区域。
[0017]根据一些实施例,所述边缘点获取模块配置为利用预设算法对图像进行边缘点检测运算而获取图像中的边缘点,其中所述预设算法包括Laplacian算子、Canny算子、Sobel算子、Prewitt算子、Kirsch算子、罗盘算子、或Roberts Cross算子。
[0018]根据一些实施例,所述边缘点获取模块配置为:对图像进行平滑滤波;对平滑滤波后的图像进行运算;检测运算的极值点以获取图像中的边缘点。
[0019]根据一些实施例,所述边缘点获取模块配置为采用高斯函数对图像进行平滑滤波。
[0020]根据一些实施例,所述边组获取模块配置为:将所述边缘点按照纵坐标值进行分组以得到多个横向边缘点组,对于每一横向边缘点组,如果所述横向边缘点组包含的连续边缘点数目大于第一阈值,则将所述横向边缘点组构成的线段作为一条横向边而加入所述横向边组;和/或将所述边缘点按照横坐标值进行分组以得到多个纵向边缘点组,对于每一纵向边缘点组,如果所述纵向边缘点组包含的连续边缘点数目大于第二阈值,则将所述纵向边缘点组构成的线段作为一条纵向边而加入所述纵向边组。
[0021]根据一些实施例,所述边对构造模块配置为:对于所述横向边组中的任两条横向边,如果确定所述两条横向边的起始横坐标值的差以及终止横坐标值的差均小于第三阈值,且所述两条横向边的纵坐标值的差在第四阈值范围内,则将所述两条横向边作为一个横向边对;和/或对于所述纵向边组中的任两条纵向边,如果确定所述两条纵向边的起始纵坐标值的差以及终止纵坐标值的差均小于第五阈值,且所述两条纵向边的横坐标值的差在第六阈值范围内,则将所述两条纵向边作为一个纵向边对。
[0022]根据一些实施例,所述验证模块配置为:寻找与所述横向边对对应的纵向边对,如果存在对应的纵向边对,则确定所述横向边对为有效横向边对;或者寻找与所述纵向边对对应的横向边对,如果存在对应的横向边对,则确定所述纵向边对为有效纵向边对。
[0023]根据本公开一些示例实施例的技术方案,能够准确识别图像中的规则矩形区域。
[0024]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
【附图说明】
[0025]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0026]图1示出根据一示例性实施方式的识别规则矩形区域的方法流程图;
[0027]图2示出根据另一示例性实施方式的识别规则矩形区域的方法流程图;
[0028]图3示出根据另一示例性实施方式的识别规则矩形区域的方法流程图;
[0029]图4示出根据本发明一示例实施方式的对横向边对进行验证的过程;
[0030]图5示出根据本发明另一示例实施方式的对纵向边对进行验证的过程;
[0031]图6示出根据本发明另一示例实施方式的对横向边对进行验证的过程;
[0032]图7示出根据一示例性实施方式的识别规则矩形区域的装置的框图。
【具体实施方式】
[0033]现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
[0034]此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免模糊本发明的各方面。
[0035]附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0036]边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。不同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像。但在对于带有特殊需求区域分割,例如只分割规则矩形区域,单单依靠边缘检测算法并不能达到很好的分割效果。本发明构思提供一种图像识别方法,能在边缘检测算法的基础上识别规则的矩形区域。
[0037]图1示出根据一示例性实施例的识别规则矩形区域的方法流程图。本实施例可适用于识别图像中的规则按钮或具有明显边缘的规则图标等,但本实施例的应用不限于此。
[0038]如图1所示,在S110,对包含规则矩形区域的图像进行边缘点检测运算而获取图像中的边缘点。
[0039]对图像进行边缘点检测运算获取图像中的边缘点的操作可采用多种方法,例如可利用预设的二阶算子或一阶算子对图像进行边缘点检测运算获取图像中的边缘点。二阶算子可以是LapIacian算子、以及Canny算子等,一阶算子可以是SobeI算子、Prewitt算子、Kirsch算子、罗盘算子、以及Roberts Cross算子等。例如,Laplacian算子利用二阶导数信息,具有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度结果不变。使得图像经过二阶微分后,在边缘处产生一个陡峭的零交叉点,根据这个零交叉点可判断边缘。又例如,Canny边缘检测算子是John F.Canny于1986年开发出来的一个多级边缘检测算法,其对信噪比与定位乘积进行测度,得到最优化逼近算子。
[0040]根据一实施例,获取边缘点可采用下面描述的方式,但本发明不限于此。
[0041]首先对图像进行平滑滤波。滤波函数可以是根据人类视觉特性选择高斯函数,但本发明不限于此。
[0042]然后,对平滑滤波后的图像进行运算,并检测运算的极值点。以采用Laplacian算子获取图像中的边缘点为例,对经过平滑滤波之后的平滑图像进行拉普拉斯运算,检测拉普拉斯运算的极值点以获取图像中的边缘点。即,将二阶导数的零交叉点作为极值点,并对应一阶导数的较大峰值,从而获取图像中的边缘点。
[0043]在S120中,根据获取的边缘点的分布,得到包括至少两条横向边的横向边组。
[0044]可以采用各种方法获得横向边组。例如,可将所获取的边缘点按照纵坐标值进行分组以获取多个横向边缘点组,对于每一横向边缘点组,若该横向边缘点组包含的连续边缘点数目大于一第一阈值,则将该横向边缘点组构成的线段作为一条横向边而归入横向边组。该第一阈值可根据具体应用而定,例如可采用经验值或统计值等(下同)。
[0045]根据一些实施例,分别对SllO得出的边缘点按照纵坐标(Y轴坐标)值进行分组,将纵坐标值(Y值)相同的边缘点作为一组待定横向边缘点组。然后,对于各组待定的横向边缘点组,遍历每个点的横坐标值(X轴坐标),如果横坐标值(X值)连续(例如:X值为2、3、4、5…24、25连续存在)的点个数大于一第一阈值或在一个值域范围内(值域的上下限可按照具体应用根据经验值或统计值确定),则认为此组横坐标值(X值)连续的点构成一条横向边。依此获取所有符合条件的横向边。
[0046]在SI30中,从所述横向边组中构造满足预定条件的至少一个横向边对。横向边对可作为两个横边以确定一矩形区域。满足预定条件的横向边对可作为两个横边以确定一符合预期的矩形区域。
[0047]可以采用各种方法构造横向边对。例如,对于横向边组中的任两条横向边,如果确定两条横向边的起始横坐标值的差以及终止横坐标值的差均小于第三阈值,且两条横向边的纵坐标值的差第四阈值范围内,则将两条横向边作为一个横向边对。这些阈值或阈值范围可根据具体应用而定,例如可采用经验值或统计值等。
[0048]根据一些实施例,在横向边组中,取一对横向边,将它们的X轴起始坐标值相减,取绝对值;将它们的X轴终止坐标值相减,取绝对值。
[0049]接下来,如果前一步的两个绝对值都在一阈值(例如,第三阈值)以内,则继续将这两条边在Y轴上的坐标值相减,取绝对值,进入后一步;否则返回前一步。
[0050]然后,如果前一步Y轴上的坐标差在一个值域范围内(例如,第四阈值范围),则认为此对横向边能够组成一个待确认或验证的规则矩形区域,矩形区域的起始点为两条横向边中的X,Y坐标值中的最小值(Xmin,ymin ),终止点则为X,Y坐标值中的最大值(Xmax,Ymax )。组成的矩形区域可表示为ReC t ( Xmin,Ymin,Xmax-Xmin,ymax-ymin)。否则返回第一步。重复进行上述过程,直到完成所有横向边的所有成对及处理。
[0051 ]矩形区域Rect ( Xmin,ymin,Xmax-Xmin,Ymaxlmin)的含义是,以 “Xmin” 作为X轴起始坐标、以“ y_”作为Y轴起始坐标、以“xmax-x_”作为矩形宽度、以“ymax-y_”作为矩形高度的矩形范围。
[0052 ]在S140,对每个横向边对进行验证,通过验证的横向边对为有效横向边对,有效横向边对确定的矩形区域为识别出的预期规则矩形区域。
[0053]可以采用各种方式对每个横向边对进行验证。根据本发明的一些实施例,对每个横向边对进行验证的一个方式是寻找能够与待验证的横向边对对应的纵向边对,即,寻找能够与待验证的横向边对构成封闭矩形的纵向边对。如果存在这样的纵向边对,则待验证的横向边对为有效横向边对,其构成的矩形区域为有效矩形区域。这样的矩形区域可以对应一矩形按钮或矩形图标,但本发明不限于此。
[0054]根据本发明示例实施方式的方案,利用边缘点检测,通过横向边之间的位置关系确定规则矩形区域,能够准确识别图像中的规则矩形区域。另外,可以通过对矩形区域进行校验来进一步提高识别的准确性,具有简单且准确率高等优势。
[0055]图2示出根据另一示例性实施方式的识别规则矩形区域的方法流程图。本实施例可适用于识别图像中的规则按钮或具有明显边缘的规则图标等,但本实施例的应用不限于此。
[0056]如图2所示的根据另一示例性实施例的识别规则矩形区域的方法与图1所示的方法类似,区别仅在于根据图2所示的方法是通过得到纵向边组和纵向边对进行区域识别。
[0057]如图2所示,在S210,对包含规则矩形区域的图像进行边缘点检测运算而获取图像中的边缘点。这与在SllO中描述的过程类似,此处不再赘述。
[0058]在S220中,根据获取的边缘点的分布,得到包括至少两条纵向边的纵向边组。
[0059]与S120类似,可以采用各种方法获得纵向边组。例如,可将所获取的边缘点按照横坐标值进行分组以获取多个纵向边缘点组,若纵向边缘点组包含的连续边缘点数目大于一第二阈值,则将该纵向边缘点组构成的线段作为一条纵向边。依此获取所有符合条件的纵向边,得到纵向边组。该第二阈值可不同于前述第一阈值。
[0060]根据一些实施例,分别对S210得出的边缘点按照横坐标(X轴坐标)值进行分组,将横坐标值(X值)相同的边缘点作为一组待定纵向边缘点组。然后,对于各组待定的纵向边缘点组,遍历每个点的纵坐标值(Y轴坐标),如果纵坐标值(Y值)连续(例如:Y值为2、3、4、5…24、25连续存在)的点个数大于一第二阈值或在一个值域范围内(值域的上下限可按照具体应用根据经验值或统计值确定),则认为此组纵坐标值(Y值)连续的点构成一条纵向边。依此获取所有符合条件的纵向边。
[0061]在S230中,从所述纵向边组中构造满足预定条件的至少一个纵向边对。纵向边对可作为两个纵边以确定一矩形区域。满足预定条件的纵向边对可作为两个纵边以确定一符合预期的矩形区域。
[0062]与S130类似,可以采用各种方法构造纵向边对。例如,对于纵向边组中的任两条纵向边,如果确定两条纵向边的起始纵坐标值的差以及终止纵坐标值的差均小于第五阈值,且两条纵向边的横坐标值的差在第六阈值范围内,则将两条纵向边作为一个纵向边对。第三阈值可与前述第五阈值相同或不同,第四阈值范围可与前述第六阈值范围相同或不同。这些阈值或阈值范围可根据具体应用而定,例如可采用经验值或统计值等。
[0063]根据一些实施例,在纵向边组中,取一对纵向边,将它们的Y轴起始坐标值相减,取绝对值;将它们的Y轴终止坐标值相减,取绝对值。
[0064]接下来,如果前一步的两个绝对值都在一阈值(例如,第五阈值)以内,则继续将这两条边在X轴上的坐标值相减,取绝对值,进入后一步;否则返回前一步。
[0065]然后,如果前一步X轴上的坐标差在一个值域范围内(例如,第六阈值范围),则认为此对纵向边能够组成一个待确认或验证的规则矩形区域,矩形区域的起始点为两条纵向边中的Y,X坐标值中的最小值(Xmin,ymin ),终止点则为Y,X坐标值中的最大值(Xmax,Ymax )。组成的矩形区域可表示为ReC t ( Xmin,Ymin,Xmax-Xmin,ymax-ymin)。否则返回第一步。重复进行上述过程,直到完成所有纵向边的所有成对及处理。
[0066]在S240,对每个纵向边对进行验证,通过验证的纵向边对为有效纵向边对,有效纵向边对确定的矩形区域为识别出的预期规则矩形区域。
[0067]可以采用各种方式对每个纵向边对进行验证。根据本发明的一些实施例,对每个纵向边对进行验证的一个方式是寻找能够与待验证的纵向边对对应的横向边对,即,寻找能够与待验证的纵向边对构成封闭矩形的横向边对。如果存在这样的横向边对,则待验证的纵向边对为有效纵向边对,其构成的矩形区域为有效矩形区域。这样的矩形区域可以对应一矩形按钮或矩形图标,但本发明不限于此。
[0068]根据本发明示例实施方式的方案,利用边缘点检测,通过纵向边之间的位置关系确定规则矩形区域,并可以通过对矩形区域进行校验来提高识别的准确性,具有简单、易用且准确率高等优势。
[0069]图3示出根据另一示例性实施方式的识别规则矩形区域的方法流程图。本实施例可适用于识别图像中的规则按钮或具有明显边缘的规则图标等,但本实施例的应用不限于此。
[0070]如图3所示的根据另一示例性实施例的识别规则矩形区域的方法与图1和图2所示的方法类似,区别仅在于根据图3所示的方法是通过得到横向和纵向边组及横向和纵向边对进行区域识别,即结合使用了图1和图2所示的方法和过程,此处不再赘述。
[0071]图4示出根据本发明一示例实施方式的对横向边对进行验证的过程。
[0072]如图4所示,在S410,对根据前述过程得到的至少一个纵向边对进行遍历。
[0073 ] 在S420,选取一纵向边对,对于当前选取的纵向边对,利用纵向边对的最小和最大横坐标分别与待检验横向边对的最小和最大横坐标Xmi η、Xmax相减,可取绝对值,如果判断绝对值都在预定阈值以内,则进入S430;否则返回S410,继续遍历至少一个纵向边对。如果没有找到满足条件的纵向边对,则待检验的横向边对没有通过验证,不能用于确定一矩形区域。
[0074]在S430,对于当前选取的纵向边对,利用纵向边对的最小和最大纵坐标分别与待检验横向边对的最小和最大纵坐标Ymin、Ymax相减,取绝对值,如果绝对值都在预定阈值以内,则认为待检验横向边对为有效横向边对,其确定的矩形区域为识别出的预期规则矩形区域。否则返回S410,继续遍历至少一个纵向边对。如果没有找到满足条件的纵向边对,则待检验的横向边对没有通过验证,不能用于确定一矩形区域。
[0075]图5示出根据本发明另一示例实施方式的对纵向边对进行验证的过程。
[0076]图5所示的过程与图4所示的过程类似,区别仅在于是利用横向边对对纵向边对进行验证。
[0077]如图5所示,在S510,对根据前述过程得到的至少一个横向边进行遍历。
[0078]在S520,选取一横向边对,对于当前选取的横向边对,利用横向边对的最小和最大横坐标分别与待检验纵向边对的最小和最大横坐标Xmin、Xmax相减,取绝对值,如果绝对值都在预定阈值以内,则进入S530;否则返回S510,继续遍历至少一个横向边对。如果没有找到满足条件的横向边对,则待检验的纵向边对没有通过验证,不能用于确定一矩形区域。
[0079]在S530,对于当前选取的横向边对,利用横向边对的最小和最大纵坐标分别与待检验纵向边对的最小和最大纵坐标Ymin、Ymax相减,取绝对值,如果绝对值都在预定阈值以内,则认为待检验纵向边对为有效纵向边对,其确定的矩形区域为识别出的预期规则矩形区域。否则返回S510,继续遍历至少一个横向边对。如果没有找到满足条件的横向边对,则待检验的纵向边对没有通过验证,不能用于确定一矩形区域。
[0080]图6示出根据本发明另一示例实施方式的对横向边对进行验证的过程。
[0081]图6所示的过程与图4所示的过程的不同之处在于使利用根据前面描述得到的纵向边组对横向边对进行验证。
[0082]如图6所示,在S610,对根据前述过程得到的纵向边组进行遍历。
[0083 ]在S620,选取一纵向边,对于当前选取的纵向边,利用纵向边的横坐标与待检验横向边对的最小横坐标Xmin相减,取绝对值,如果绝对值在预定阈值以内,则进入S630 ;否则返回S610,继续遍历纵向边组。如果没有找到满足条件的纵向边,则待检验的横向边对没有通过验证,不能用于确定一矩形区域。
[0084]在S630,对于当前选取的纵向边,利用纵向边的最小和最大纵坐标分别与待检验横向边对的最小和最大纵坐标Ymin、Ymax相减,取绝对值,如果绝对值都在预定阈值以内,则认为该纵向边为一条有效纵向边,进入S640;否则返回S610,继续遍历纵向边组。如果没有找到满足条件的纵向边,则待检验的横向边对没有通过验证,不能用于确定一矩形区域。
[0085]在S640,对根据前述过程得到的纵向边组进行遍历。
[0086]在S650,选取一纵向边,对于当前选取的纵向边,利用纵向边的横坐标与待检验横向边对的最大横坐标Xmax相减,取绝对值。如果绝对值在预定阈值以内,则进入S660 ;否则返回S640,继续遍历纵向边组。如果没有找到满足条件的纵向边,则待检验的横向边对没有通过验证,不能用于确定一矩形区域。
[0087]在S660,对于当前选取的纵向边,利用纵向边的最小和最大纵坐标分别与待检验横向边对的最小和最大纵坐标Ymin、Ymax相减,取绝对值,如果绝对值都在预定阈值以内,则认为该纵向边为另一条有效纵向边。这时,可认为待检验横向边对为有效横向边对,其确定的矩形区域为识别出的预期规则矩形区域。否则返回S640,继续遍历纵向边组。如果没有找到满足条件的纵向边,则待检验的横向边对没有通过验证,不能用于确定一矩形区域。
[0088]类似地,可以利用横向边组对纵向边对进行验证,此处不再赘述。
[0089]易于理解,基于本申请公开的内容和教导,还可以采用其他各种类似的方式进行验证。
[0090]图7示出根据一示例性实施方式的识别规则矩形区域的装置的框图。
[0091]如图7所示,根据本实施方式的识别规则矩形区域的装置700包括边缘点获取模块710、边组获取模块720、边对构造模块730、以及验证模块740。
[0092]边缘点获取模块710可用于对包含规则矩形区域的图像进行边缘点检测运算而获取图像中的边缘点。
[0093]根据示例实施例,边缘点获取模块710可配置为:对图像进行平滑滤波;对平滑滤波后的图像进行运算;检测运算的极值点以获取图像中的边缘点。
[0094]边组获取模块720可用于根据获取的所述边缘点的分布得到包括至少两条横向边的横向边组。边组获取模块720还可根据获取的所述边缘点的分布得到包括至少两条纵向边的纵向边组。
[0095]根据示例实施例,边组获取模块720可配置为:将所述边缘点按照纵坐标值进行分组以得到多个横向边缘点组,对于每一横向边缘点组,如果所述横向边缘点组包含的连续边缘点数目大于第一阈值,则将所述横向边缘点组构成的线段作为一条横向边而加入所述横向边组。边组获取模块720还可配置为:将所述边缘点按照横坐标值进行分组以得到多个纵向边缘点组,对于每一纵向边缘点组,如果所述纵向边缘点组包含的连续边缘点数目大于第二阈值,则将所述纵向边缘点组构成的线段作为一条纵向边而加入所述纵向边组。
[0096]边对构造模块730可用于从所述横向边组中构造满足预定条件的至少一个横向边对。边对构造模块730还可从所述纵向边组中构造满足预定条件的至少一个纵向边对。
[0097]根据示例实施例,边对构造模块730可配置为:对于所述横向边组中的任两条横向边,如果确定所述两条横向边的起始横坐标值的差以及终止横坐标值的差均小于第三阈值,且所述两条横向边的纵坐标值的差在第四阈值范围内,则将所述两条横向边作为一个横向边对。边对构造模块730还可配置为:对于所述纵向边组中的任两条纵向边,如果确定所述两条纵向边的起始纵坐标值的差以及终止纵坐标值的差均小于第五阈值,且所述两条纵向边的横坐标值的差在第六阈值范围内,则将所述两条纵向边作为一个纵向边对。
[0098]验证模块740可用于对每个横向边对进行验证,通过验证的横向边对为有效横向边对,所述有效横向边对确定的矩形区域为所述规则矩形区域。验证模块740还可对每个纵向边对进行验证,通过验证的纵向边对为有效纵向边对,所述有效纵向边对确定的矩形区域为所述规则矩形区域。
[0099]根据示例实施例,验证模块740配置为:寻找与所述横向边对对应的纵向边对,如果存在对应的纵向边对,则确定所述横向边对为有效横向边对。验证模块740还可配置为:寻找与所述纵向边对对应的横向边对,如果存在对应的横向边对,则确定所述纵向边对为有效纵向边对。
[0100]根据本发明实施例的识别规则矩形区域的装置700可实现前面描述的根据本申请发明构思的方法,与前述类似的说明不再赘述。
[0101]通过以上的详细描述,本领域的技术人员易于理解,根据本发明实施例的和装置可具有以下优点中的一个或多个。
[0102]根据一些实施例,本发明的方案能在边缘检测算法的基础上准确识别规则的矩形区域,可适用于识别图像中的规则按钮或具有明显边缘的规则图标等。
[0103]根据一些实施例,能够准确识别图像中的规则矩形区域。
[0104]根据一些实施例,可以通过对矩形区域进行校验来进一步提高识别的准确性,具有简单且准确率高等优势。
[0105]通过以上的实施例的描述,本领域的技术人员易于理解,本发明实施例的方法和相应模块可以通过软件或部分软件硬化的方式来实现。因此,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-R0M,U盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施例的方法。
[0106]本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的,因此不能用于限制本发明的保护范围。
[0107]本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0108]以上具体地示出和描述了本发明的示例性实施例。应该理解,本发明不限于所发明的实施例,相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效布置。
【主权项】
1.一种识别规则矩形区域的方法,其特征在于,包括: 对包含规则矩形区域的图像进行边缘点检测运算而获取图像中的边缘点; 根据获取的所述边缘点的分布得到包括至少两条横向边的横向边组,和/或根据获取的所述边缘点的分布得到包括至少两条纵向边的纵向边组; 从所述横向边组中构造满足预定条件的至少一个横向边对,和/或从所述纵向边组中构造满足预定条件的至少一个纵向边对; 对每个横向边对进行验证,通过验证的横向边对为有效横向边对,所述有效横向边对确定的矩形区域为所述规则矩形区域;或者对每个纵向边对进行验证,通过验证的纵向边对为有效纵向边对,所述有效纵向边对确定的矩形区域为所述规则矩形区域。2.根据权利要求1所述的方法,其特征在于,对包含规则矩形区域的图像进行边缘点检测运算而获取图像中的边缘点包括:利用预设算法对图像进行边缘点检测运算而获取图像中的边缘点,其中所述预设算法包括Laplacian算子、Canny算子、Sobel算子、Prewitt算子、Kirsch算子、罗盘算子、或Roberts Cross算子。3.根据权利要求1所述的方法,其特征在于,对包含规则矩形区域的图像进行边缘点检测运算而获取图像中的边缘点包括: 对图像进行平滑滤波; 对平滑滤波后的图像进行运算; 检测运算的极值点以获取图像中的边缘点。4.根据权利要求3所述的方法,其特征在于,对图像进行平滑滤波包括:采用高斯函数对图像进行平滑滤波。5.根据权利要求1所述的方法,其特征在于: 根据获取的所述边缘点的分布得到包括至少两条横向边的横向边组包括:将所述边缘点按照纵坐标值进行分组以得到多个横向边缘点组,对于每一横向边缘点组,如果所述横向边缘点组包含的连续边缘点数目大于第一阈值,则将所述横向边缘点组构成的线段作为一条横向边而加入所述横向边组;和/或 根据获取的所述边缘点的分布得到包括至少两条纵向边的纵向边组包括:将所述边缘点按照横坐标值进行分组以得到多个纵向边缘点组,对于每一纵向边缘点组,如果所述纵向边缘点组包含的连续边缘点数目大于第二阈值,则将所述纵向边缘点组构成的线段作为一条纵向边而加入所述纵向边组。6.根据权利要求1所述的方法,其特征在于: 从所述横向边组中构造满足预定条件的至少一个横向边对包括:对于所述横向边组中的任两条横向边,如果确定所述两条横向边的起始横坐标值的差以及终止横坐标值的差均小于第三阈值,且所述两条横向边的纵坐标值的差在第四阈值范围内,则将所述两条横向边作为一个横向边对;和/或 从所述纵向边组中构造满足预定条件的至少一个纵向边对包括:对于所述纵向边组中的任两条纵向边,如果确定所述两条纵向边的起始纵坐标值的差以及终止纵坐标值的差均小于第五阈值,且所述两条纵向边的横坐标值的差在第六阈值范围内,则将所述两条纵向边作为一个纵向边对。7.根据权利要求1所述的方法,其特征在于: 对每个横向边对进行验证包括:寻找与所述横向边对对应的纵向边对,如果存在对应的纵向边对,则所述横向边对为有效横向边对;或者 对每个纵向边对进行验证包括:寻找与所述纵向边对对应的横向边对,如果存在对应的横向边对,则所述纵向边对为有效纵向边对。8.一种识别规则矩形区域的装置,其特征在于,包括: 边缘点获取模块,用于对包含规则矩形区域的图像进行边缘点检测运算而获取图像中的边缘点; 边组获取模块,用于根据获取的所述边缘点的分布得到包括至少两条横向边的横向边组,和/或根据获取的所述边缘点的分布得到包括至少两条纵向边的纵向边组; 边对构造模块,用于从所述横向边组中构造满足预定条件的至少一个横向边对,和/或从所述纵向边组中构造满足预定条件的至少一个纵向边对; 验证模块,用于对每个横向边对进行验证,通过验证的横向边对为有效横向边对,所述有效横向边对确定的矩形区域为所述规则矩形区域;或者对每个纵向边对进行验证,通过验证的纵向边对为有效纵向边对,所述有效纵向边对确定的矩形区域为所述规则矩形区域。9.根据权利要求8所述的装置,其特征在于,所述边缘点获取模块配置为利用预设算法对图像进行边缘点检测运算而获取图像中的边缘点,其中所述预设算法包括Laplacian算子、Canny算子、Sobel算子、Prewitt算子、Kirsch算子、罗盘算子、或Roberts Cross算子。10.根据权利要求9所述的装置,其特征在于,所述边缘点获取模块配置为: 对图像进行平滑滤波; 对平滑滤波后的图像进行运算; 检测运算的极值点以获取图像中的边缘点。11.根据权利要求10所述的装置,其特征在于,所述边缘点获取模块配置为采用高斯函数对图像进行平滑滤波。12.根据权利要求8所述的装置,其特征在于,所述边组获取模块配置为: 将所述边缘点按照纵坐标值进行分组以得到多个横向边缘点组,对于每一横向边缘点组,如果所述横向边缘点组包含的连续边缘点数目大于第一阈值,则将所述横向边缘点组构成的线段作为一条横向边而加入所述横向边组;和/或 将所述边缘点按照横坐标值进行分组以得到多个纵向边缘点组,对于每一纵向边缘点组,如果所述纵向边缘点组包含的连续边缘点数目大于第二阈值,则将所述纵向边缘点组构成的线段作为一条纵向边而加入所述纵向边组。13.根据权利要求8所述的装置,其特征在于,所述边对构造模块配置为: 对于所述横向边组中的任两条横向边,如果确定所述两条横向边的起始横坐标值的差以及终止横坐标值的差均小于第三阈值,且所述两条横向边的纵坐标值的差在第四阈值范围内,则将所述两条横向边作为一个横向边对;和/或 对于所述纵向边组中的任两条纵向边,如果确定所述两条纵向边的起始纵坐标值的差以及终止纵坐标值的差均小于第五阈值,且所述两条纵向边的横坐标值的差在第六阈值范围内,则将所述两条纵向边作为一个纵向边对。14.根据权利要求13所述的装置,其特征在于,所述验证模块配置为: 寻找与所述横向边对对应的纵向边对,如果存在对应的纵向边对,则确定所述横向边对为有效横向边对;或者 寻找与所述纵向边对对应的横向边对,如果存在对应的横向边对,则确定所述纵向边对为有效纵向边对。
【文档编号】G06T7/00GK105844615SQ201610153207
【公开日】2016年8月10日
【申请日】2016年3月17日
【发明人】徐祖亮
【申请人】网易(杭州)网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1