CN110503682A - 矩形控件识别方法、装置、终端及存储介质 - Google Patents
矩形控件识别方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN110503682A CN110503682A CN201910731199.8A CN201910731199A CN110503682A CN 110503682 A CN110503682 A CN 110503682A CN 201910731199 A CN201910731199 A CN 201910731199A CN 110503682 A CN110503682 A CN 110503682A
- Authority
- CN
- China
- Prior art keywords
- profile
- sub
- pixel
- rectangle
- identified
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012545 processing Methods 0.000 claims description 40
- 238000010606 normalization Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
一种矩形控件识别方法,应用于终端,所述方法包括:在获取包括一个或多个子轮廓的轮廓后,确定每个子轮廓的特征点及每个子轮廓中所有特征点的坐标;确定所有子轮廓中的待识别矩形控件;生成所述待识别矩形控件的区域的特征信息;将所述待识别矩形控件的区域的特征信息与预存的控件标识图的特征信息进行相似度比较来得到一个或多个相似度;根据相似度确定是否识别所述待识别矩形控件,并识别所述待识别矩形控件。本发明还提供一种装置、终端及存储介质,通用性较强,且控件识别准确率较高。
Description
技术领域
本发明涉及软件技术领域,具体涉及一种矩形控件识别方法、装置、终端及存储介质。
背景技术
目前,软件自动化测试主要是采用录制-回放的方式进行测试。首先,将用户与软件的交互过程录制成脚本,回放所述脚本来模拟人机交互过程,自动完成测试。其中,在用户与软件的交互过程中,图形用户界面的控件识别为最重要的一环。
现有的图形用户界面的控件识别方法包括通过windows系统的win32API函数获取控件信息,基于源代码中插入代码来获取控件信息,基于控件树布局结构,通过借助GUI识别工具来获取控件信息等。这些方法需要依赖系统的接口函数、对源代码的修改,或者系统的工具等,通用性不强,同时控件识别准确率较低,不利于广泛应用。
发明内容
鉴于此,有必要提供一种矩形控件识别方法、装置、终端及存储介质,通用性较强,且控件识别准确率较高。
一种矩形控件识别方法,应用于终端,所述方法包括:
获取轮廓,其中,所述轮廓包括一个或多个子轮廓;
根据三角形边长关系确定每个子轮廓的特征点及每个子轮廓中所有特征点的坐标;
根据每个子轮廓的特征点的坐标确定满足预设条件的子轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件;
对所述待识别矩形控件的一区域进行截取得到的一区域图像进行像素值二值化,生成所述待识别矩形控件的区域的特征信息;
将所述待识别矩形控件的区域的特征信息与预存的控件标识图的特征信息进行相似度比较来得到一个或多个相似度;
若所述一个或多个相似度中存在一个相似度满足预设条件,识别所述待识别矩形控件;
若任何相似度不满足预设条件,继续对所述待识别矩形控件的另一区域进行截取得到的另一区域图像进行像素值二值化,生成特征信息并进行相似度比较直至生成的所述特征信息与预存的控件标识图的特征信息的一个或多个相似度中存在一个相似度满足预设条件,或者所述待识别矩形控件的所有区域进行截取得到的所有区域图像完成相似度比较;
若所述待识别矩形控件的所有区域图像比较得到的相似度都不满足预设条件,确定所述待识别矩形控件识别失败。
较佳的,所述根据三角形边长关系确定每个子轮廓的特征点及每个子轮廓中所有特征点的坐标包括:
对于所述子轮廓,假设有n个像素点,对于一像素点的坐标Pi=(xi,yi),确定所述像素点Pi的前第预设数量p个像素点的坐标:若i-p>0,确定所述像素点Pi的前第预设数量p个像素点的坐标为Pi-p=(xi-p,yi-p),若i-p<=0,确定所述像素点Pi的前第预设数量p个像素点的坐标为Pi-p=(xn+i-p,yn+i-p);其中,i=1,2,…,n,(xi,yi)为像素点Pi的坐标,p为预设数量,p<=n/4,(xi-p,yi-p)或(xn+i-p,yn+i-p)为像素点Pi-p的坐标;
确定所述像素点Pi的后第预设数量p个像素点的坐标:若i+p<=n,确定所述像素点Pi的后第预设数量p个像素点的坐标为Pi+p=(xi+p,yi+p),若i+p>n,确定所述像素点Pi的后第预设数量p个像素点的坐标为Pi+p=(xi+p-n,yi+p-n);其中,(xi+p,yi+p)或(xi+p-n,yi+p-n)为像素点Pi+p的坐标;
确定所述像素点Pi与所述像素点Pi-p之间的第一距离di-p,i;
确定所述像素点Pi与所述像素点Pi+p之间的第二距离di+p,i;
确定所述像素点Pi-p与所述像素点Pi+p之间的第三距离di-p,i+p;
按顺序记录子轮廓中所有满足公式:d2 i-p,i+d2 i+p,i≈d2 i-p,i+p的Pi为特征点ci及记录所述特征点的坐标ci=(xci,yci),其中,i=1,2,…,n。
较佳的,所述根据每个子轮廓的特征点的坐标确定满足预设条件的子轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件包括:
根据每个子轮廓的特征点的坐标确定所有子轮廓中满足第一预设条件的子轮廓为候选矩形轮廓;
根据每个候选矩形轮廓的特征点的坐标确定所有候选矩形轮廓中满足第二预设条件的候选矩形轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件。
较佳的,所述方法还包括:
确定每个子轮廓的所有像素点的坐标;
所述根据每个子轮廓的特征点的坐标确定所有子轮廓中满足第一预设条件的子轮廓为候选矩形轮廓包括:
对于子轮廓mi={(x1,y1),(x2,y2),(x3,y3)....(xn,yn)},比较子轮廓的像素点的横坐标大小及纵坐标大小来确定子轮廓的像素点的横坐标最小值、子轮廓的像素点的横坐标最大值、子轮廓的像素点的纵坐标最小值和子轮廓的像素点的纵坐标最大值,其中,i=1,2,…,n,mi为第i个子轮廓,(x1,y1)为像素点P1的坐标,(x2,y2)为像素点P2的坐标,(x3,y3)为像素点P3的坐标,(xn,yn)为像素点Pn的坐标;
根据所述子轮廓的像素点的横坐标最小值及所述子轮廓的像素点的横坐标最大值确定所述子轮廓的横坐标方向最大距离;
根据所述子轮廓的像素点的纵坐标最小值及所述子轮廓的像素点的纵坐标最大值确定所述子轮廓的纵坐标方向最大距离;
确定所有子轮廓中包括满足预设规则的四个特征点的子轮廓为候选矩形轮廓,其中,所述预设规则为:对于特征点cm的坐标为(xcm,ycm),满足特征点cm+j的横坐标xcm+j与所述特征点cm的横坐标xcm之间的距离为所述子轮廓的横坐标方向最大距离;特征点cm+k的纵坐标ycm+k与所述特征点cm纵坐标ycm之间的距离为所述子轮廓的纵坐标方向最大距离;特征点cm+q的横坐标xcm+q与cm+j的横坐标xcm+j之间的距离小于或等于预设值,及特征点cm+q的纵坐标ycm+q与cm+k的纵坐标ycm+k之间的距离小于或等于所述预设值,所述四个特征点分别为特征点cm,特征点cm+j,特征点cm+k,及特征点cm+q。
较佳的,所述根据每个候选矩形轮廓的特征点的坐标确定所有候选矩形轮廓中满足第二预设条件的候选矩形轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件包括:
对于候选矩形轮廓,确定特征点cm,特征点cm+j,特征点cm+k,及特征点cm+q中横坐标及纵坐标最小的第一目标特征点;
确定特征点cm,特征点cm+j,特征点cm+k,及特征点cm+q中横坐标及纵坐标最大的第二目标特征点;
确定所有候选矩形轮廓中具有所述四个特征点满足公式(xcm-xcm+q)2+(ycm-ycm+q)2=(xcm-xcm+j)2+(ycm-ycm+j)2+(xcm-xcm+k)2+(ycm-ycm+k)2的候选矩形轮廓为待识别矩形控件;
其中,若(xcm,ycm)为第一目标特征点的坐标,则(xcm+q,ycm+q)为第二目标特征点的坐标;若(xcm+q,ycm+q)为第一目标特征点的坐标,则(xcm,ycm)为第二目标特征点的坐标;(xcm+j,ycm+j)及(xcm+k,ycm+k)为所述四个特征点中的其他两个特征点的坐标。
较佳的,所述方法还包括:
对计算机用户界面中常见的控件标志图进行截取;
检测截取的所述控件标志图的最小外接矩形;
确定所述最小外接矩形内的区域为标志图识别区域;
将所述标志图识别区域进行灰度归一化处理和尺度归一化处理;
计算处理后的标志图识别区域的所有像素点的像素均值;
将处理后的标志图识别区域的所有像素点的像素值与所述均值进行比较来对所述像素值进行二值处理,建立所述控件标志图的特征信息。
较佳的,所述方法还包括:
对所述待识别矩形控件从右到左或从左到右进行区域截取来形成所述待识别矩形控件的所述区域图像直至生成的所述特征信息与预存的控件标识图的特征信息的一个或多个相似度中存在一个相似度满足预设条件,或者所述待识别矩形控件的所有区域完成截取。
一种矩形控件识别装置,应用于终端,所述装置包括:
获取模块,用于获取轮廓,其中,所述轮廓包括一个或多个子轮廓;
坐标确定模块,用于根据三角形边长关系确定每个子轮廓的特征点及每个子轮廓中所有特征点的坐标;
待识别矩形控件确定模块,用于根据每个子轮廓的特征点的坐标确定满足预设条件的子轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件;
特征信息生成模块,用于对所述待识别矩形控件的一区域进行截取得到的一区域图像进行像素值二值化,生成所述待识别矩形控件的区域的特征信息;
相似度比较模块,用于将所述待识别矩形控件的区域的特征信息与预存的控件标识图的特征信息进行相似度比较来得到一个或多个相似度;
识别模块,用于若所述一个或多个相似度中存在一个相似度满足预设条件,识别所述待识别矩形控件;
所述识别模块,还用于若任何相似度不满足预设条件,继续对所述待识别矩形控件的另一区域进行截取得到的另一区域图像进行像素值二值化,生成特征信息并进行相似度比较直至生成的所述特征信息与预存的控件标识图的特征信息的一个或多个相似度中存在一个相似度满足预设条件,或者所述待识别矩形控件的所有区域进行截取得到的所有区域图像完成相似度比较;
所述识别模块,还用于若所述待识别矩形控件的所有区域图像比较得到的相似度都不满足预设条件,确定所述待识别矩形控件识别失败。
一种终端,所述终端包括处理器,所述处理器用于执行存储装置中存储的计算机程序时实现如上所述权利要求中任意一项所述的矩形控件识别方法的步骤。
一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述权利要求中任意一项所述的矩形控件识别方法的步骤。
本发明通过先识别出待识别矩形控件,再将所述待识别矩形控件的区域的特征信息与预存的控件标识图的特征信息进行相似度比较来识别所述待识别矩形控件,可提升目标界面中控件检测的准确率,且通用性较强。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的矩形控件识别装置的功能模块图。
图2是本发明实施例二提供的矩形控件识别方法的流程图。
图3是目标界面的图像的示意图。
图4是图3的目标界面的图像的轮廓的示意图。
图5是计算机用户界面中常见的控件标志图的示意图。
图6是对待识别矩形控件进行正方形区域截取的示意图。
图7是本发明实施例三提供的终端的示意图。
主要元件符号说明
矩形控件识别装置 10
获取模块 110
坐标确定模块 120
待识别矩形控件确定模块 130
特征信息生成模块 140
相似度比较模块 150
识别模块 160
终端 1
处理器 20
存储器 30
计算机程序 40
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
图1是本发明提供的矩形控件识别装置的功能模块图。所述矩形控件识别装置10可应用于终端中,所述终端,可以为手机、平板电脑、掌上电脑、笔记本电脑、台式电脑、车载设备、导航设备等可以运行应用软件的终端,在此不作限制。所述矩形控件识别装置10可以包括一个或多个模块,所述一个或多个模块被存储在终端的存储器中并被配置成由一个或多个处理器(本实施方式为一个处理器)执行,以完成本发明。如图1所示,所述矩形控件识别装置10可包括获取模块110、坐标确定模块120、待识别矩形控件确定模块130、特征信息生成模块140、相似度比较模块150及识别模块160。本发明实施例所称的模块可以是完成一特定功能的程序段,比程序更适合于描述软件在处理器中的执行过程。所述获取模块110用于获取轮廓,其中,所述轮廓包括一个或多个子轮廓。所述坐标确定模块120用于根据三角形边长关系确定每个子轮廓的特征点及每个子轮廓中所有特征点的坐标。所述待识别矩形控件确定模块130用于根据每个子轮廓的特征点的坐标确定满足预设条件的子轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件。所述特征信息生成模块140用于对所述待识别矩形控件的一区域进行截取得到的一区域图像进行像素值二值化,生成所述待识别矩形控件的区域的特征信息。所述相似度比较模块150用于将所述待识别矩形控件的区域的特征信息与预存的控件标识图的特征信息进行相似度比较来得到一个或多个相似度。所述识别模块160用于若所述一个或多个相似度中存在一个相似度满足预设条件,识别所述待识别矩形控件,并用于若任何相似度不满足预设条件,继续对所述待识别矩形控件的另一区域进行截取得到的另一区域图像进行像素值二值化,生成特征信息并进行相似度比较直至生成的所述特征信息与预存的控件标识图的特征信息的一个或多个相似度中存在一个相似度满足预设条件,或者所述待识别矩形控件的所有区域进行截取得到的所有区域图像完成相似度比较。所述识别模块160还用于若所述待识别矩形控件的所有区域图像比较得到的相似度都不满足预设条件,确定所述待识别矩形控件识别失败。下面将结合流程图对所述模块110-160进行详细说明。
图2为本发明实施例二提供的矩形控件识别方法的流程图。所述矩形控件识别方法可应用于终端中,所述终端,可以为手机、平板电脑、掌上电脑、笔记本电脑、台式电脑、车载设备、导航设备等可以运行应用软件的终端,在此不作限制。
如图2所示,本实施例的矩形控件识别方法可包括以下步骤:
S201:获取轮廓,其中,所述轮廓包括一个或多个子轮廓。
在本实施例中,所述轮廓可为目标界面的图像的轮廓或者为待识别控件的轮廓。如图3所示,所述目标界面的图像可为完整的用户界面的图像,也可以为完整的用户界面中的一部分的图像。
在本实施例中,在所述获取轮廓之前,所述方法还可包括提取所述轮廓。所述提取所述轮廓包括:
获取目标界面的图像;
对所述图像进行二值化处理,来获得二值图像;
提取所述二值图像的轮廓。
在本实施例中,所述对所述图像进行二值化处理为将所述图像上的像素点的灰度值设置为0或255,使得所述图像呈现出明显的黑白效果。所述提取所述二值图像的轮廓包括检测所述二值图像的边缘,并将检测的所述二值图像的边缘连起来形成所述轮廓。所述轮廓的数量可为一个或多个。每个子轮廓mi包括一系列的像素点P1,P2,P3,…,Pn。其中,i=1,2,…,n。每个子轮廓所包括的像素点不同。所述一系列的像素点的坐标为{(x1,y1),(x2,y2),(x3,y3)....(xn,yn)}。其中,(x1,y1)为像素点P1的坐标,(x2,y2)为像素点P2的坐标,(x3,y3)为像素点P3的坐标,(xn,yn)为像素点Pn的坐标。在本实施例中,所述轮廓如图4所示。
S202:根据三角形边长关系确定每个子轮廓的特征点及每个子轮廓中所有特征点的坐标。
在本实施例中,所述根据三角形边长关系确定每个子轮廓的特征点及每个子轮廓中所有特征点的坐标包括:
对于所述子轮廓,假设有n个像素点,对于一像素点的坐标Pi=(xi,yi),确定所述像素点Pi的前第预设数量p个像素点的坐标:若i-p>0,确定所述像素点Pi的前第预设数量p个像素点的坐标为Pi-p=(xi-p,yi-p),若i-p<=0,确定所述像素点Pi的前第预设数量p个像素点的坐标为Pi-p=(xn+i-p,yn+i-p);其中,i=1,2,…,n,(xi,yi)为像素点Pi的坐标,p为预设数量,p<n/4,(xi-p,yi-p)或(xn+i-p,yn+i-p)为像素点Pi-p的坐标;
确定所述像素点Pi的后第预设数量p个像素点的坐标:若i+p<=n,确定所述像素点Pi的后第预设数量p个像素点的坐标为Pi+p=(xi+p,yi+p),若i+p>n,确定所述像素点Pi的后第预设数量p个像素点的坐标为Pi+p=(xi+p-n,yi+p-n);其中,(xi+p,yi+p)或(xi+p-n,yi+p-n)为像素点Pi+p的坐标;
确定所述像素点Pi与所述像素点Pi-p之间的第一距离di-p,i;
确定所述像素点Pi与所述像素点Pi+p之间的第二距离di+p,i;
确定所述像素点Pi-p与所述像素点Pi+p之间的第三距离di-p,i+p;
按顺序记录子轮廓中所有满足公式:d2 i-p,i+d2 i+p,i≈d2 i-p,i+p的Pi为特征点ci及记录所述特征点的坐标ci=(xci,yci),其中,i=1,2,…,n。
在本实施例中,p<=n/4,如此可保证能够识别出多个特征点。在本实施例中,所述p为10。显然,所述p不仅局限于10,还可为其他任意合适的数量。在本实施例中,所述确定像素点Pi-p的坐标及像素点Pi+p的坐标可为,例如,所述子轮廓总像素点为40个,即n=40,若所述i=1,则所述像素点Pi的前第预设数量10个像素点的坐标为P-9=(x31,y31),所述像素点Pi的后第预设数量10个像素点的坐标为P11=(x11,y11);或者,若所述i=15,则所述像素点Pi的前第预设数量10个像素点的坐标为P5=(x5,y5),所述像素点Pi的后第预设数量10个像素点的坐标为P25=(x25,y25)。
在本实施例中,确定像素点Pi与像素点Pi-p之间的第一距离di-p,i包括:
若i-p>0,通过公式来确定所述像素点Pi与所述像素点Pi-p之间的第一距离di-p,i;
若i-p<=0,通过公式来确定所述像素点Pi与所述像素点Pi-p之间的第一距离di-p,i;
其中,di-p,i为第一距离,xi-p或者xn+i-p为像素点Pi-p的横坐标,xi为像素点Pi的横坐标,yi-p或者yn+i-p为像素点Pi-p的纵坐标,yi为像素点Pi的纵坐标。
在本实施例中,确定所述像素点Pi与所述像素点Pi+p之间的第二距离di+p,i包括:
若i+p<=n,通过公式来确定所述像素点Pi与所述像素点Pi+p之间的第二距离di+p,i;
若i+p>n,通过公式来确定所述像素点Pi与所述像素点Pi+p之间的第二距离di+p,i;
其中,di+p,i为第二距离,xi+p或者xi+p-n为像素点Pi+p的横坐标,xi为像素点Pi的横坐标,yi+p或者yi+p-n为像素点Pi+p的纵坐标,yi为像素点Pi的纵坐标。
在本实施例中,确定所述像素点Pi-p与所述像素点Pi+p之间的第三距离di-p,i+p包括:
若i-p>0,i+p<=n,通过公式来确定所述像素点Pi-p与所述像素点Pi+p之间的第三距离di-p,i+p;
若i-p<=0,i+p<=n,通过公式来确定所述像素点Pi-p与所述像素点Pi+p之间的第三距离di-p,i+p;
若i-p>0,i+p>n,通过公式来确定所述像素点Pi-p与所述像素点Pi+p之间的第三距离di-p,i+p;
其中,di-p,i+p为第三距离,xi-p或者xn+i-p为像素点Pi-p的横坐标,xi+p或者xi+p-n为像素点Pi+p的横坐标,yi-p或者yn+i-p为像素点Pi-p的纵坐标,yi+p或者yi+p-n为像素点Pi+p的纵坐标。
S203:根据每个子轮廓的特征点的坐标确定满足预设条件的子轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件。
在本实施例中,所述根据每个子轮廓的特征点的坐标确定满足预设条件的子轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件包括:
根据每个子轮廓的特征点的坐标确定所有子轮廓中满足第一预设条件的子轮廓为候选矩形轮廓;
根据每个候选矩形轮廓的特征点的坐标确定所有候选矩形轮廓中满足第二预设条件的候选矩形轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件。
在本实施例中,所述根据每个子轮廓的特征点的坐标确定所有子轮廓中满足第一预设条件的子轮廓为候选矩形轮廓包括:
对于子轮廓mi={(x1,y1),(x2,y2),(x3,y3)....(xn,yn)},比较子轮廓的像素点的横坐标大小及纵坐标大小来确定子轮廓的像素点的横坐标最小值、子轮廓的像素点的横坐标最大值、子轮廓的像素点的纵坐标最小值和子轮廓的像素点的纵坐标最大值,其中,i=1,2,…,n,mi为第i个子轮廓,(x1,y1)为像素点P1的坐标,(x2,y2)为像素点P2的坐标,(x3,y3)为像素点P3的坐标,(xn,yn)为像素点Pn的坐标;
根据所述子轮廓的像素点的横坐标最小值及所述子轮廓的像素点的横坐标最大值确定所述子轮廓的横坐标方向最大距离;
根据所述子轮廓的像素点的纵坐标最小值及所述子轮廓的像素点的纵坐标最大值确定所述子轮廓的纵坐标方向最大距离;
确定所有子轮廓中包括满足预设规则的四个特征点的子轮廓为候选矩形轮廓,其中,所述预设规则为:对于特征点的坐标cm=(xcm,ycm),满足特征点cm+j的横坐标xcm+j与所述特征点cm的横坐标xcm之间的距离为所述子轮廓的横坐标方向最大距离;特征点cm+k的纵坐标ycm+k与所述特征点cm纵坐标ycm之间的距离为所述子轮廓的纵坐标方向最大距离;特征点cm+q的横坐标xcm+q与cm+j的横坐标xcm+j之间的距离小于或等于预设值(例如为2),及特征点cm+q的纵坐标ycm+q与cm+k的纵坐标ycm+k之间的距离小于或等于所述预设值。所述四个特征点分别为特征点cm,特征点cm+j,特征点cm+k,及特征点cm+q。
在本实施例中,特征点cm,特征点cm+j,特征点cm+k,及特征点cm+q为所述子轮廓的特征点。
在本实施例中,根据所述子轮廓的像素点的横坐标最小值及所述子轮廓的像素点的横坐标最大值确定所述子轮廓的横坐标方向最大距离包括:
根据所述子轮廓的像素点的横坐标最小值及所述子轮廓的像素点的横坐标最大值通过公式dx=xmax-xmin来确定所述子轮廓的横坐标方向最大距离,其中,dx为所述子轮廓的横坐标方向最大距离,xmax为所述子轮廓的像素点的横坐标最大值,xmin为所述子轮廓的像素点的横坐标最小值。
根据所述子轮廓的像素点的纵坐标最小值及所述子轮廓的像素点的纵坐标最大值确定所述子轮廓的纵坐标方向最大距离包括:
根据所述子轮廓的像素点的纵坐标最小值及所述子轮廓的像素点的纵坐标最大值通过公式dy=ymax-ymin来确定所述子轮廓的纵坐标方向最大距离,其中,dy为所述子轮廓的纵坐标方向最大距离,ymax为所述子轮廓的像素点的纵坐标最大值,ymin为所述子轮廓的像素点的纵坐标最小值。
在本实施例中,所述根据每个候选矩形轮廓的特征点的坐标确定所有候选矩形轮廓中满足第二预设条件的候选矩形轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件包括:
对于候选矩形轮廓,确定满足预设规则的特征点cm,特征点cm+j,特征点cm+k,及特征点cm+q中横坐标及纵坐标最小的第一目标特征点;
确定特征点cm,特征点cm+j,特征点cm+k,及特征点cm+q中横坐标及纵坐标最大的第二目标特征点;
确定所有候选矩形轮廓中具有所述四个特征点满足公式(xcm-xcm+q)2+(ycm-ycm+q)2=(xcm-xcm+j)2+(ycm-ycm+j)2+(xcm-xcm+k)2+(ycm-ycm+k)2的候选矩形轮廓为待识别矩形控件;
其中,若(xcm,ycm)为所述第一目标特征点的坐标,则(xcm+q,ycm+q)为所述第二目标特征点的坐标;若(xcm+q,ycm+q)为所述第一目标特征点的坐标,则(xcm,ycm)为所述第二目标特征点的坐标;(xcm+j,ycm+j)及(xcm+k,ycm+k)为所述四个特征点中的其他两个特征点的坐标。
在本实施例中,所述特征点cm,所述特征点cm+j,所述特征点cm+k,及所述特征点cm+q为确定所述轮廓为候选矩形轮廓时满足预设规则的四个特征点。具有所述四个特征点满足公式(xcm-xcm+q)2+(ycm-ycm+q)2=(xcm-xcm+j)2+(ycm-ycm+j)2+(xcm-xcm+k)2+(ycm-ycm+k)2代表所述四个特征点组成一个矩形,即所述候选矩形轮廓为待识别矩形控件。
S204:对所述待识别矩形控件的一区域进行截取得到的一区域图像进行像素值二值化,生成所述待识别矩形控件的区域的特征信息。
在本实施例中,所述对所述待识别矩形控件的一区域进行截取得到的一区域图像进行像素值二值化,生成所述待识别矩形控件的区域的特征信息包括:
将所述待识别矩形控件的一区域进行截取得到的一区域图像进行灰度归一化处理和尺度归一化处理;
计算处理后的区域图像的所有像素点的像素均值;
将处理后的区域图像的所有像素点的像素值与所述均值进行比较来对所述区域图像进行二值处理,生成所述待识别矩形控件的区域图像的特征信息。
在本实施例中,所述待识别矩形控件包括多个区域。所述待识别矩形控件的图像包括多个区域图像,所述待识别矩形控件的所有区域图像组成所述待识别矩形控件的内部的图像。每个待识别矩形控件的每个区域图像中可包括内容或者可为空白。在本实施例中,所述灰度归一化处理为统一将原图像转换为只有256个灰度级的灰度图像。所述尺度归一化处理为将所述图像缩放至16×16像素的大小。
在本实施例中,所述计算处理后的区域图像的所有像素点的像素均值包括:
通过公式计算灰度归一化处理和尺度归一化处理后区域图像的所有像素点的像素均值,其中,favg为所述像素均值,f(x,y)为灰度归一化处理和尺度归一化处理后的区域图像在点(x,y)的像素值。
在本实施例中,所述将处理后的区域图像的所有像素点的像素值与所述均值进行比较来对所述区域图像进行二值处理,生成所述待识别矩形控件的区域图像的特征信息包括:
通过公式来将灰度归一化处理和尺度归一化处理后的区域图像的所有像素点的像素值与所述均值进行比较来对所述区域图像进行二值处理,其中,match(x,y)为对所述区域图像进行二值处理,所述f(x,y)为灰度归一化处理和尺度归一化处理后的区域图像在点(x,y)的像素值,favg为所述像素均值。
在本实施例中,对所述区域图像进行二值处理后得到一个256位的只包含0,1的所述待识别矩形控件的区域图像的特征信息,例如为matchs={10010100101....110},其中,matchs为所述待识别矩形控件的区域图像的特征信息。
S205:将所述待识别矩形控件的区域的特征信息与预存的控件标识图的特征信息进行相似度比较来得到一个或多个相似度。
在本实施例中,在将所述待识别矩形控件的区域的特征信息与预存的控件标识图的特征信息进行相似度比较来得到一个或多个相似度之前,所述方法还包括:建立所述控件标识图的特征信息。
所述建立所述控件标志图的特征信息包括:
对计算机用户界面中常见的控件标志图进行截取;
检测截取的所述控件标志图的最小外接矩形;
确定所述最小外接矩形内的区域为标志图识别区域;
将所述标志图识别区域进行灰度归一化处理和尺度归一化处理;
计算处理后的标志图识别区域的所有像素点的像素均值;
将处理后的标志图识别区域的所有像素点与所述像素均值进行比较来对所述控件标志图进行二值处理,建立所述控件标志图的特征信息。
在本实施例中,所述截取的常见的控件标志图可如图5所示。所述常见的控件标识图可为选择控件标志图、搜索控件标志图等。显然,所述常见的控件标志图不仅局限于图5所示的控件标志图,还包括其他未在图5中示出的控件标识图。在本实施例中,所述灰度归一化处理为统一将原图像转换为只有256个灰度级的灰度图像。所述尺度归一化处理为将所述图像缩放至16×16像素的大小。
所述计算处理后的标志图识别区域的所有像素点的像素均值包括:
通过公式计算灰度归一化处理和尺度归一化处理后的标志图识别区域的所有像素点的像素均值,其中,favg为所述均值,f(i,j)为灰度归一化处理和尺度归一化处理后的标志图识别区域的图像在点(i,j)的像素值。
在本实施例中,所述将处理后的标志图识别区域的图像的所有像素点的像素值与所述均值进行比较来对所述处理后的标志图识别区域的图像进行二值处理,生成所述控件标识图的特征信息包括:
通过公式来将灰度归一化处理和尺度归一化处理后的标志图识别区域的图像的所有像素点的像素值与所述均值进行比较来对所述标志图识别区域的图像进行二值处理,其中,match(i,j)为对所述标志图识别区域的图像进行二值处理,所述f(i,j)为灰度归一化处理和尺度归一化处理后的标志图识别区域的图像在点(i,j)的像素值,favg为所述像素均值。
在本实施例中,对所述标志图识别区域的图像进行二值处理后得到一个256位的只包含0,1的所述控件标志图的特征信息,例如为matchi={10010100101....110},其中,matchi为第i个控件标志图的特征信息,i=1,2,…,n。
在本实施例中,将所述待识别矩形控件的区域的特征信息与预存的控件标识图的特征信息进行相似度比较来得到一个或多个相似度包括:
将所述待识别矩形控件的区域的特征信息与预存的控件标识图的特征信息进行逐位比较;
统计所述待识别矩形控件的区域的特征信息与预存的控件标识图的特征信息的不相同位数来得到一个或多个相似度。
在本实施例中,所述相似度可为不相同位数或者相同位数。
S206:若所述一个或多个相似度中存在一个相似度满足预设条件,识别所述待识别矩形控件。
在本实施例中,若所述相似度为不相同位数,所述预设条件为小于第一预设阈值。若所述相似度为相同位数,所述预设条件为大于第二预设阈值。在本实施例中,所述第一预设阈值可为,例如13,所述第二预设阈值可为,例如243。所述若所述一个或多个相似度中存在一个相似度满足预设条件,识别所述待识别矩形控件包括:若所述一个或多个相似度中存在一个相似度满足预设条件,识别所述待识别矩形控件为所述相似度对应的控件标识图中的控件类型。例如:若所述待识别矩形控件的区域的特征信息与选择控件标志图的特征信息的相似度满足预设条件,识别所述待识别矩形控件的类型为选择控件。
S207:若任何相似度不满足预设条件,继续对所述待识别矩形控件的另一区域进行截取得到的另一区域图像进行像素值二值化,生成特征信息并进行相似度比较直至生成的所述特征信息与预存的控件标识图的特征信息的一个或多个相似度中存在一个相似度满足预设条件,或者所述待识别矩形控件的所有区域进行截取得到的所有区域图像完成相似度比较。
在本实施例中,对所述待识别矩形控件的另一区域图像进行像素值二值化与上述对所述待识别矩形控件的一区域图像进行像素值二值化的过程相同,在此不进行赘述。
在本实施例中,所述若任何相似度不满足预设条件,继续对所述待识别矩形控件的另一区域进行截取得到的另一区域图像进行像素值二值化,生成特征信息并进行相似度比较直至生成的所述特征信息与预存的控件标识图的特征信息的一个或多个相似度中存在一个相似度满足预设条件,或者所述待识别矩形控件的所有区域进行截取得到的所有区域图像完成相似度比较可为,例如:
若所述待识别矩形控件的区域(S1)的特征信息与任何控件标识图的特征信息的相似度不满足预设条件,对所述待识别矩形控件的另一区域(S2)图像进行像素值二值化,生成特征信息,并将所述特征信息继续与所述预存的控件标识图的特征信息进行相似度比较来得到相似度,若任何相似度不满足预设条件,将会对所述待识别矩形控件的一区域(S3)图像进行像素值二值化,生成特征信息,若所述区域(S3)的图像的特征信息与一选择控件标识图的特征信息的相似度满足预设条件,完成所述待识别矩形控件的识别,或者虽然所述区域(S3)图像的特征信息与任何控件标识图的特征信息的相似度不满足预设条件,但是所述区域(S3)图像为所述待识别矩形控件的最后一个区域图像,结束所述待识别矩形控件的识别。
S208:若所述待识别矩形控件的所有区域图像比较得到的相似度都不满足预设条件,确定所述待识别矩形控件识别失败。
例如,待识别矩形控件A的所有区域图像比较得到的相似度都不满足预设条件,确定所述待识别矩形控件A识别失败。
在本实施例中,对所述轮廓中所有待识别矩形控件的识别可为按照顺序逐个识别,或者为同时识别。
在本实施例中,为了提高运算的速度,所述方法还包括:
对所述待识别矩形控件内从右到左或从左到右进行区域截取来形成所述待识别矩形控件的所述区域图像直至生成的所述特征信息与预存的控件标识图的特征信息的一个或多个相似度中存在一个相似度满足预设条件,或者所述待识别矩形控件的所有区域完成截取。
在本实施例中,所述区域截取为正方形区域滑动截取。所述控件标识符位于所述待识别矩形控件的左边或者右边。所述对所述待识别矩形控件从右到左或从左到右进行区域截取可为对所述待识别矩形控件内部从右到左或从左到右进行区域滑动截取,如图6所示。所述正方形区域的宽度略小于所述控件标识符的长度或宽度中的较小值。
在本实施例中,为了提高识别的准确度,所述方法还包括:侦测所述区域内是否包括内容,若所述区域内包括内容,调整所述区域的位置或者所述区域的大小,使得所述内容位于所述区域的中心。
在本实施例中,当截取一区域后,仅当截取得到的所述区域图像的特征信息与任何预存的控件标志图的特征信息的相似度不满足预设条件,且所述待识别矩形控件还存在区域没有被截取来进行相似度比较时,截取下一区域。
本发明通过获取轮廓,其中,所述轮廓包括一个或多个子轮廓,根据三角形边长关系确定每个子轮廓的特征点及每个轮廓中所有特征点的坐标,根据每个子轮廓的特征点的坐标确定满足预设条件的子轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件,对所述待识别矩形控件的一区域进行截取得到的一区域图像进行像素值二值化,生成所述待识别矩形控件的区域的特征信息,将所述待识别矩形控件的区域的特征信息与预存的控件标识图的特征信息进行相似度比较来得到一个或多个相似度,若所述一个或多个相似度中存在一个相似度满足预设条件,识别所述待识别矩形控件,若任何相似度不满足预设条件,继续对所述待识别矩形控件的另一区域进行截取得到的另一区域图像进行像素值二值化,生成特征信息并进行相似度比较直至生成的所述特征信息与预存的控件标识图的特征信息的一个或多个相似度中存在一个相似度满足预设条件,或者所述待识别矩形控件的所有区域进行截取得到的所有区域图像完成相似度比较;若所述待识别矩形控件的所有区域图像比较得到的相似度都不满足预设条件,确定所述待识别矩形控件识别失败。从而,实施例一可从所有轮廓中得到符合要求的矩形控件,同时确定每个矩形控件的类型,易于后续对其进行其他操作,同时在一定程度上提升了自动化测试中控件检测的准确率,且其不依赖于源代码或辅助测试工具,从而更易于推广使用。
如图7所示,本发明实施例三提供的终端的结构示意图。所述终端1可以为手机、平板电脑、掌上电脑、笔记本电脑、台式电脑、车载设备、导航设备等可以运行应用软件的终端。所述终端1包括:处理器20、存储器30以及存储在所述存储器30中并可在所述处理器20上运行的计算机程序40,例如LED显示屏检测程序。所述处理器20执行所述计算机程序时实现上述各个矩形控件识别方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
示例性的,所述计算机程序40可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器30中,并由所述处理器20执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端1中的执行过程。
所述终端1可包括,但不仅限于,处理器20、存储器30。本领域技术人员可以理解,所述图7仅是终端1的示例,并不构成对终端1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端1还可以包括输入输出设备、网络接入设备、总线等。
所称处理器20可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器20是所述终端1的控制中心,利用各种接口和线路连接整个终端1的各个部分。
所述存储器30可用于存储所述计算机程序和/或模块,所述处理器20通过运行或执行存储在所述存储器30内的计算机程序和/或模块,以及调用存储在存储器30内的数据,实现所述终端1的各种功能。所述存储器30可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器30可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明所述终端1集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应当理解的是,所述的方法和装置,也可以通过其他的方式来实现,以上所描述的装置实施例仅是示意性的,所述模块的划分,仅是一种逻辑功能划分,实现时可以有另外的划分方式。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个装置也可以由同一个装置或系统通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种矩形控件识别方法,应用于终端,其特征在于,所述方法包括:
获取轮廓,其中,所述轮廓包括一个或多个子轮廓;
根据三角形边长关系确定每个子轮廓的特征点及每个子轮廓中所有特征点的坐标;
根据每个子轮廓的特征点的坐标确定满足预设条件的子轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件;
对所述待识别矩形控件的一区域进行截取得到的一区域图像进行像素值二值化,生成所述待识别矩形控件的区域的特征信息;
将所述待识别矩形控件的区域的特征信息与预存的控件标识图的特征信息进行相似度比较来得到一个或多个相似度;
若所述一个或多个相似度中存在一个相似度满足预设条件,识别所述待识别矩形控件;
若任何相似度不满足预设条件,继续对所述待识别矩形控件的另一区域进行截取得到的另一区域图像进行像素值二值化,生成特征信息并进行相似度比较直至生成的所述特征信息与预存的控件标识图的特征信息的一个或多个相似度中存在一个相似度满足预设条件,或者所述待识别矩形控件的所有区域进行截取得到的所有区域图像完成相似度比较;
若所述待识别矩形控件的所有区域图像比较得到的相似度都不满足预设条件,确定所述待识别矩形控件识别失败。
2.如权利要求1所述的矩形控件识别方法,其特征在于,所述根据三角形边长关系确定每个子轮廓的特征点及每个子轮廓中所有特征点的坐标包括:
对于所述子轮廓,假设有n个像素点,对于一像素点的坐标Pi=(xi,yi),确定所述像素点Pi的前第预设数量p个像素点的坐标:若i-p>0,确定所述像素点Pi的前第预设数量p个像素点的坐标为Pi-p=(xi-p,yi-p),若i-p<=0,确定所述像素点Pi的前第预设数量p个像素点的坐标为Pi-p=(xn+i-p,yn+i-p);其中,i=1,2,…,n,(xi,yi)为像素点Pi的坐标,p为预设数量,p<=n/4,(xi-p,yi-p)或(xn+i-p,yn+i-p)为像素点Pi-p的坐标;
确定所述像素点Pi的后第预设数量p个像素点的坐标:若i+p<=n,确定所述像素点Pi的后第预设数量p个像素点的坐标为Pi+p=(xi+p,yi+p),若i+p>n,确定所述像素点Pi的后第预设数量p个像素点的坐标为Pi+p=(xi+p-n,yi+p-n);其中,(xi+p,yi+p)或(xi+p-n,yi+p-n)为像素点Pi+p的坐标;
确定所述像素点Pi与所述像素点Pi-p之间的第一距离di-p,i;
确定所述像素点Pi与所述像素点Pi+p之间的第二距离di+p,i;
确定所述像素点Pi-p与所述像素点Pi+p之间的第三距离di-p,i+p;
按顺序记录子轮廓中所有满足公式:d2 i-p,i+d2 i+p,i≈d2 i-p,i+p的Pi为特征点ci及记录所述特征点的坐标ci=(xci,yci),其中,i=1,2,…,n。
3.如权利要求1所述的矩形控件识别方法,其特征在于,所述根据每个子轮廓的特征点的坐标确定满足预设条件的子轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件包括:
根据每个子轮廓的特征点的坐标确定所有子轮廓中满足第一预设条件的子轮廓为候选矩形轮廓;
根据每个候选矩形轮廓的特征点的坐标确定所有候选矩形轮廓中满足第二预设条件的候选矩形轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件。
4.如权利要求3所述的矩形控件识别方法,其特征在于,所述方法还包括:
确定每个子轮廓的所有像素点的坐标;
所述根据每个子轮廓的特征点的坐标确定所有子轮廓中满足第一预设条件的子轮廓为候选矩形轮廓包括:
对于子轮廓mi={(x1,y1),(x2,y2),(x3,y3)....(xn,yn)},比较子轮廓的像素点的横坐标大小及纵坐标大小来确定子轮廓的像素点的横坐标最小值、子轮廓的像素点的横坐标最大值、子轮廓的像素点的纵坐标最小值和子轮廓的像素点的纵坐标最大值,其中,i=1,2,…,n,mi为第i个子轮廓,(x1,y1)为像素点P1的坐标,(x2,y2)为像素点P2的坐标,(x3,y3)为像素点P3的坐标,(xn,yn)为像素点Pn的坐标;
根据所述子轮廓的像素点的横坐标最小值及所述子轮廓的像素点的横坐标最大值确定所述子轮廓的横坐标方向最大距离;
根据所述子轮廓的像素点的纵坐标最小值及所述子轮廓的像素点的纵坐标最大值确定所述子轮廓的纵坐标方向最大距离;
确定所有子轮廓中包括满足预设规则的四个特征点的子轮廓为候选矩形轮廓,其中,所述预设规则为:对于特征点cm的坐标为(xcm,ycm),满足特征点cm+j的横坐标xcm+j与所述特征点cm的横坐标xcm之间的距离为所述子轮廓的横坐标方向最大距离;特征点cm+k的纵坐标ycm+k与所述特征点cm纵坐标ycm之间的距离为所述子轮廓的纵坐标方向最大距离;特征点cm+q的横坐标xcm+q与cm+j的横坐标xcm+j之间的距离小于或等于预设值,及特征点cm+q的纵坐标ycm+q与cm+k的纵坐标ycm+k之间的距离小于或等于所述预设值,所述四个特征点分别为特征点cm,特征点cm+j,特征点cm+k,及特征点cm+q。
5.如权利要求4所述的矩形控件识别方法,其特征在于,所述根据每个候选矩形轮廓的特征点的坐标确定所有候选矩形轮廓中满足第二预设条件的候选矩形轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件包括:
对于候选矩形轮廓,确定特征点cm,特征点cm+j,特征点cm+k,及特征点cm+q中横坐标及纵坐标最小的第一目标特征点;
确定特征点cm,特征点cm+j,特征点cm+k,及特征点cm+q中横坐标及纵坐标最大的第二目标特征点;
确定所有候选矩形轮廓中具有所述四个特征点满足公式
(xcm-xcm+q)2+(ycm-ycm+q)2=(xcm-xcm+j)2+(ycm-ycm+j)2+(xcm-xcm+k)2+(ycm-ycm+k)2的候选矩形轮廓为待识别矩形控件;
其中,若(xcm,ycm)为第一目标特征点的坐标,则(xcm+q,ycm+q)为第二目标特征点的坐标;若(xcm+q,ycm+q)为第一目标特征点的坐标,则(xcm,ycm)为第二目标特征点的坐标;(xcm+j,ycm+j)及(xcm+k,ycm+k)为所述四个特征点中的其他两个特征点的坐标。
6.如权利要求1所述的矩形控件识别方法,其特征在于,所述方法还包括:
对计算机用户界面中常见的控件标志图进行截取;
检测截取的所述控件标志图的最小外接矩形;
确定所述最小外接矩形内的区域为标志图识别区域;
将所述标志图识别区域进行灰度归一化处理和尺度归一化处理;
计算处理后的标志图识别区域的所有像素点的像素均值;
将处理后的标志图识别区域的所有像素点的像素值与所述均值进行比较来对所述像素值进行二值处理,建立所述控件标志图的特征信息。
7.如权利要求1所述的矩形控件识别方法,其特征在于,所述方法还包括:
对所述待识别矩形控件从右到左或从左到右进行区域截取来形成所述待识别矩形控件的所述区域图像直至生成的所述特征信息与预存的控件标识图的特征信息的一个或多个相似度中存在一个相似度满足预设条件,或者所述待识别矩形控件的所有区域完成截取。
8.一种矩形控件识别装置,应用于终端,其特征在于,所述装置包括:
获取模块,用于获取轮廓,其中,所述轮廓包括一个或多个子轮廓;
坐标确定模块,用于根据三角形边长关系确定每个子轮廓的特征点及每个子轮廓中所有特征点的坐标;
待识别矩形控件确定模块,用于根据每个子轮廓的特征点的坐标确定满足预设条件的子轮廓为待识别矩形控件来确定所有子轮廓中的待识别矩形控件;
特征信息生成模块,用于对所述待识别矩形控件的一区域进行截取得到的一区域图像进行像素值二值化,生成所述待识别矩形控件的区域的特征信息;
相似度比较模块,用于将所述待识别矩形控件的区域的特征信息与预存的控件标识图的特征信息进行相似度比较来得到一个或多个相似度;
识别模块,用于若所述一个或多个相似度中存在一个相似度满足预设条件,识别所述待识别矩形控件;
所述识别模块,还用于若任何相似度不满足预设条件,继续对所述待识别矩形控件的另一区域进行截取得到的另一区域图像进行像素值二值化,生成特征信息并进行相似度比较直至生成的所述特征信息与预存的控件标识图的特征信息的一个或多个相似度中存在一个相似度满足预设条件,或者所述待识别矩形控件的所有区域进行截取得到的所有区域图像完成相似度比较;
所述识别模块,还用于若所述待识别矩形控件的所有区域图像比较得到的相似度都不满足预设条件,确定所述待识别矩形控件识别失败。
9.一种终端,其特征在于,所述终端包括处理器,所述处理器用于执行存储装置中存储的计算机程序时实现如权利要求1-7中任意一项所述的矩形控件识别方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-7中任意一项所述的矩形控件识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910731199.8A CN110503682B (zh) | 2019-08-08 | 2019-08-08 | 矩形控件识别方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910731199.8A CN110503682B (zh) | 2019-08-08 | 2019-08-08 | 矩形控件识别方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110503682A true CN110503682A (zh) | 2019-11-26 |
CN110503682B CN110503682B (zh) | 2021-05-07 |
Family
ID=68587151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910731199.8A Expired - Fee Related CN110503682B (zh) | 2019-08-08 | 2019-08-08 | 矩形控件识别方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110503682B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111242187A (zh) * | 2020-01-03 | 2020-06-05 | 北京字节跳动网络技术有限公司 | 一种图像相似度处理方法、装置、介质和电子设备 |
CN111310753A (zh) * | 2019-12-27 | 2020-06-19 | 广东电网有限责任公司电力科学研究院 | 一种表计对准方法及装置 |
CN112181255A (zh) * | 2020-10-12 | 2021-01-05 | 深圳市欢太科技有限公司 | 控件的识别方法、装置、终端设备和存储介质 |
CN113642642A (zh) * | 2021-08-13 | 2021-11-12 | 上海哔哩哔哩科技有限公司 | 控件识别方法及装置 |
CN114708206A (zh) * | 2022-03-24 | 2022-07-05 | 成都飞机工业(集团)有限责任公司 | 热压罐成型工装摆放位置识别方法、装置、设备及介质 |
CN117033239A (zh) * | 2023-09-04 | 2023-11-10 | 镁佳(北京)科技有限公司 | 一种控件匹配方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345516A (zh) * | 2013-07-10 | 2013-10-09 | 百度在线网络技术(北京)有限公司 | 基于应用程序图标的应用程序搜索方法和系统 |
JP2015232778A (ja) * | 2014-06-09 | 2015-12-24 | 株式会社日立情報通信エンジニアリング | 文字認識装置及び文字認識方法 |
CN106295644A (zh) * | 2016-08-11 | 2017-01-04 | 海信集团有限公司 | 符号识别方法及装置 |
CN107967482A (zh) * | 2017-10-24 | 2018-04-27 | 广东中科南海岸车联网技术有限公司 | 图标识别方法及装置 |
CN108763380A (zh) * | 2018-05-18 | 2018-11-06 | 徐庆 | 商标识别检索方法、装置、计算机设备和存储介质 |
-
2019
- 2019-08-08 CN CN201910731199.8A patent/CN110503682B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345516A (zh) * | 2013-07-10 | 2013-10-09 | 百度在线网络技术(北京)有限公司 | 基于应用程序图标的应用程序搜索方法和系统 |
JP2015232778A (ja) * | 2014-06-09 | 2015-12-24 | 株式会社日立情報通信エンジニアリング | 文字認識装置及び文字認識方法 |
CN106295644A (zh) * | 2016-08-11 | 2017-01-04 | 海信集团有限公司 | 符号识别方法及装置 |
CN107967482A (zh) * | 2017-10-24 | 2018-04-27 | 广东中科南海岸车联网技术有限公司 | 图标识别方法及装置 |
CN108763380A (zh) * | 2018-05-18 | 2018-11-06 | 徐庆 | 商标识别检索方法、装置、计算机设备和存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111310753A (zh) * | 2019-12-27 | 2020-06-19 | 广东电网有限责任公司电力科学研究院 | 一种表计对准方法及装置 |
CN111310753B (zh) * | 2019-12-27 | 2023-07-14 | 广东电网有限责任公司电力科学研究院 | 一种表计对准方法及装置 |
CN111242187A (zh) * | 2020-01-03 | 2020-06-05 | 北京字节跳动网络技术有限公司 | 一种图像相似度处理方法、装置、介质和电子设备 |
CN112181255A (zh) * | 2020-10-12 | 2021-01-05 | 深圳市欢太科技有限公司 | 控件的识别方法、装置、终端设备和存储介质 |
CN113642642A (zh) * | 2021-08-13 | 2021-11-12 | 上海哔哩哔哩科技有限公司 | 控件识别方法及装置 |
CN113642642B (zh) * | 2021-08-13 | 2024-04-30 | 上海哔哩哔哩科技有限公司 | 控件识别方法及装置 |
CN114708206A (zh) * | 2022-03-24 | 2022-07-05 | 成都飞机工业(集团)有限责任公司 | 热压罐成型工装摆放位置识别方法、装置、设备及介质 |
CN117033239A (zh) * | 2023-09-04 | 2023-11-10 | 镁佳(北京)科技有限公司 | 一种控件匹配方法、装置、计算机设备及存储介质 |
CN117033239B (zh) * | 2023-09-04 | 2024-06-11 | 镁佳(北京)科技有限公司 | 一种控件匹配方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110503682B (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110503682A (zh) | 矩形控件识别方法、装置、终端及存储介质 | |
Kadam et al. | Detection and localization of multiple image splicing using MobileNet V1 | |
CN108399386A (zh) | 饼图中的信息提取方法及装置 | |
CN112580643B (zh) | 一种基于深度学习的车牌识别方法、装置及存储介质 | |
CN107346420A (zh) | 一种基于深度学习的自然场景下文字检测定位方法 | |
CN108197644A (zh) | 一种图像识别方法和装置 | |
US10438083B1 (en) | Method and system for processing candidate strings generated by an optical character recognition process | |
US10528844B2 (en) | Method and apparatus for distance measurement | |
CN109800559B (zh) | 滑块验证码的生成方法、装置、计算机设备及存储介质 | |
CN114677565B (zh) | 特征提取网络的训练方法和图像处理方法、装置 | |
CN110852311A (zh) | 一种三维人手关键点定位方法及装置 | |
CN107563386A (zh) | 元器件验证方法、装置、设备与计算机可读存储介质 | |
WO2016086877A1 (zh) | 一种文本检测的方法和装置 | |
CN104126188A (zh) | 关键字检测装置、其控制方法及控制程序,以及显示设备 | |
CN112560710B (zh) | 一种用于构建指静脉识别系统的方法及指静脉识别系统 | |
CN112001331B (zh) | 图像识别方法、装置、设备及存储介质 | |
CN108182457A (zh) | 用于生成信息的方法和装置 | |
CN113269752A (zh) | 一种图像检测方法、装置终端设备及存储介质 | |
CN113378790B (zh) | 视点定位方法、装置、电子设备和计算机可读存储介质 | |
US9311523B1 (en) | Method and apparatus for supporting object recognition | |
CN112686122B (zh) | 人体及影子的检测方法、装置、电子设备、存储介质 | |
CN110263779A (zh) | 文本区域检测方法及装置、文本检测方法、计算机可读介质 | |
CN111539390A (zh) | 一种基于Yolov3的小目标图像识别方法、设备和系统 | |
Huang et al. | A new video text extraction approach | |
CN112801960B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210507 |