CN112686911A - 一种控件区域生成方法、装置、电子设备及存储介质 - Google Patents
一种控件区域生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112686911A CN112686911A CN202011631743.0A CN202011631743A CN112686911A CN 112686911 A CN112686911 A CN 112686911A CN 202011631743 A CN202011631743 A CN 202011631743A CN 112686911 A CN112686911 A CN 112686911A
- Authority
- CN
- China
- Prior art keywords
- threshold
- edge
- image
- pixel points
- gradient image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000003708 edge detection Methods 0.000 claims abstract description 73
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 22
- 238000001514 detection method Methods 0.000 claims description 38
- 230000000877 morphologic effect Effects 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 15
- 230000003044 adaptive effect Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 230000009977 dual effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003709 image segmentation Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000003628 erosive effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 241001270131 Agaricus moelleri Species 0.000 description 1
- 241000282414 Homo sapiens Species 0.000 description 1
- 241000872198 Serjania polyphylla Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明实施例提供了一种控件区域生成方法。包括:将待处理图像转换为梯度图像,基于迭代的算法求出边缘和背景的第一阈值,对于一般的图像具有较好效果,基于聚类的算法求出第二阈值,可以不受图像亮度和对比度的影响,避免了边缘和背景的错分,根据第一阈值和第二阈值,对梯度图像进行边缘检测得到强边缘和弱边缘,根据强边缘和弱边缘生成目标边缘,根据目标边缘生成待处理图像中的控件区域,使得边缘检测所需的两个阈值可以自动生成,避免人工介入,减少了工时的耗费,继而提高了控件区域的生成效率,而且利用两种方法来得到自适应的两个阈值,从而减少了双阈值边缘检测带来的虚假边缘和边缘丢失的问题,继而减少了控件区域的错误率。
Description
技术领域
本发明涉及图像处理技术领域,特别是涉及一种控件区域生成方法、一种控件区域生成装置、一种电子设备和一种计算机可读存储介质。
背景技术
随着计算机科学技术的不断发展,图像处理方法层出不穷,应用也越来越广泛。其中,图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。
例如,软件界面的开发可以利用图像分割技术,在设计稿图像转成代码的过程中,如何从图像中分割出控件是最主要的诉求之一。利用控件的边缘梯度进行边缘检测,是后续分割的基础。由于边缘检测算法容易出现虚假边缘、边缘丢失等现象,因此,难以适用于不同的设计稿图像,需要人工调试参数,耗费工时,继而分割控件还存在错误率高,效率低的问题。
发明内容
本发明实施例的目的在于提供一种控件区域生成方法、装置、电子设备及计算机可读存储介质,从而解决分割控件时错误率高,效率低的技术问题。
为了解决上述问题,在本发明实施的第一方面,首先提供了一种控件区域生成方法,包括:
将待处理图像转换为梯度图像;
根据所述梯度图像的灰度,采用初始阈值将所述梯度图像划分为边缘像素点和背景像素点,以所述边缘像素点和背景像素点的平均灰度的平均值作为修正后的阈值,根据修正后的阈值重新划分所述梯度图像中的边缘像素点和背景像素点,迭代执行直至修正后的阈值和上一次修正后的阈值之间的差小于预设值,将最后一次修正后的阈值作为划分所述边缘像素点和背景像素点的第一阈值;
根据所述梯度图像的灰度,对所述梯度图像的像素点进行聚类,使得所述梯度图像中边缘像素点和背景像素点的平均灰度之间的方差最大,得到划分所述边缘像素点和背景像素点的第二阈值;
根据所述第一阈值和第二阈值,对所述梯度图像进行边缘检测,得到强边缘和弱边缘;
根据所述强边缘和弱边缘,生成目标边缘;
根据所述目标边缘,生成所述待处理图像中的控件区域。
可选地,所述将待处理图像转换为梯度图像包括:
将所述待处理图像转换为灰度图像;
对所述灰度图像进行形态学梯度检测,得到所述梯度图像。
可选地,所述根据所述第一阈值和第二阈值,对所述梯度图像进行边缘检测,得到强边缘和弱边缘包括:
根据所述第一阈值与预设系数计算出第三阈值;
比较所述第二阈值和第三阈值,将所述第二阈值和第三阈值中较大的阈值作为上限阈值,将所述第二阈值和第三阈值中较小的阈值作为下限阈值;
对所述梯度图像进行边缘检测,将高于所述上限阈值的像素点确定为所述强边缘,将介于所述上限阈值和下限阈值之间的像素点确定为所述弱边缘。
可选地,所述对所述梯度图像进行边缘检测包括:
采用多级边缘检测算法,根据所述上限阈值和下限阈值,对所述梯度图像进行边缘检测,得到所述强边缘和弱边缘。
可选地,所述根据所述强边缘和弱边缘,生成目标边缘包括:
将所述强边缘以及与所述强边缘相连的所述弱边缘,确定为所述目标边缘。
在本发明实施的第二方面,还提供了一种控件区域生成装置,包括:
转换模块,用于将待处理图像转换为梯度图像;
迭代模块,用于根据所述梯度图像的灰度,采用初始阈值将所述梯度图像划分为边缘像素点和背景像素点,以所述边缘像素点和背景像素点的平均灰度的平均值作为修正后的阈值,根据修正后的阈值重新划分所述梯度图像中的边缘像素点和背景像素点,迭代执行直至修正后的阈值和上一次修正后的阈值之间的差小于预设值,将最后一次修正后的阈值作为划分所述边缘像素点和背景像素点的第一阈值;
聚类模块,用于根据所述梯度图像的灰度,对所述梯度图像的像素点进行聚类,使得所述梯度图像中边缘像素点和背景像素点的平均灰度之间的方差最大,得到划分所述边缘像素点和背景像素点的第二阈值;
检测模块,用于根据所述第一阈值和第二阈值,对所述梯度图像进行边缘检测,得到强边缘和弱边缘;
边缘生成模块,用于根据所述强边缘和弱边缘,生成目标边缘;
区域生成模块,用于根据所述目标边缘,生成所述待处理图像中的控件区域。
可选地,所述转换模块包括:
转换子模块,用于将所述待处理图像转换为灰度图像;
检测子模块,用于对所述灰度图像进行形态学梯度检测,得到所述梯度图像。
可选地,所述检测模块包括:
计算子模块,用于根据所述第一阈值与预设系数计算出第三阈值;
比较子模块,用于比较所述第二阈值和第三阈值,将所述第二阈值和第三阈值中较大的阈值作为上限阈值,将所述第二阈值和第三阈值中较小的阈值作为下限阈值;
检测子模块,用于对所述梯度图像进行边缘检测,将高于所述上限阈值的像素点确定为所述强边缘,将介于所述上限阈值和下限阈值之间的像素点确定为所述弱边缘。
可选地,所述检测子模块包括:
检测单元,用于采用多级边缘检测算法,根据所述上限阈值和下限阈值,对所述梯度图像进行边缘检测,得到所述强边缘和弱边缘。
可选地,所述生成模块包括:
确定子模块,用于将所述强边缘以及与所述强边缘相连的所述弱边缘,确定为所述目标边缘。
在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的方法步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的方法。
本发明实施例提供的控件区域生成方法,通过将待处理图像转换为梯度图像,根据梯度图像的灰度,采用初始阈值将梯度图像划分为边缘像素点和背景像素点,以边缘像素点和背景像素点的平均灰度的平均值作为修正后的阈值,根据修正后的阈值重新划分所述梯度图像中的边缘像素点和背景像素点,迭代执行直至修正后的阈值和上一次修正后的阈值之间的差小于预设值,将最后一次修正后的阈值作为划分边缘像素点和背景像素点的第一阈值,根据梯度图像的灰度,对梯度图像的像素点进行聚类,使得梯度图像中边缘像素点和背景像素点的平均灰度之间的方差最大,得到划分边缘像素点和背景像素点的第二阈值,根据第一阈值和第二阈值,对梯度图像进行边缘检测,得到强边缘和弱边缘,根据强边缘和弱边缘,生成目标边缘,根据目标边缘,生成待处理图像中的控件区域,使得边缘检测所需的两个阈值可以自动生成,避免人工介入,减少了工时的耗费,继而提高了控件区域的生成效率,而且利用两种方法来得到自适应的两个阈值,基于迭代的算法能够高效地自动求出第一阈值,对于一般的图像具有较好的效果,基于聚类的算法,可以不受图像亮度和对比度的影响,避免了边缘和背景的错分,从而减少了双阈值边缘检测带来的虚假边缘和边缘丢失的问题,适用于不同的待处理图像,继而减少了控件区域的错误率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1示出了本发明的一种控件区域生成方法实施例的步骤流程图;
图2示出了待处理图像A;
图3示出了采用人工输入的双阈值进行Canny(坎尼)边缘检测的效果图;
图4示出了采用本发明的自适应双阈值进行Canny边缘检测的效果图;
图5示出了本发明的一种控件区域生成方法实施例的步骤流程图;
图6示出了待处理图像B;
图7示出了不采用形态学梯度检测的Canny边缘检测的效果图;
图8示出了采用本发明的自适应双阈值进行Canny边缘检测的效果图;
图9示出了待处理图像C;
图10示出了不采用形态学梯度检测的Canny边缘检测的效果图;
图11示出了采用本发明的自适应双阈值进行Canny边缘检测的效果图;
图12示出了边缘检测过程的示意图;
图13示出了本发明的一种控件区域生成装置实施例的结构框图;
图14示出了本发明一实施例的一种电子设备的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种控件区域生成方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,将待处理图像转换为梯度图像。
在本发明实施例中,待处理图像包括软件界面的设计稿图像,包含控件的图像等,或者其他任意适用的图像,本发明实施例对此不做限制。
通常来讲,数字图像就是离散的像素点阵列,其中,各像素点的值可以组成二维离散函数。求图像的梯度可以表示为针对该二维离散函数的求导过程。梯度是一个向量,表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。求待处理图像的梯度,得到对应的梯度图像,梯度图像包括待处理图像中各像素点处的梯度。本领域技术人员可以根据需要选择合适的图像梯度算法计算待处理图像的梯度图像,本发明实施例对此不做限制。
在本发明实施例中,将待处理图像转换为梯度图像的实现方式可以包括多种,例如,待处理图像是彩色图像,可以直接将彩色图像转换为梯度图像,也可以先将彩色图像转换为灰度图像,再将灰度图像转换为梯度图像,或者其他任意适用的实现方式,本发明实施例对此不做限制。
步骤102,根据所述梯度图像的灰度,采用初始阈值将所述梯度图像划分为边缘像素点和背景像素点,以所述边缘像素点和背景像素点的平均灰度的平均值作为修正后的阈值,根据修正后的阈值重新划分所述梯度图像中的边缘像素点和背景像素点,迭代执行直至修正后的阈值和上一次修正后的阈值之间的差小于预设值,将最后一次修正后的阈值作为划分所述边缘像素点和背景像素点的第一阈值。
图像二值化是指用灰度变换来研究灰度图像的一种常用方法,即设定某一阈值将灰度图像的像素分成大于阈值的像素群和小于阈值的像素群两部分。图像的二值化处理就是将图像上的点的灰度置为0或255,也就是使整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。
在本发明实施例中,对于梯度图像来说,梯度图像由暗色背景和较亮边缘组成,从背景中提取出边缘的方法是选择一个将两种灰度值分开的阈值,即大于该阈值的像素群成为边缘,小于该阈值的像素群成为背景。具体地,根据梯度图像的灰度,采用初始阈值将梯度图像划分为边缘像素点和背景像素点。然后以边缘像素点和背景像素点的平均灰度的平均值作为修正后的阈值,再根据修正后的阈值重新划分梯度图像中的边缘像素点和背景像素点。再以重新划分的边缘像素点和背景像素点的平均灰度的平均值作为修改后的阈值,再根据修正后的阈值重新划分梯度图像中的边缘像素点和背景像素点,迭代执行直至修正后的阈值和上一次修正后的阈值之间的差小于预设值,将最后一次修正后的阈值作为划分边缘像素点和背景像素点的阈值,记为第一阈值。
例如,全局迭代法是一种全局二值化方法,它要求图像分割阈值的算法是基于逼近的思想,首先选择一个近似阈值作为估计值的初始值,然后进行分割,产生子图像,并根据子图像的特性来选取新的阈值,再利用新的阈值分割图像,经过几次循环,使错误分割的图像像素点降到最少。具体步骤包括:步骤1,求出梯度图像中的最小灰度值和最大灰度值,分别记为Zmin和Zmax,则阈值初值T0=(Zmin+Zmax)/2,步骤2,根据阈值TK将图像分割成边缘和背景两部分,求出两部分的平均灰度值Z0和Z1,平均灰度值等于=∑(灰度值*该灰度值的权重)/像素点的总数,步骤3,求出新阈值T1=(Z0+Z1)/2,步骤4,如果T0=T1,则结束,否则将TI的值赋予T0,转向步骤2。将采用全局迭代法进行二值化,得到的阈值,记为第一阈值。
步骤103,根据所述梯度图像的灰度,对所述梯度图像的像素点进行聚类,使得所述梯度图像中边缘像素点和背景像素点的平均灰度之间的方差最大,得到划分所述边缘像素点和背景像素点的第二阈值。
在本发明实施例中,在另一种确定阈值的方法中,根据梯度图像的灰度,对梯度图像的像素点进行聚类,把图像的灰度数按灰度级分成2个部分,使得两个部分之间的灰度值差异最大,每个部分之间的灰度差异最小,通过方差的计算来寻找一个合适的灰度级别来划分,使得梯度图像中边缘像素点和背景像素点的平均灰度之间的方差最大,得到划分边缘像素点和背景像素点的阈值,记为第二阈值。
例如,最大类间方差法(简称OTSU),又称大律法,是一种自适合于双峰情况的自动求取阈值的方法,它是按图像的灰度特性,将图像分成背景和目标两个部分。背景和目标之间的类间方差越大,说明构成图像的两个部分的差别越大,当部分目标错分为背景或部分背景错分为目标都会导致两个部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。对梯度图像采用最大类间方差法进行二值化,可以区分梯度图像中的边缘和背景,即大于该阈值的像素群成为边缘,小于该阈值的像素群成为背景。
步骤104,根据所述第一阈值和第二阈值,对所述梯度图像进行边缘检测,得到强边缘和弱边缘。
在本发明实施例中,边缘检测方法有很多种,其中一些边缘检测方法需要输入两个阈值,即设定一个上限阈值和下限阈值(通常由人为指定),梯度图像中的像素点如果大于上限阈值则认为必然是边缘,称为强边缘,小于下限阈值则认为必然不是边缘,上限阈值和下限阈值之间的则认为是候选项,称为弱边缘,需进行进一步处理。
在本发明实施例中,不需要人工输入两个阈值,而是根据第一阈值和第二阈值来确定上限阈值和下限阈值,具体可以包括多种方法,例如,直接将第一阈值和第二阈值中较大的阈值作为上限阈值,较小的阈值作为下限阈值,或者先将第一阈值和预设系数相乘,将乘积作为第三阈值,然后将第三阈值和第二阈值中较大的阈值作为上限阈值,较小的阈值作为下限阈值,或者先将第一阈值和第一预设系数相乘,将乘积作为第三阈值,将第二阈值和第二预设系数相乘,将乘积作为第四阈值,然后将第三阈值和第四阈值中较大的阈值作为上限阈值,较小的阈值作为下限阈值,或者其他任意适用的实现方式,本发明实施例对此不做限制。
例如,对如图2所示的待处理图像A进行边缘检测,图3为采用人工输入的双阈值进行Canny(坎尼)边缘检测的效果图,图4为采用本发明的自适应双阈值进行Canny边缘检测的效果图,可以明显看出图4中没有出现图3中圈出的虚假边缘的现象,克服了虚假边缘的问题。
步骤105,根据所述强边缘和弱边缘,生成目标边缘。
在本发明实施例中,根据强边缘和弱边缘,可以生成最终的边缘检测结果,即目标边缘。其中,强边缘可以直接确定为目标边缘,而弱边缘可能是边缘,也可能是噪声。当弱边缘的周围8个邻域有强边缘点存在时,就将该弱边缘点变成强边缘点,以此来实现对强边缘的补充。这种方法叫边缘滞后跟踪,连接边缘的办法还有区域生长法等,本发明实施例对此不做限制。
步骤106,根据所述目标边缘,生成所述待处理图像中的控件区域。
在本发明实施例中,根据目标边缘可以对待处理图像中的目标和背景进行分割,生成待处理图像中的控件区域。控件区域为控件在待处理图像上图形化表示,通常控件区域是一个由边缘围成的区域,因此,根据目标边缘,生成其中围成一圈的区域,作为控件区域,例如,围成圆形的区域、围成方形区域,或者其他任意适用的区域,作为控件区域,本发明实施例对此不做限制。
本发明实施例提供的控件区域生成方法,通过将待处理图像转换为梯度图像,根据梯度图像的灰度,采用初始阈值将梯度图像划分为边缘像素点和背景像素点,以边缘像素点和背景像素点的平均灰度的平均值作为修正后的阈值,根据修正后的阈值重新划分所述梯度图像中的边缘像素点和背景像素点,迭代执行直至修正后的阈值和上一次修正后的阈值之间的差小于预设值,将最后一次修正后的阈值作为划分边缘像素点和背景像素点的第一阈值,根据梯度图像的灰度,对梯度图像的像素点进行聚类,使得梯度图像中边缘像素点和背景像素点的平均灰度之间的方差最大,得到划分边缘像素点和背景像素点的第二阈值,根据第一阈值和第二阈值,对梯度图像进行边缘检测,得到强边缘和弱边缘,根据强边缘和弱边缘,生成目标边缘,根据目标边缘,生成待处理图像中的控件区域,使得边缘检测所需的两个阈值可以自动生成,避免人工介入,减少了工时的耗费,继而提高了控件区域的生成效率,而且利用两种方法来得到自适应的两个阈值,基于迭代的算法能够高效地自动求出第一阈值,对于一般的图像具有较好的效果,基于聚类的算法,可以不受图像亮度和对比度的影响,避免了边缘和背景的错分,从而减少了双阈值边缘检测带来的虚假边缘和边缘丢失的问题,适用于不同的待处理图像,继而减少了控件区域的错误率。
参照图5,示出了本发明的一种边缘检测方法实施例的步骤流程图,具体可以包括如下步骤:
步骤201,将所述待处理图像转换为灰度图像。
在本发明实施例中,灰度图像是用不同饱和度的黑色来表示每个图像点,比如用8位0-255数字表示“灰色”程度。为了减少运算量,可以将待处理图像转换为灰度图像,例如,将RGB(Red Green Blue,红绿蓝色彩模式)图像转换为YCrCb(Luminance Chrominance-redChrominance-blue,优化彩色视频信号)格式,将Y分量提取出来,YCbCr格式中的Y分量表示的是图像的亮度和浓度,所以只输出Y分量,得到的图像就是灰度图像了。
步骤202,对所述灰度图像进行形态学梯度检测,得到所述梯度图像。
在本发明实施例中,形态学梯度检测为计算经过膨胀操作的图像与经过腐蚀操作的图像的差,这个差可以用于抽出物体的边缘。膨胀或者腐蚀操作就是将图像(或图像的一部分区域,称之为A)与核(称之为B)进行卷积。膨胀就是求局部最大值的操作,核B与图形卷积,即计算核B覆盖的区域的像素点的最大值,并把这个最大值赋值给参考点指定的像素,这样就会使图像中的高亮区域逐渐增长。腐蚀就是求局部最小值的操作,这样就会使图像中的高亮区域逐渐减少。例如,对灰度图像进行3×3的形态学梯度检测,得到梯度图像。
例如,对如图6所示的待处理图像B进行控件区域生成,其中,虚线圈出了弱梯度控件。图7为不采用形态学梯度检测的Canny边缘检测的效果图,图8为采用形态学梯度检测的Canny边缘检测的效果图,可以发现采用形态学梯度检测后有效检测出了虚线圈出的弱梯度控件。又例如,对图9所示的待处理图像C进行控件区域检测,其中,虚线圈出了弱梯度控件。图10为不采用形态学梯度检测的Canny边缘检测的效果图,图11为采用形态学梯度检测的Canny边缘检测的效果图,可以发现采用形态学梯度检测后有效检测出了虚线圈出的弱梯度控件。
步骤203,根据所述梯度图像的灰度,采用初始阈值将所述梯度图像划分为边缘像素点和背景像素点,以所述边缘像素点和背景像素点的平均灰度的平均值作为修正后的阈值,根据修正后的阈值重新划分所述梯度图像中的边缘像素点和背景像素点,迭代执行直至修正后的阈值和上一次修正后的阈值之间的差小于预设值,将最后一次修正后的阈值作为划分所述边缘像素点和背景像素点的第一阈值。
步骤204,根据所述梯度图像的灰度,对所述梯度图像的像素点进行聚类,使得所述梯度图像中边缘像素点和背景像素点的平均灰度之间的方差最大,得到划分所述边缘像素点和背景像素点的第二阈值。
步骤205,根据所述第一阈值与预设系数计算出第三阈值。
在本发明实施例中,经实验发现,全局迭代法产生的第一阈值需要乘以预设系数,可以实现更好的效果,预设系数可以通过多次实验确定,例如,一个较好效果的预设系数为0.5,具体可以采用任意适用的预设系数,本发明实施例对此不做限制。将根据第一阈值与预设系数计算出的阈值,记为第三阈值。
步骤206,比较所述第二阈值和第三阈值,将所述第二阈值和第三阈值中较大的阈值作为上限阈值,将所述第二阈值和第三阈值中较小的阈值作为下限阈值。
在本发明实施例中,比较第二阈值和第三阈值,将其中较大的阈值作为上限阈值,将其中较小的阈值作为下限阈值。
步骤207,对所述梯度图像进行边缘检测,将高于所述上限阈值的像素点确定为所述强边缘,将介于所述上限阈值和下限阈值之间的像素点确定为所述弱边缘。
在本发明实施例中,边缘检测算法可以基于双阈值,分别确定强边缘和弱边缘,将高于上限阈值的像素点确定为强边缘,将介于上限阈值和下限阈值之间的像素点确定为弱边缘。
在本发明实施例中,可选地,对所述梯度图像进行边缘检测的一种实现方式中,可以包括:采用多级边缘检测算法,根据所述上限阈值和下限阈值,对所述梯度图像进行边缘检测,得到所述强边缘和弱边缘。
多级边缘检测算法包括但不限于Canny边缘检测算法,本发明实施例对此不做限制。多级边缘检测算法可以基于双阈值区分边缘,例如,Canny算法利用上限阈值和下限阈值,检测强边缘和弱边缘。
步骤208,将所述强边缘以及与所述强边缘相连的所述弱边缘,确定为所述目标边缘。
在本发明实施例中,将强边缘确定为目标边缘,并且将与强边缘相连的弱边缘确定为目标边缘,将不与强边缘相连的弱边缘丢弃。
步骤209,根据所述目标边缘,生成所述待处理图像中的控件区域。
本发明实施例提供的控件区域生成方法,通过将所述待处理图像转换为灰度图像,对所述灰度图像进行形态学梯度检测,得到所述梯度图像,根据所述梯度图像的灰度,采用初始阈值将所述梯度图像划分为边缘像素点和背景像素点,以所述边缘像素点和背景像素点的平均灰度的平均值作为修正后的阈值,根据修正后的阈值重新划分所述梯度图像中的边缘像素点和背景像素点,迭代执行直至修正后的阈值和上一次修正后的阈值之间的差小于预设值,将最后一次修正后的阈值作为划分所述边缘像素点和背景像素点的第一阈值,根据所述梯度图像的灰度,对所述梯度图像的像素点进行聚类,使得所述梯度图像中边缘像素点和背景像素点的平均灰度之间的方差最大,得到划分所述边缘像素点和背景像素点的第二阈值,根据所述第一阈值与预设系数计算出第三阈值,比较所述第二阈值和第三阈值,将所述第二阈值和第三阈值中较大的阈值作为上限阈值,将所述第二阈值和第三阈值中较小的阈值作为下限阈值,对所述梯度图像进行边缘检测,将高于所述上限阈值的像素点确定为所述强边缘,将介于所述上限阈值和下限阈值之间的像素点确定为所述弱边缘,将所述强边缘以及与所述强边缘相连的所述弱边缘,确定为所述目标边缘,根据所述目标边缘,生成所述待处理图像中的控件区域,使得边缘检测所需的两个阈值可以自动生成,避免人工介入,减少了工时的耗费,提高了边缘检测的效率,利用全局迭代法和最大类间方差法来得到自适应的两个阈值,减少了双阈值边缘检测带来的虚假边缘和边缘丢失的问题,适用于不同的待处理图像,而且对图像进行形态学梯度检测后再进行边缘检测,从而解决了低梯度控件的漏检问题,减少了控件区域生成的错误率。
为使本领域技术人员更好地理解本申请,以下通过具体的示例对本申请的一种实现方式进行说明。
如图12所示的边缘检测过程的示意图,具体可以包括如下步骤:
步骤1,获取原图。
步骤2,RGB转灰度图。
步骤3,对灰度图进行3×3的形态学梯度检测,得到梯度图像。
步骤4,对梯度图像进行全局迭代优化。
步骤5,获取全局迭代优化的阈值S。
步骤6,对梯度图像进行OTSU自适应二值化。
步骤7,获取OTSU自适应阈值T。
步骤8,以T和0.5×S作为上下限阈值,进行Canny边缘检测。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图13,示出了本发明一种控件区域生成装置实施例的结构框图,具体可以包括如下模块:
转换模块301,用于将待处理图像转换为梯度图像;
迭代模块302,用于根据所述梯度图像的灰度,采用初始阈值将所述梯度图像划分为边缘像素点和背景像素点,以所述边缘像素点和背景像素点的平均灰度的平均值作为修正后的阈值,根据修正后的阈值重新划分所述梯度图像中的边缘像素点和背景像素点,迭代执行直至修正后的阈值和上一次修正后的阈值之间的差小于预设值,将最后一次修正后的阈值作为划分所述边缘像素点和背景像素点的第一阈值;
聚类模块303,用于根据所述梯度图像的灰度,对所述梯度图像的像素点进行聚类,使得所述梯度图像中边缘像素点和背景像素点的平均灰度之间的方差最大,得到划分所述边缘像素点和背景像素点的第二阈值;
检测模块304,用于根据所述第一阈值和第二阈值,对所述梯度图像进行边缘检测,得到强边缘和弱边缘;
边缘生成模块305,用于根据所述强边缘和弱边缘,生成目标边缘;
区域生成模块306,用于根据所述目标边缘,生成所述待处理图像中的控件区域。
在本发明实施例中,可选地,所述转换模块包括:
转换子模块,用于将所述待处理图像转换为灰度图像;
检测子模块,用于对所述灰度图像进行形态学梯度检测,得到所述梯度图像。
在本发明实施例中,可选地,所述检测模块包括:
计算子模块,用于根据所述第一阈值与预设系数计算出第三阈值;
比较子模块,用于比较所述第二阈值和第三阈值,将所述第二阈值和第三阈值中较大的阈值作为上限阈值,将所述第二阈值和第三阈值中较小的阈值作为下限阈值;
检测子模块,用于对所述梯度图像进行边缘检测,将高于所述上限阈值的像素点确定为所述强边缘,将介于所述上限阈值和下限阈值之间的像素点确定为所述弱边缘。
在本发明实施例中,可选地,所述检测子模块包括:
检测单元,用于采用多级边缘检测算法,根据所述上限阈值和下限阈值,对所述梯度图像进行边缘检测,得到所述强边缘和弱边缘。
在本发明实施例中,可选地,所述生成模块包括:
确定子模块,用于将所述强边缘以及与所述强边缘相连的所述弱边缘,确定为所述目标边缘。
本发明实施例提供的控件区域生成方法,通过将待处理图像转换为梯度图像,根据梯度图像的灰度,采用初始阈值将梯度图像划分为边缘像素点和背景像素点,以边缘像素点和背景像素点的平均灰度的平均值作为修正后的阈值,根据修正后的阈值重新划分所述梯度图像中的边缘像素点和背景像素点,迭代执行直至修正后的阈值和上一次修正后的阈值之间的差小于预设值,将最后一次修正后的阈值作为划分边缘像素点和背景像素点的第一阈值,根据梯度图像的灰度,对梯度图像的像素点进行聚类,使得梯度图像中边缘像素点和背景像素点的平均灰度之间的方差最大,得到划分边缘像素点和背景像素点的第二阈值,根据第一阈值和第二阈值,对梯度图像进行边缘检测,得到强边缘和弱边缘,根据强边缘和弱边缘,生成目标边缘,根据目标边缘,生成待处理图像中的控件区域,使得边缘检测所需的两个阈值可以自动生成,避免人工介入,减少了工时的耗费,继而提高了控件区域的生成效率,而且利用两种方法来得到自适应的两个阈值,基于迭代的算法能够高效地自动求出第一阈值,对于一般的图像具有较好的效果,基于聚类的算法,可以不受图像亮度和对比度的影响,避免了边缘和背景的错分,从而减少了双阈值边缘检测带来的虚假边缘和边缘丢失的问题,适用于不同的待处理图像,继而减少了控件区域的错误率。
本发明实施例还提供了一种电子设备,如图14所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
将待处理图像转换为梯度图像;
根据所述梯度图像的灰度,采用初始阈值将所述梯度图像划分为边缘像素点和背景像素点,以所述边缘像素点和背景像素点的平均灰度的平均值作为修正后的阈值,根据修正后的阈值重新划分所述梯度图像中的边缘像素点和背景像素点,迭代执行直至修正后的阈值和上一次修正后的阈值之间的差小于预设值,将最后一次修正后的阈值作为划分所述边缘像素点和背景像素点的第一阈值;
根据所述梯度图像的灰度,对所述梯度图像的像素点进行聚类,使得所述梯度图像中边缘像素点和背景像素点的平均灰度之间的方差最大,得到划分所述边缘像素点和背景像素点的第二阈值;
根据所述第一阈值和第二阈值,对所述梯度图像进行边缘检测,得到强边缘和弱边缘;
根据所述强边缘和弱边缘,生成目标边缘;
根据所述目标边缘,生成所述待处理图像中的控件区域。
可选地,所述将待处理图像转换为梯度图像包括:
将所述待处理图像转换为灰度图像;
对所述灰度图像进行形态学梯度检测,得到所述梯度图像。
可选地,所述根据所述第一阈值和第二阈值,对所述梯度图像进行边缘检测,得到强边缘和弱边缘包括:
根据所述第一阈值与预设系数计算出第三阈值;
比较所述第二阈值和第三阈值,将所述第二阈值和第三阈值中较大的阈值作为上限阈值,将所述第二阈值和第三阈值中较小的阈值作为下限阈值;
对所述梯度图像进行边缘检测,将高于所述上限阈值的像素点确定为所述强边缘,将介于所述上限阈值和下限阈值之间的像素点确定为所述弱边缘。
可选地,所述对所述梯度图像进行边缘检测包括:
采用多级边缘检测算法,根据所述上限阈值和下限阈值,对所述梯度图像进行边缘检测,得到所述强边缘和弱边缘。
可选地,所述根据所述强边缘和弱边缘,生成目标边缘包括:
将所述强边缘以及与所述强边缘相连的所述弱边缘,确定为所述目标边缘。
上述终端提到的通信总线可以是外设部件互连标准(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))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种控件区域生成方法,其特征在于,包括:
将待处理图像转换为梯度图像;
根据所述梯度图像的灰度,采用初始阈值将所述梯度图像划分为边缘像素点和背景像素点,以所述边缘像素点和背景像素点的平均灰度的平均值作为修正后的阈值,根据修正后的阈值重新划分所述梯度图像中的边缘像素点和背景像素点,迭代执行直至修正后的阈值和上一次修正后的阈值之间的差小于预设值,将最后一次修正后的阈值作为划分所述边缘像素点和背景像素点的第一阈值;
根据所述梯度图像的灰度,对所述梯度图像的像素点进行聚类,使得所述梯度图像中边缘像素点和背景像素点的平均灰度之间的方差最大,得到划分所述边缘像素点和背景像素点的第二阈值;
根据所述第一阈值和第二阈值,对所述梯度图像进行边缘检测,得到强边缘和弱边缘;
根据所述强边缘和弱边缘,生成目标边缘;
根据所述目标边缘,生成所述待处理图像中的控件区域。
2.根据权利要求1所述的方法,其特征在于,所述将待处理图像转换为梯度图像包括:
将所述待处理图像转换为灰度图像;
对所述灰度图像进行形态学梯度检测,得到所述梯度图像。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一阈值和第二阈值,对所述梯度图像进行边缘检测,得到强边缘和弱边缘包括:
根据所述第一阈值与预设系数计算出第三阈值;
比较所述第二阈值和第三阈值,将所述第二阈值和第三阈值中较大的阈值作为上限阈值,将所述第二阈值和第三阈值中较小的阈值作为下限阈值;
对所述梯度图像进行边缘检测,将高于所述上限阈值的像素点确定为所述强边缘,将介于所述上限阈值和下限阈值之间的像素点确定为所述弱边缘。
4.根据权利要求3所述的方法,其特征在于,所述对所述梯度图像进行边缘检测包括:
采用多级边缘检测算法,根据所述上限阈值和下限阈值,对所述梯度图像进行边缘检测,得到所述强边缘和弱边缘。
5.根据权利要求1所述的方法,其特征在于,所述根据所述强边缘和弱边缘,生成目标边缘包括:
将所述强边缘以及与所述强边缘相连的所述弱边缘,确定为所述目标边缘。
6.一种控件区域生成装置,其特征在于,包括:
转换模块,用于将待处理图像转换为梯度图像;
迭代模块,用于根据所述梯度图像的灰度,采用初始阈值将所述梯度图像划分为边缘像素点和背景像素点,以所述边缘像素点和背景像素点的平均灰度的平均值作为修正后的阈值,根据修正后的阈值重新划分所述梯度图像中的边缘像素点和背景像素点,迭代执行直至修正后的阈值和上一次修正后的阈值之间的差小于预设值,将最后一次修正后的阈值作为划分所述边缘像素点和背景像素点的第一阈值;
聚类模块,用于根据所述梯度图像的灰度,对所述梯度图像的像素点进行聚类,使得所述梯度图像中边缘像素点和背景像素点的平均灰度之间的方差最大,得到划分所述边缘像素点和背景像素点的第二阈值;
检测模块,用于根据所述第一阈值和第二阈值,对所述梯度图像进行边缘检测,得到强边缘和弱边缘;
边缘生成模块,用于根据所述强边缘和弱边缘,生成目标边缘;
区域生成模块,用于根据所述目标边缘,生成所述待处理图像中的控件区域。
7.根据权利要求6所述的装置,其特征在于,所述转换模块包括:
转换子模块,用于将所述待处理图像转换为灰度图像;
检测子模块,用于对所述灰度图像进行形态学梯度检测,得到所述梯度图像。
8.根据权利要求6所述的装置,其特征在于,所述检测模块包括:
计算子模块,用于根据所述第一阈值与预设系数计算出第三阈值;
比较子模块,用于比较所述第二阈值和第三阈值,将所述第二阈值和第三阈值中较大的阈值作为上限阈值,将所述第二阈值和第三阈值中较小的阈值作为下限阈值;
检测子模块,用于对所述梯度图像进行边缘检测,将高于所述上限阈值的像素点确定为所述强边缘,将介于所述上限阈值和下限阈值之间的像素点确定为所述弱边缘。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011631743.0A CN112686911A (zh) | 2020-12-30 | 2020-12-30 | 一种控件区域生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011631743.0A CN112686911A (zh) | 2020-12-30 | 2020-12-30 | 一种控件区域生成方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112686911A true CN112686911A (zh) | 2021-04-20 |
Family
ID=75455905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011631743.0A Pending CN112686911A (zh) | 2020-12-30 | 2020-12-30 | 一种控件区域生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112686911A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113592776A (zh) * | 2021-06-30 | 2021-11-02 | 北京旷视科技有限公司 | 图像处理方法及装置、电子设备、存储介质 |
-
2020
- 2020-12-30 CN CN202011631743.0A patent/CN112686911A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113592776A (zh) * | 2021-06-30 | 2021-11-02 | 北京旷视科技有限公司 | 图像处理方法及装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI726422B (zh) | 二維碼識別方法、裝置及設備 | |
KR101795823B1 (ko) | 광학 문자 인식되는 텍스트 영상의 텍스트 개선 기법 | |
CN108805128B (zh) | 一种字符分割方法和装置 | |
CN110717919A (zh) | 图像处理方法、装置、介质和计算设备 | |
JP2013042415A (ja) | 画像処理装置、画像処理方法及びコンピュータプログラム | |
JP2008067387A (ja) | デジタル画像のテキストを識別する方法およびシステム | |
CN113469921B (zh) | 图像缺陷修复方法、系统、计算机设备及存储介质 | |
Pok et al. | Efficient block matching for removing impulse noise | |
CN115273115A (zh) | 一种文档元素标注方法、装置、电子设备和存储介质 | |
Ma et al. | A two-stage filter for removing salt-and-pepper noise using noise detector based on characteristic difference parameter and adaptive directional mean filter | |
CN112686911A (zh) | 一种控件区域生成方法、装置、电子设备及存储介质 | |
CN110751156A (zh) | 用于表格线大块干扰去除方法、系统、设备及介质 | |
JP4983539B2 (ja) | 情報処理装置および方法、並びにプログラム | |
Bindu | An improved medical image segmentation algorithm using Otsu method | |
JP5979008B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
CN115330637A (zh) | 一种图像锐化方法、装置、计算设备及存储介质 | |
CN114022856A (zh) | 一种非结构化道路可行驶区域识别方法、电子设备及介质 | |
US11113820B2 (en) | Method of line detection | |
CN115496778B (zh) | 一种提高边缘光滑性的图像二值化方法、装置及存储介质 | |
CN109376739B (zh) | 一种编组方式确定方法及装置 | |
CN115830352B (zh) | 一种图像相似度对比方法、装置及存储介质 | |
JP4471202B2 (ja) | 画像処理装置、画像処理方法及び同方法に用いるプログラム | |
CN114998906B (zh) | 文本检测方法、模型的训练方法、装置、电子设备及介质 | |
CN114882482B (zh) | 印章防伪识别方法及装置 | |
CN109117844B (zh) | 一种密码确定方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |