掌桥专利:专业的专利平台
掌桥专利
首页

一种控件识别方法及装置

文献发布时间:2023-06-19 10:19:37


一种控件识别方法及装置

技术领域

本发明涉及计算机技术领域,特别是涉及一种控件识别方法及装置。

背景技术

随着技术的发展,业界开始了设计稿图直接转代码的研究潮流。其中设计稿内通常包括控件圆角,因此有效地识别控件的圆角以及圆角半径变得十分必要。

目前,现有技术中,通常采用基于Canny算法的边缘检测(Edge-Detection)得到控件对应的边缘信息计算控件的圆角半径。此外,通常也存在通过确定设计稿的轮廓再进行圆的拟合来得到控件的圆角半径。但是,Canny边缘检测可能会带来假边缘,且其降噪也会带来像素误差。当设计稿图为海报图时,海报图对应的内容也存在很多边缘,会对海报图的边缘进行混淆,其中,确定海报图的轮廓,往往也面临着海报图带来的干扰和噪声,以至于无法确定海报的边缘位置。由此,导致海报图对应的控件圆角及半径无法识别,或识别误差大。

发明内容

本发明实施例的目的在于提供一种控件识别方法及装置,以实现提高对海报图对应的控件圆角识别的精度。具体技术方案如下:

在本发明实施的第一方面,首先提供了一种控件识别方法,应用于海报图处理过程中,所述方法包括:

定位所述海报图对应的海报区域中目标控件的位置,按照预设规则,确定所述目标控件的扩展区域,其中,所述扩展区域对所述海报区域形成包围;

在所述扩展区域中确定起始点,并依据所述起始点填充所述海报区域和所述扩展区域,确定掩膜数据;

对所述掩膜数据进行二值化处理,生成对应的二值化图像;

截取包含所述二值化图像的顶点的目标图像,其中,所述目标图像中至少包括所述目标控件的圆角边缘;

依据所述目标图像,确定所述圆角边缘对应的多个像素点;

依据所述多个像素点,确定所述目标控件的圆角边缘对应圆角半径。

可选的,所述在所述扩展区域中确定起始点,并依据所述起始点填充所述海报区域和所述扩展区域,确定掩膜数据,包括:

将所述扩展区域的顶点作为起始点;

在所述海报区域和所述扩展区域中确定所述起始点的兴趣像素点,并依据所述兴趣像素点确定掩膜数据。

可选的,所述在所述海报区域和所述扩展区域中确定所述起始点的兴趣像素点,并依据所述兴趣像素点确定掩膜数据,包括:

以所述起始点为基准点,在所述海报区域和扩展区域中确定所述基准点的相邻像素点,判断所述相邻像素点是否为所述基准点的兴趣像素点;

在所述相邻像素点为兴趣像素点的情况下,以所述相邻像素点为基准点,继续确定所述基准点的兴趣像素点;

将所述兴趣像素点确定为第一掩膜值,并将所述海报区域和扩展区域中所述兴趣像素点之外的像素点确定为第二掩膜值,得到所述掩膜数据。

可选的,所述判断所述相邻像素点是否为所述基准点的兴趣像素点,包括:

确定所述基准点的像素值和相邻像素点的像素值的差值;

若所述差值不超过预设的阈值,确定所述相邻像素点为所述基准点的兴趣像素点。

可选的,所述依据所述目标图像,确定所述圆角边缘对应的多个像素点,包括:

确定所述目标图像中每行处于末端的除兴趣像素点之外的像素点的位置信息,形成第一集合;

获取所述目标图像中每列处于末端的除兴趣像素点之外的像素点的位置信息,形成第二集合;

依据所述第一集合和第二集合的交集,获得所述圆角边缘对应的多个兴趣像素点。

可选的,所述依据所述多个像素点,确定所述目标控件的圆角边缘对应圆角半径,包括:

确定所述圆角边缘对应的多个兴趣像素点的个数;

若所述兴趣像素点的个数不大于预设的限定值,通过映射表匹配出目标控件的圆角边缘对应圆角半径;

若所述像素点个数大于限定值,依据最小二乘法确定所述目标控件的圆角边缘对应圆角半径。

可选的,所述方法还包括:

对所述圆角半径进行修正,并在修正后更新所述圆角半径。

可选的,所述方法还包括:

根据所述二值化图像,确定所述海报区域和扩展区域中所述兴趣像素点之外的像素点在每行和每列的个数;

若所述兴趣像素点之外的像素点个数小于预设个数,将对应行或列的所有像素点的像素值替换为所述兴趣像素点对应的像素值,更新所述二值化图像。

可选的,所述截取包含所述二值化图像的顶点的目标图像,包括:

检测所述二值化图像的行和列对应的像素点个数,确定所述二值化图像的形状信息;

根据所述形状信息,确定所述二值化图像中包含顶点的截取区域;

按照所述截取区域对所述二值化图像进行截取,得到对应的目标图像。

在本发明实施的第二方面,还提供了一种控件识别装置,所述装置包括:

控件定位模块,用于定位所述海报图对应的海报区域中目标控件的位置,按照预设规则,确定所述目标控件的扩展区域,其中,所述扩展区域对所述海报区域形成包围;

掩膜确定模块,用于在所述扩展区域中确定起始点,并依据所述起始点填充所述海报区域和所述扩展区域,确定掩膜数据;

二值化处理模块,用于对所述掩膜数据进行二值化处理,生成对应的二值化图像;

图像截取模块,用于截取包含所述二值化图像的顶点的目标图像,其中,所述目标图像中至少包括所述目标控件的圆角边缘;

像素点确定模块,用于依据所述目标图像,确定所述圆角边缘对应的多个像素点;

数据计算模块,用于依据所述多个像素点,确定所述目标控件的圆角边缘对应圆角半径。

可选的,所述掩膜确定模块包括:

起始点确定子模块,用于将所述扩展区域的顶点作为起始点;

掩膜数据生成子模块,用于在所述海报区域和所述扩展区域中确定所述起始点的兴趣像素点,并依据所述兴趣像素点确定掩膜数据。

可选的,所述掩膜数据生成子模块包括:

兴趣像素点确定单元,用于以所述起始点为基准点,在所述海报区域和扩展区域中确定所述基准点的相邻像素点,判断所述相邻像素点是否为所述基准点的兴趣像素点;

在所述相邻像素点为兴趣像素点的情况下,以所述相邻像素点为基准点,继续确定所述基准点的兴趣像素点;

掩膜数据生成单元,用于将所述兴趣像素点确定为第一掩膜值,并将所述海报区域和扩展区域中所述兴趣像素点之外的像素点确定为第二掩膜值,得到所述掩膜数据。

可选的,所述兴趣像素点确定单元还用于:

确定所述基准点的像素值和相邻像素点的像素值的差值;

若所述差值不超过预设的阈值,确定所述相邻像素点为所述基准点的兴趣像素点。

可选的,所述像素点确定模块包括:

第一位置子模块,用于确定所述目标图像中每行处于末端的除兴趣像素点之外的像素点的位置信息,形成第一集合;

第二位置子模块,用于获取所述目标图像中每列处于末端的除兴趣像素点之外的像素点的位置信息,形成第二集合;

像素点获取子模块,用于依据所述第一集合和第二集合的交集,获得所述圆角边缘对应的多个兴趣像素点。

可选的,所述数据计算模块包括:

个数计算模块,用于确定所述圆角边缘对应的多个兴趣像素点的个数;

半径计算模块,用于若所述兴趣像素点的个数不大于预设的限定值,通过映射表匹配出目标控件的圆角边缘对应圆角半径;

若所述像素点个数大于限定值,依据最小二乘法确定所述目标控件的圆角边缘对应圆角半径。

可选的,所述装置还包括:

半径修正模块,用于对所述圆角半径进行修正,并在修正后更新所述圆角半径。

可选的,所述装置还包括:

第一计算模块,用于根据所述二值化图像,确定所述海报区域和扩展区域中所述兴趣像素点之外的像素点在每行和每列的个数;

第二计算模块,用于若所述兴趣像素点之外的像素点个数小于预设个数,将对应行或列的所有像素点的像素值替换为所述兴趣像素点对应的像素值,更新所述二值化图像。

可选的,所述图像截取模块包括:

图像检测子模块,用于检测所述二值化图像的行和列对应的像素点个数,确定所述二值化图像的形状信息;

截取区域确定子模块,用于根据所述形状信息,确定所述二值化图像中包含顶点的截取区域;

目标图像获取子模块,用于按照所述截取区域对所述二值化图像进行截取,得到对应的目标图像。

在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的控件识别方法。

在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的控件识别方法。

本发明提供的一种控件识别方法及装置,通过定位到目标控件的位置,在目标控件对应的海报区域之外增加扩展区域,利用扩展区域的颜色一致性高,可以在扩展区域中选定一起始点,依据该起始点对海报区域和扩展区域进行填充,形成表征目标控件对应的边缘结构特征的掩膜数据。随后,将掩膜数据转换为二值化图像,可以凸显出目标控件的边缘轮廓,通过在二值化图像的顶点处,截取包括目标控件的一圆角边缘的目标图像,利用该目标图像,可以通过检测目标图像中的像素点坐标和像素值,确定出圆角边缘对应的多个像素点,进而依据多个像素点的相关信息,确定出圆角边缘对应的圆角半径。该发明可以解决通过边缘检测或确定边缘轮廓的方式来确定圆角边缘及半径,导致海报图对应的控件圆角及半径无法识别或识别误差大的技术问题,进而能够提高对海报图对应的控件圆角识别的精度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例中提供的一种控件识别方法的步骤流程图;

图2为本发明实施例中提供的另一种控件识别方法的步骤流程图;

图3为本发明实施例中提供的一种确定掩膜数据的方法步骤流程图;

图4为本发明实施例中提供的一种确定圆角半径的方法步骤流程图;

图5为本发明实施例中提供的一种控件识别装置的框图;

图6为本发明实施例中提供的一种电子设备的架构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

参照图1,示出了一种控件识别方法,应用于海报图处理过程中,所述方法可以包括:

步骤101、定位所述海报图对应的海报区域中目标控件的位置,按照预设规则,确定所述目标控件的扩展区域。

其中,所述扩展区域对所述海报区域形成包围。

本发明实施例中,基于海报图的顶点设计为圆角已经成为一种标配,因此,目标控件可以理解为设计海报图绘制时使海报图的顶点形成圆角的可操作单元。例如目标控件可以是一个带圆角的矩形框等。在绘制海报图的过程中可以通过插入目标控件,形成对应海报图的边框。在海报图对应的目标控件所包含的区域,可以确定为海报区域。在后续的海报图处理过程中,可以通过定位目标控件的位置,来确定扩展区域,从而形成对海报区域的包围。

具体的,可以利用海报图的背景颜色稳定一致的特点,选取海报图的背景区域辅助进行目标控件的圆角识别。示例性地,可以依据边缘检测等方法,定位到目标控件的位置之后,在目标控件对应的海报区域之外,按照预设规则,增加扩展区域,其中,所述扩展区域对海报区域形成包围。

一种示例中,上述按照预设规则,确定所述目标控件的扩展区域可以具体包括:可以在检测到所述目标控件对应的边缘位置后,以边缘位置分别向外扩大N个像素点,例如5个像素点等,由此确定为目标控件对应的所述扩展区域。

具体的,由于所述扩展区域的背景颜色一致性高,避免直接对海报图通过边缘检测或轮廓检测来进行目标控件的识别,有利于提高对目标控件对应的圆角的识别精度。

步骤102、在所述扩展区域中确定起始点,并依据所述起始点填充所述海报区域和所述扩展区域,确定掩膜数据。

本发明实施例中,可以对位于目标控件对应的海报区域和扩展区域中任意一个像素点对应的位置信息和像素值进行获取。由于海报图的背景都为纯色,因此可以理解为扩展区域内的颜色一致性较高,可以在扩展区域内选定一像素点,作为起始点。依据该起始点,采用预设的检测算法对控制区域和扩展区域中的像素点进行检测,从而通过检测到的像素点描绘出目标控件对应的边缘。例如,预设的检测算法可以理解为基于初始点向相邻像素点扩散的方式,确定出与初始点像素值相同的像素点。

此外,为了能够对海报区域的边缘结构特征进行提取,可以生成与所述海报区域和扩展区域的规格相同的掩膜图像。因此,根据检测到的像素点的位置信息,可以在掩膜图像中对应的像素点依次用第一掩膜值填充,除检测到的像素点之外的像素点用第二掩膜值填充。具体的,第一掩膜值可以为1,第二掩膜值可以为0。因此,可以将由第一掩膜值和第二掩膜值构成的数据集,确定为所述掩膜数据,依据所述掩膜数据,可以在所述掩膜图像中确定目标控件对应的边缘结构特征。

步骤103、对所述掩膜数据进行二值化处理,生成对应的二值化图像。

本发明实施例中,二值化处理指的是将图像上的像素点对应的像素值设置为0或255,经过二值化处理后的图像会呈现出明显的黑白效果,因此,通过对所述掩膜数据进行二值化处理,可以将掩膜图像转换为二值化图像,从而凸显出目标控件的边缘轮廓。例如,可以将第一掩膜值对应的像素点的像素值设置为第一灰度值,例如0,可以将第二掩膜值对应的像素点的像素值设置为第二灰度值,例如255。

步骤104、截取包含所述二值化图像的顶点的目标图像,其中,所述目标图像中至少包括所述目标控件的圆角边缘。

本发明实施例中,二值化图像可以清楚地凸显目标控件的边缘轮廓,为了能够进一步地对目标控件对应的圆角进行识别,需要对包括有目标控件的圆角边缘的图像进行截取。示例性地,可以根据二值化图像的形状信息,对包含所述二值化图像的顶点的区域进行选择性地截取,相应截取到的图像只需要包括目标控件对应的圆角边缘即可。因此,将截取到的图像,作为目标图像,以便于进行后续相关操作。

步骤105、依据所述目标图像,确定所述圆角边缘对应的多个像素点。

本发明实施例中,所述目标图像中包括目标控件对应的圆角边缘,也可能包括目标控件对应的直线边缘。由于目标图像的色差分明,从而可以依据目标图像,检测目标图像对应像素点坐标的像素值,并通过像素值确定出目标控件边缘对应的若干个像素点。其中,可以根据目标图像在二值化图像上截取到的位置,以及目标控件边缘对应的若干个像素点的坐标,对若干个像素点进行筛选,确定该圆角边缘对应的多个像素点。

一种示例中,目标图像截取自二值化图像的左上角时,可以通过对目标图像的行从左往右进行扫描,确定第一个像素值为第二灰度值的像素点的坐标,形成第一集合;通过对目标图像的列从上往下扫描,确定第一个像素值为第二灰度值的像素点的坐标,形成第二集合,将第一集合和第二集合取交集,确定出圆角边缘对应的多个像素点。

另一种示例中,目标图像截取自二值化图像的右上角时,可以通过对目标图像的行从左往右进行扫描,确定最后一个像素值为第二灰度值的像素点的坐标,形成第一集合;通过对目标图像的列从上往下扫描,确定第一个像素值为第二灰度值的像素点的坐标,形成第二集合,将第一集合和第二集合取交集,确定出圆角边缘对应的多个像素点。

另一种示例中,目标图像截取自二值化图像的左下角时,可以通过对目标图像的行从左往右进行扫描,确定第一个像素值为第二灰度值的像素点的坐标,形成第一集合;通过对目标图像的列从上往下扫描,确定最后一个像素值为第二灰度值的像素点的坐标,形成第二集合,将第一集合和第二集合取交集,确定出圆角边缘对应的多个像素点。

另一种示例中,目标图像截取自二值化图像的右下角时,可以通过对目标图像的行从左往右进行扫描,确定最后一个像素值为第二灰度值的像素点的坐标,形成第一集合;通过对目标图像的列从上往下扫描,确定最后一个像素值为第二灰度值的像素点的坐标,形成第二集合,将第一集合和第二集合取交集,确定出圆角边缘对应的多个像素点。

步骤106、依据所述多个像素点,确定所述目标控件的圆角边缘对应圆角半径。

本发明实施例中,根据得到的位于圆角边缘上的多个像素点的坐标,可以确定出目标控件的圆角边缘对应的圆角半径。示例性地,通过对多个像素点的坐标进行圆的拟合得出圆角半径。另一种示例中,当多个像素点对应的个数较少时,可以直接通过查询预设的映射表确定出圆角半径。

综上所述,通过定位到目标控件的位置,在目标控件对应的海报区域之外增加扩展区域,利用扩展区域的颜色一致性高,可以在扩展区域中选定一起始点,依据该起始点对海报区域和扩展区域进行填充,形成表征目标控件对应的边缘结构特征的掩膜数据。随后,将掩膜数据转换为二值化图像,可以凸显出目标控件的边缘轮廓,通过在二值化图像的顶点处,截取包括目标控件的一圆角边缘的目标图像,利用该目标图像,可以通过检测目标图像中的像素点坐标和像素值,确定出圆角边缘对应的多个像素点,进而依据多个像素点的相关信息,确定出圆角边缘对应的圆角半径。该发明可以解决通过边缘检测或确定边缘轮廓的方式来确定圆角边缘及半径,导致海报图对应的控件圆角及半径无法识别或识别误差大的技术问题,进而能够提高对海报图对应的目标控件的圆角识别精度。

参照图2,示出了另一种控件识别方法,应用于海报图处理过程中,所述方法可以包括:

步骤201、定位所述海报图对应的海报区域中目标控件的位置,按照预设规则,确定所述目标控件的扩展区域。

其中,所述扩展区域对所述海报区域形成包围。

本发明实施例中,对步骤201的描述内容可参考对步骤101的描述。

在所述扩展区域中确定起始点,并依据所述起始点填充所述海报区域和所述扩展区域,确定掩膜数据;包括:步骤202-步骤203。

步骤202、将所述扩展区域的顶点作为起始点。

本发明实施例中,可以对位于目标控件对应的海报区域和扩展区域中任意一个像素点对应的位置信息和像素值进行获取。由于扩展区域内的颜色一致性较高,可以在扩展区域内选定一像素点,作为起始点。示例性地,为了便于执行操作,可以将扩展区域的顶点作为起始点,例如确定扩展区域左上角的顶点为起始点。

步骤203、在所述海报区域和所述扩展区域中确定所述起始点的兴趣像素点,并依据所述兴趣像素点确定掩膜数据。

本发明实施例中,依据该起始点,可以根据预设的检测算法对控制区域和扩展区域中的像素点进行检测,将检测到的若干个像素点作为起始点的兴趣像素点,从而通过若干个兴趣像素点描绘出目标控件对应的边缘。例如,预设的检测算法可以理解为基于初始点向相邻像素点扩散的方式,将检测到的与初始点像素值相同的若干个像素点,确定为兴趣像素点。

此外,为了能够对海报区域的边缘结构特征进行提取,可以生成与所述海报区域和扩展区域的规格相同的掩膜图像。因此,根据若干个兴趣像素点的位置信息,可以在掩膜图像中对应的像素点依次用第一掩膜值填充,除兴趣像素点之外的像素点用第二掩膜值填充。具体的,第一掩膜值可以为1,第二掩膜值可以为0。因此,可以将由第一掩膜值和第二掩膜值构成的数据集,确定为所述掩膜数据,依据所述掩膜数据,可以在所述掩膜图像中确定目标控件对应的边缘结构特征。

一种可选的实施例,参照图3,步骤203可以包括以下子步骤:子步骤S31-子步骤S37。

子步骤S31、以所述起始点为基准点。

子步骤S32、在所述海报区域和扩展区域中确定所述基准点的相邻像素点。

子步骤S33、判断所述相邻像素点是否为所述基准点的兴趣像素点。

其中,所述判断所述相邻像素点是否为所述基准点的兴趣像素点,包括:

确定所述基准点的像素值和相邻像素点的像素值的差值。

若所述差值不超过预设的阈值,确定所述相邻像素点为所述基准点的兴趣像素点。

本发明实施例中,将初始点作为基准点,在所述海报区域和扩展区域中确定出该基准点的相邻像素点。示例性地,以该基准点对应的坐标信息,找出与该基准点的相邻像素点。接着判断相邻像素点是否为基准点的兴趣像素点,其中,兴趣像素点可以理解为与基准点的像素值相同的像素点。

例如,可以通过基准点对应的坐标信息进行确定基准点的相邻像素点,进而进一步判断该相邻像素点是否为基准点的兴趣像素点。同时,为了优化鲁棒性能,在确定兴趣像素点时,预先设置差值阈值。例如20等。

因此,在确定了相邻像素点之后,获取到该相邻像素点的像素值和基准点像素值,从而可以确定基准点的像素值和相邻像素点的像素值的差值。在该差值不超过预设的阈值情况下,可以确定该相邻像素点的像素值和基准点的像素值相同。从而可以将该相邻像素点确定为兴趣像素点。

在所述相邻像素点为兴趣像素点的情况下,执行子步骤S34,否则执行子步骤S36。

子步骤S34、以所述相邻像素点为基准点。

其中,执行完子步骤S34之后,可以同时执行子步骤S35和子步骤S32,用于继续确定所述基准点的兴趣像素点。

子步骤S35、将所述兴趣像素点确定为第一掩膜值。

子步骤S36、将所述海报区域和扩展区域中所述兴趣像素点之外的像素点确定为第二掩膜值。

子步骤S37、依据所述第一掩膜值和第二掩膜值,得到所述掩膜数据。

可选的,可以将子步骤S31-子步骤S37的方法步骤作为预设的检测算法。

本发明实施例中,在确定相邻像素点为兴趣像素点之后,可以以该相邻像素点为新的基准点,返回执行子步骤S32,继续确定基准点对应的兴趣像素点。

此外,为了能够对海报区域的边缘结构特征进行提取,可以生成与所述海报区域和扩展区域的规格相同的掩膜图像。因此,根据若干个兴趣像素点的位置信息,可以在掩膜图像中对应的像素点采用第一掩膜值进行填充。

在确定相邻像素点不为兴趣像素点之后,可以将对应海报区域和扩展区域中兴趣像素点之外的像素点采用第二掩膜值进行填充,可以将根据第一掩膜值和第二掩膜值生成的数据集,确定为掩膜数据。例如,第一掩膜值可以为1,第二掩膜值可以为0,因此通过所述掩膜数据,在所述掩膜图像中确定目标控件对应的边缘结构特征。

步骤204、对所述掩膜数据进行二值化处理,生成对应的二值化图像。

本发明实施例中,二值化处理指的是将图像上的像素点对应的像素值设置为0或255,经过二值化处理后的图像会呈现出明显的黑白效果,因此,通过对所述掩膜数据进行二值化处理,可以将掩膜图像转换为二值化图像,从而凸显出目标控件的边缘轮廓。例如,可以将第一掩膜值对应的像素点的像素值设置为第一灰度值,例如0,可以将第二掩膜值对应的像素点的像素值设置为第二灰度值,例如255。

步骤205、根据所述二值化图像,确定所述海报区域和扩展区域中所述兴趣像素点之外的像素点在每行和每列的个数。

步骤206、若所述兴趣像素点之外的像素点个数小于预设个数,将对应行或列的所有像素点的像素值替换为所述兴趣像素点对应的像素值,更新所述二值化图像。

本发明实施例中,可以通过确定所述海报区域和扩展区域中兴趣像素点之外的像素点在每行和每列的个数,来判断对应的行或列是否存在噪声污染。示例性地,可以依据二值化图像在竖直方向和水平方向上的投影,来对每行或每列的像素值为第二灰度值的像素点进行计数。若某一行或某一列的像素值为第二灰度值的像素点的个数,小于依据该行或该列总像素点设置的预设个数,例如预设个数为该行或改列总像素点个数的1/4,则可以确定出该行或列存在噪声污染,进而将对应的行或列的像素值均充值为第一灰度值,以消除噪声污染的影响,提高该发明的抗干扰性能。

步骤207、截取包含所述二值化图像的顶点的目标图像,其中,所述目标图像中至少包括所述目标控件的圆角边缘。

一种可选的实施例,步骤207还可以包括如下步骤:

检测所述二值化图像的行和列对应的像素点个数,确定所述二值化图像的形状信息。

根据所述形状信息,确定所述二值化图像中包含顶点的截取区域。

按照所述截取区域对所述二值化图像进行截取,得到对应的目标图像。

本发明实施例中,二值化图像可以清楚地凸显目标控件的边缘轮廓,为了能够进一步地对目标控件对应的圆角进行识别,需要对包括有目标控件的圆角边缘的图像进行截取。示例性地,可以根据二值化图像的形状信息,对包含所述二值化图像的顶点的区域进行选择性地截取,相应截取到的图像只需要包括目标控件对应的圆角边缘即可。

示例性地,可以通过检测二值化图像对应的行像素点的个数以及列像素点的个数,来确定二值化图像的形状信息,其中,形状信息可以包括正方形和长方形。根据形状信息,可以确定出目标图像在二值化图像上的截取区域。例如,当二值化图像为正方形时,可以截取二值化图像中的右下包含二值化图像的顶点的1/4图像区域的图像,作为目标图像。当二值化图像为长方形时,可以截取二值化图像中的右下包含二值化图像的顶点的1/16图像区域的图像,作为目标图像。其中,目标图像可以为正方形。

步骤208、依据所述目标图像,确定所述圆角边缘对应的多个像素点。

一种可选的实施例,步骤208还可以包括如下步骤:

确定所述目标图像中每行处于末端的除兴趣像素点之外的像素点的位置信息,形成第一集合。

获取所述目标图像中每列处于末端的除兴趣像素点之外的像素点的位置信息,形成第二集合。

依据所述第一集合和第二集合的交集,获得所述圆角边缘对应的多个兴趣像素点。

本发明实施例中,所述目标图像中包括目标控件对应的圆角边缘,也可能包括目标控件对应的直线边缘。由于目标图像的色差分明,从而可以依据目标图像,检测目标图像对应像素点坐标的像素值,并通过像素值确定出目标控件边缘对应的若干个像素点。其中,可以根据目标图像在二值化图像上截取到的位置,以及目标控件边缘对应的若干个像素点的坐标,对若干个像素点进行筛选,确定该圆角边缘对应的多个像素点。

为了便于步骤的执行,可以确定每次截取到的目标图像均截取自二值化图像的右下角。由此,可以通过对目标图像的行从左往右进行扫描,确定处于末端的除兴趣像素点之外的像素点的坐标,形成第一集合;通过对目标图像的列从上往下扫描,确定处于末端的除兴趣像素点之外的像素点的坐标,形成第二集合,将第一集合和第二集合取交集,由此可以确定出圆角边缘对应的多个像素点的坐标。

步骤209、依据所述多个像素点,确定所述目标控件的圆角边缘对应圆角半径。

一种可选的实施例,参照图4,步骤209还可以包括如下步骤:子步骤S41-子步骤S44。

子步骤S41、确定所述圆角边缘对应的多个兴趣像素点的个数。

子步骤S42、判断所述兴趣像素点的个数是否大于预设的限定值。

若所述兴趣像素点的个数不大于预设的限定值,执行子步骤S43。

若所述像素点个数大于限定值,执行子步骤S44。

子步骤S43、通过映射表匹配出目标控件的圆角边缘对应圆角半径。

子步骤S44、依据最小二乘法确定所述目标控件的圆角边缘对应圆角半径。

本发明实施例中,根据得到的圆角边缘对应的多个兴趣像素点,可以确定兴趣像素点的个数,为了便于步骤的执行,简化操作,可以先对兴趣像素点的个数进行判断。示例性地,当兴趣像素点的个数大于预设的限定值的情况下,例如兴趣像素点大于5个,可以利用最小二乘法等方法,依据多个兴趣像素点的坐标,拟合得到对应的圆角半径。当兴趣像素点的个数不大于预设的限定值的情况下,由于像素点个数较少,可以预先根据多个像素点坐标,形成圆角半径对应确定的映射表。由此,可以在兴趣像素点较少的情况下,通过查询映射表快速匹配出目标控件的圆角边缘对应的圆角半径。

一种可选的实施例,所述方法还包括:

步骤210、对所述圆角半径进行修正,并在修正后更新所述圆角半径。

本发明实施例中,为了减小目标控件的圆角边缘的圆角半径的计算误差,例如,圆角半径较大,计算得出的圆角半径造成目标控件的边缘呈现半圆形。可以通过检测海报区域的行和列的像素点个数,确定出海报区域对应的宽度,依据宽度,对圆角半径进行检测。

其中,依据长度和宽度,对圆角半径进行检测,可以包括如下步骤:子步骤S45-子步骤S46。

子步骤S45、判断所述圆角半径是否接近宽度的一半。

若是,执行子步骤S46;若否,执行子步骤S47。

子步骤S46、将宽度取小的一半,作为圆角半径。

子步骤S47、与修正前的圆角半径保持一致。

具体的,当海报区域为正方形时,其对应的宽度即为边长,当海报区域为长方形时,其对应的宽度即为长方形中较短的一条边的长度,若圆角半径与宽度的一半的差值小于像素点阈值,例如像素点阈值为4个像素点,此时可以判断圆角半径接近宽度的一半,则为了避免造成目标控件的边缘呈现半圆形,可以根据实际情况将宽度减小,再取其宽度的一半确定为圆角半径,修正并更新圆角半径的值。否则,更新后的圆角半径与修正前的圆角半径保持一致。

综上所述,通过定位到目标控件的位置,在目标控件对应的海报区域之外增加扩展区域,利用扩展区域的颜色一致性高,可以在扩展区域中选定一起始点,依据该起始点对海报区域和扩展区域进行填充,形成表征目标控件对应的边缘结构特征的掩膜数据。随后,将掩膜数据转换为二值化图像,可以凸显出目标控件的边缘轮廓,通过在二值化图像的顶点处,截取包括目标控件的一圆角边缘的目标图像,利用该目标图像,可以通过检测目标图像中的像素点坐标和像素值,确定出圆角边缘对应的多个像素点,进而依据多个像素点的相关信息,确定出圆角边缘对应的圆角半径。该发明可以解决通过边缘检测或确定边缘轮廓的方式来确定圆角边缘及半径,导致海报图对应的控件圆角及半径无法识别或识别误差大的技术问题,进而能够提高对海报图对应的目标控件的圆角识别精度,具有较好的通用性。

参照图5,示出了一种控件识别装置,所述装置可以包括:

控件定位模块501,用于定位所述海报图对应的海报区域中目标控件的位置,按照预设规则,确定所述目标控件的扩展区域,其中,所述扩展区域对所述海报区域形成包围。

掩膜确定模块502,用于在所述扩展区域中确定起始点,并依据所述起始点填充所述海报区域和所述扩展区域,确定掩膜数据。

二值化处理模块503,用于对所述掩膜数据进行二值化处理,生成对应的二值化图像。

图像截取模块504,用于截取包含所述二值化图像的顶点的目标图像,其中,所述目标图像中至少包括所述目标控件的圆角边缘。

像素点确定模块505,用于依据所述目标图像,确定所述圆角边缘对应的多个像素点。

数据计算模块506,用于依据所述多个像素点,确定所述目标控件的圆角边缘对应圆角半径。

一种可选的实施例,所述掩膜确定模块可以包括:

起始点确定子模块,用于将所述扩展区域的顶点作为起始点。

掩膜数据生成子模块,用于在所述海报区域和所述扩展区域中确定所述起始点的兴趣像素点,并依据所述兴趣像素点确定掩膜数据。

一种可选的实施例,所述掩膜数据生成子模块可以包括:

兴趣像素点确定单元,用于以所述起始点为基准点,在所述海报区域和扩展区域中确定所述基准点的相邻像素点,判断所述相邻像素点是否为所述基准点的兴趣像素点。

在所述相邻像素点为兴趣像素点的情况下,以所述相邻像素点为基准点,继续确定所述基准点的兴趣像素点。

掩膜数据生成单元,用于将所述兴趣像素点确定为第一掩膜值,并将所述海报区域和扩展区域中所述兴趣像素点之外的像素点确定为第二掩膜值,得到所述掩膜数据。

一种可选的实施例,所述兴趣像素点确定单元还用于:

确定所述基准点的像素值和相邻像素点的像素值的差值。

若所述差值不超过预设的阈值,确定所述相邻像素点为所述基准点的兴趣像素点。

一种可选的实施例,所述像素点确定模块可以包括:

第一位置子模块,用于确定所述目标图像中每行处于末端的除兴趣像素点之外的像素点的位置信息,形成第一集合。

第二位置子模块,用于获取所述目标图像中每列处于末端的除兴趣像素点之外的像素点的位置信息,形成第二集合。

像素点获取子模块,用于依据所述第一集合和第二集合的交集,获得所述圆角边缘对应的多个兴趣像素点。

一种可选的实施例,所述数据计算模块可以包括:

个数计算模块,用于确定所述圆角边缘对应的多个兴趣像素点的个数。

半径计算模块,用于若所述兴趣像素点的个数不大于预设的限定值,通过映射表匹配出目标控件的圆角边缘对应圆角半径。

若所述像素点个数大于限定值,依据最小二乘法确定所述目标控件的圆角边缘对应圆角半径。

一种可选的实施例,所述装置还可以包括:

半径修正模块,用于对所述圆角半径进行修正,并在修正后更新所述圆角半径。

一种可选的实施例,所述装置还可以包括:

第一计算模块,用于根据所述二值化图像,确定所述海报区域和扩展区域中所述兴趣像素点之外的像素点在每行和每列的个数。

第二计算模块,用于若所述兴趣像素点之外的像素点个数小于预设个数,将对应行或列的所有像素点的像素值替换为所述兴趣像素点对应的像素值,更新所述二值化图像。

一种可选的实施例,所述图像截取模块可以包括:

图像检测子模块,用于检测所述二值化图像的行和列对应的像素点个数,确定所述二值化图像的形状信息。

截取区域确定子模块,用于根据所述形状信息,确定所述二值化图像中包含顶点的截取区域。

目标图像获取子模块,用于按照所述截取区域对所述二值化图像进行截取,得到对应的目标图像。

综上所述,通过定位到目标控件的位置,在目标控件对应的海报区域之外增加扩展区域,利用扩展区域的颜色一致性高,可以在扩展区域中选定一起始点,依据该起始点对海报区域和扩展区域进行填充,形成表征目标控件对应的边缘结构特征的掩膜数据。随后,将掩膜数据转换为二值化图像,可以凸显出目标控件的边缘轮廓,通过在二值化图像的顶点处,截取包括目标控件的一圆角边缘的目标图像,利用该目标图像,可以通过检测目标图像中的像素点坐标和像素值,确定出圆角边缘对应的多个像素点,进而依据多个像素点的相关信息,确定出圆角边缘对应的圆角半径。该发明可以解决通过边缘检测或确定边缘轮廓的方式来确定圆角边缘及半径,导致海报图对应的控件圆角及半径无法识别或识别误差大的技术问题,进而能够提高海报图对应的目标控件的圆角识别精度,具有较好的通用性。

本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,

存储器603,用于存放计算机程序;

处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:

定位所述海报图对应的海报区域中目标控件的位置,按照预设规则,确定所述目标控件的扩展区域,其中,所述扩展区域对所述海报区域形成包围。

在所述扩展区域中确定起始点,并依据所述起始点填充所述海报区域和所述扩展区域,确定掩膜数据。

对所述掩膜数据进行二值化处理,生成对应的二值化图像。

截取包含所述二值化图像的顶点的目标图像,其中,所述目标图像中至少包括所述目标控件的圆角边缘。

依据所述目标图像,确定所述圆角边缘对应的多个像素点。

依据所述多个像素点,确定所述目标控件的圆角边缘对应圆角半径。

上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述终端与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的控件识别方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的控件识别方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

相关技术
  • 一种控件识别方法和相关装置
  • 一种控件识别方法和装置
技术分类

06120112500409