基于图像检测的定位方法与装置制造方法

文档序号:6519811阅读:109来源:国知局
基于图像检测的定位方法与装置制造方法
【专利摘要】本发明公开了一种基于图像检测的定位方法与装置。其中方法包括:从程序运行的第一界面中截取目标控件的第一图像;根据第一界面的布局确定目标控件的布局参数;根据程序当前运行的第二界面、第一界面和目标控件的布局参数,确定目标控件在第二界面的位置区域;从目标控件在第二界面的位置区域截取目标控件的第二图像;根据第一图像和第二图像,检测是否定位到目标控件。本发明通过采用上述方案,能够准确定位目标控件在第二界面的位置区域,从位置区域截取目标控件在第二界面的第二图像,能够准确获取目标控件在第二界面的图像,从而根据第一图像和第二图像检测是否定位到目标控件,能够有效地扩大基于图像检测定位方法的应用场景。
【专利说明】基于图像检测的定位方法与装置

【技术领域】
[0001]本发明涉及计算机【技术领域】,特别涉及一种基于图像检测的定位方法与装置。

【背景技术】
[0002]图形用户界面(Graphical User Interface,简称⑶I)程序操作自动化主要应用在自动化测试中,自动替用户完成一些复杂的输入操作,降低用户的使用门槛。
[0003]GUI程序操作自动化最主要包括界面控件的定位和模拟用户操作两部分。其中模拟用户操作基本都是通过模拟windows输入事件完成,区别不大。界面控件的定位受界面实现方式不同的影响方法较多,主要分基于界面控件检测的定位和基于图像检测的定位。其中基于界面控件检测的方法要求界面引擎必须向外暴露接口,使得自动化程序能够获取到控件的句柄,并进一步获取控件的详细信息。当界面引擎不向第三方开放这些接口的时候就完全不可用了,比如基于非公开Directn引擎实现的应用程序。而基于图像检测的定位会解决基于界面控件检测的方法遇到的问题,可以不依赖界面引擎,完全基于最终的视觉效果来检测控件,与人眼识别更接近,也更智能。现有的基于图像检测的定位技术,通过预先截取操作过程中会出现的图像,然后在自动化测试过程中对软件运行时的界面进行截图,在整幅界面截图中搜索预先截取的图像来定位目标控件。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:现有的基于图像检测的定位的方法,基本都是把整个程序界面全部截取下来,然后在大图像中搜索预先截取的小图像。这种方法对图像的分辨率有较高的要求,要求程序运行时和预先截取图像时的分辨率(即尺寸)必须是一样的,否则图像被缩放后无法搜索。而且如果程序运行时出现了多个预先截取的控件的小图像时,这种方法是无法分辨到底哪个图像才是要寻找的目标控件的,因此现有的基于图像检测的定位方法应用场景的局限性较高。


【发明内容】

[0005]为了解决现有技术的问题,本发明实施例提供了一种基于图像检测的定位方法及装置。所述技术方案如下:
[0006]一方面,提供了一种基于图像检测的定位方法,所述方法包括:
[0007]从程序运行的第一界面中截取目标控件的第一图像;
[0008]根据所述第一界面的布局,确定所述目标控件的布局参数;
[0009]根据所述程序当前运行的第二界面、所述第一界面和所述目标控件的布局参数,确定所述目标控件在所述第二界面的位置区域;
[0010]从所述目标控件在所述第二界面的位置区域截取所述目标控件的第二图像;
[0011]根据所述第一图像和所述第二图像,检测是否定位到所述目标控件。
[0012]另一方面,提供了一种基于图像检测的定位装置,所述装置包括:
[0013]截取模块,用于从程序运行的第一界面中截取目标控件的第一图像;
[0014]确定模块,用于根据所述第一界面的布局,确定所述目标控件的布局参数;
[0015]所述确定模块,还用于根据所述程序当前运行的第二界面、所述第一界面和所述目标控件的布局参数,确定所述目标控件在所述第二界面的位置区域;
[0016]所述截取模块,还用于从所述目标控件在所述第二界面的位置区域截取所述目标控件的第二图像;
[0017]检测模块,用于根据所述第一图像和所述第二图像,检测是否定位到所述目标控件。
[0018]本发明实施例的基于图像检测的定位方法及装置,通过从程序运行的第一界面中截取目标控件的第一图像;根据第一界面的布局,确定目标控件的布局参数;根据程序当前运行的第二界面、第一界面和目标控件的布局参数,确定目标控件在第二界面的位置区域;从目标控件在第二界面的位置区域截取目标控件的第二图像;根据第一图像和第二图像,检测是否定位到目标控件。本发明实施例的技术方案,能够克服现有技术中无法在程序界面运行时尺寸与预设尺寸不一致时寻找到目标控件的小图像的缺陷,能够准确定位目标控件在第二界面的位置区域,然后再具体从该位置区域截取目标控件在第二界面的第二图像,能够准确获取该目标控件在第二界面的图像,从而根据第一图像和第二图像检测是否定位到目标控件,因此,采用本发明实施例的技术方案,能够有效地扩大基于图像检测定位方法的应用场景。

【专利附图】

【附图说明】
[0019]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为本发明一实施例提供的基于图像检测的定位方法的流程图;
[0021]图2为本发明实施例提供的界面布局示意图;
[0022]图3为本发明另一实施例提供的基于图像检测的定位方法的流程图;
[0023]图4为本发明实施例提供的第一界面示意图;
[0024]图5为图4所示的第一界面中的目标控件的第一图像;
[0025]图6为本发明实施例提供的第二界面示意图;
[0026]图7为图6所示的第二界面中的目标控件的第二图像;
[0027]图8为图5所示的第一图像的直方图;
[0028]图9为图7所示的第二图像的直方图;
[0029]图10为本发明实施例提供的第三界面示意图;
[0030]图11为图10所示的第三界面中的目标控件的第三图像;
[0031]图12为图11所示的第三图像的直方图;
[0032]图13为本发明实施例提供的基于图像检测的定位装置的结构示意图。

【具体实施方式】
[0033]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0034]图1为本发明一实施例提供的基于图像检测的定位方法的流程图。本实施例的基于图像检测的定位方法的执行主体为基于图像检测的定位装置,该基于图像检测的定位装置可以为通过软件集成的。如图1所示,本实施例的基于图像检测的定位方法,具体可以包括如下步骤:
[0035]100、从程序运行的第一界面中截取目标控件的第一图像;
[0036]例如,本实施例的第一界面可以为该程序运行时的默认尺寸对应的界面。例如使用时,可以打开该程序,该程序运行在默认尺寸下的第一界面,该第一界面中包括很多控件,这些空间可以以可视化图形的格式存在,这些控件可以为按钮或者文件编辑框等等。本实施例中的目标控件为本实施例中第一界面中的多个控件中的其中一个控件,该控件即为本实施例中要研究的目标控件。
[0037]101、根据第一界面的布局,确定目标控件的布局参数;
[0038]具体地,根据第一界面中包括的所有控件的布局,可以知道目标控件的布局参数。目标控件的布局参数可以包括表征该目标控件在第一界面中的所有参数。例如该目标控件的布局参数可以包括目标控件在第一界面中的大小、目标控件在第一界面中相对于父容器的对齐方式、目标控件相对于父容器的边距以及目标控件是否随父容器缩放的属性值;父容器为第一界面的主窗口或者主窗口中的部分。其中对齐方式可以包括上、下、左、右、左上、右上、左下、右下、居中等等。目标控件是否随父容器缩放的属性值可以为Ture或者False,当为True的话表示目标控件随父容器缩放,当为False时表示目标控件不随父容器缩放。例如图2为本发明实施例提供的界面布局示意图。如图2中窗口A为第一界面的主窗口,窗口 B为主窗口的一部分,控件C为窗口 B中的一部分。这里窗口 B为控件C的父容器,窗口 A为窗口 B的父容器。在确定目标控件的布局参数时都是以目标控件相对于父容器的布局参数。而父容器也可以采用类似的布局参数确定方式确定该父容器相对于该父容器的父容器的布局参数,依此类推,直到推论到父容器为主窗口时。这样,可以根据每一个目标控件、及其相对于父容器的布局参数,以及其父容器相对于父容器的父容器的布局参数,直到推理到主窗口,这样可以确定每一个目标控件在主窗口中的位置。例如图2中当需要确定目标控件C在主窗口 A中的位置时,可以根据目标控件C相对于窗口 B的布局参数以及窗口 B相对于主窗口 A的布局参数,可以确定目标控件在主窗口 A中的布局位置。
[0039]102、根据程序当前运行的第二界面、第一界面和目标控件的布局参数,确定目标控件在第二界面的位置区域;
[0040]本实施例中的第二界面为对第一界面进行放大或者缩小的界面。如第一界面为默认尺寸的界面时,第二界面为对默认尺寸的界面进行放大或者缩小得来的。该步骤中,根据第一界面、第二界面以及目标控件在第一界面的目标控件在第一界面中的大小、目标控件在第一界面中相对于父容器的对齐方式以及目标控件相对于父容器的边距以及目标控件是否随父容器缩放的属性值,可以推理确定出目标控件在第二界面的位置区域。
[0041]103、从目标控件在第二界面的位置区域截取目标控件的第二图像;
[0042]具体地,由于步骤102已经准确确定出了目标控件在第二界面中的位置区域,本步骤即从第二界面中步骤102中确定的位置区域上截取目标控件在第二界面中的第二图像。
[0043]104、根据第一图像和第二图像,检测是否定位到目标控件。
[0044]由于第一图像和第二图像分别为目标控件在第一界面和第二界面的目标控件的图像,对第一图像和第二图像进行检测,便可以确定是否定位到目标控件。
[0045]本实施例的基于图像检测的定位方法及装置,通过从程序运行的第一界面中截取目标控件的第一图像;根据第一界面的布局,确定目标控件的布局参数;根据程序当前运行的第二界面、第一界面和目标控件的布局参数,确定目标控件在第二界面的位置区域;从目标控件在第二界面的位置区域截取目标控件的第二图像;根据第一图像和第二图像,检测是否定位到目标控件。本实施例的技术方案,能够克服现有技术中无法无法在程序界面运行时尺寸与预设尺寸不一致时准确寻找到目标控件的小图像的缺陷,能够准确定位目标控件在第二界面的位置区域,然后再具体从该位置区域截取目标控件在第二界面的第二图像,能够准确获取该目标控件在第二界面的图像,从而根据第一图像和第二图像检测是否定位到目标控件,因此,采用本实施例的技术方案,能够有效地扩大基于图像检测的定位方法的应用场景。
[0046]可选地,在上述图1所示实施例的技术方案的基础上,其中步骤102 “根据程序当前运行的第二界面、第一界面和目标控件的布局参数,确定目标控件在第二界面的位置区域”,具体可以包括如下步骤:
[0047](I)根据目标控件是否随父容器缩放的属性值、目标控件在第一界面中的大小、第一界面的大小和第二界面的大小,确定目标控件在第二界面中的大小;
[0048]例如当目标控件随父容器缩放的属性值为False时,此时目标控件在第二界面中的大小与在第一界面中的大小相同。当目标控件随父容器缩放的属性值为True时,此时可以根据第一界面的大小和第二界面的大小以及目标控件在第一界面中的大小,推算出目标控件在第二界面中的大小。
[0049](2)根据目标控件在第一界面中相对于父容器的边距、第一界面的大小和第二界面的大小,确定目标控件在第二界面中相对于父容器的边距;
[0050]由于根据第一界面的大小和第二界面的大小可以确定第二界面相对于第一界面的放大或者缩小的比例,然后根据目标控件在第一界面中相对于父容器的边距推算出目标控件在第二界面中相对于父容器的边距。
[0051](3)根据目标控件在第一界面中相对于父容器的对齐方式、目标控件在第二界面中的大小和目标控件在第二界面中相对于父容器的边距,确定目标控件在第二界面的位置区域。
[0052]根据上述实施例的记载,虽然每一个目标控件的布局参数都是相对于其父容器,但是每一个父容器的布局参数都可以采用类似的方式来确定。因此即使当该父容器不是主窗口时,也可以采用类推的方式确定该目标控件的位置区域。因此,该步骤中,可以根据目标控件在第一界面中相对于父容器的对齐方式、目标控件在第二界面中的大小和目标控件在第二界面中相对于父容器的边距,确定目标控件在第二界面的位置区域。
[0053]进一步可选地,在上述实施例的技术方案的基础上,其中步骤104 “根据第一图像和第二图像,检测是否定位到目标控件”,具体可以包括:根据第一图像中包括的文字和第二图像中包括的文字,检测是否定位到目标控件;和/或者根据第一图像的颜色和第二图像中的颜色,检测是否定位到目标控件。
[0054]也就是说,可以只检测第一图像中包括的文字和第二图像中包括的文字,或者检测只检测第一图像的颜色和第二图像中的颜色,来确定是否定位到目标控件。或者同时即检测第一图像中包括的文字和第二图像中包括的文字,又检测只检测第一图像的颜色和第二图像中的颜色,只有两者检测都通过,才能确定定位到目标控件,否则则认为未定位到目标控件。
[0055]进一步地,例如当根据第一图像中包括的文字和第二图像中包括的文字,检测是否定位到目标控件,具体可以包括如下步骤:
[0056](a)分别从第一图像和第二图像中提取第一图像中包括的文字和第二图像中包括的文字;
[0057]例如其中的文字可以为字母组成的单词或者数字或者汉字等等,在此不做限制。
[0058](b)判断第一图像中包括的文字和第二图像中包括的文字是否相同,当相同时,确定定位到目标控件;否则未定位到目标控件。
[0059]在本实施例中,当第一图像中包括的文字和第二图像中包括的文字相同,说明采用本实施例的方式获取的目标控件的第二图像是准确的,即定位到目标控件,否则未定位到目标控件。
[0060]进一步地,例如根据第一图像的颜色和第二图像中的颜色,检测是否定位到目标控件,具体可以包括如下步骤:
[0061](A)分别提取第一图像的颜色直方图和第二图像的颜色直方图;
[0062]本实施例中的颜色的直方图中可以包括图像的颜色信息,例如可以采用红(R)、绿(G)和蓝(B)信息来表示。
[0063](B)分别从第一图像的颜色直方图和第二图像的颜色直方图中获取第一图像的颜色值和第二图像的颜色值;
[0064]例如从第一图像中获取第一图像对应的R的值、G的值和B的值。同理也从第二图像中获取第二图像对应的R的值、G的值和B的值。
[0065](C)判断第一图像的颜色值和第二图像的颜色值的差值是否小于或者等于预设阈值,若是小于或者等于预设阈值,确定定位到目标控件,否则未定位到目标控件。
[0066]例如分别判断第一图像的R值与第二图像的R值的差值是否小于或者等于预设阈值,判断第一图像的G值与第二图像的G值的差值是否小于或者等于预设阈值、再判断第一图像的B值与第二图像的B值的差值是否小于或者等于预设阈值,只有三者都小于或者等于预设阈值时,才确定定位到目标控件,否则未定位到目标控件。
[0067]需要说明的是,本实施例中的预设阈值可以根据实际需求来设定,例如可以为该差值相对于在第一图像中对应的值的百分之五等等。
[0068]需要说明的是,还可以采用对比第一图像和第二图像的色彩、亮度和对比度,当第一图像的色彩、亮度和对比度,分别与第二图像对应的色彩、亮度和对比度的差值,分别小于或者等于预设阈值,确定定位到目标控件,否则未定位到目标控件。原理类似,在此不再赘述。
[0069]上述实施例的所有可选技术方案,可以采用可以结合的方式任意组合形成本发明的可选实施例,在此不再赘述。
[0070]上述实施例的所有可选技术方案,能够克服现有技术中无法准确寻找到目标控件的小图像的缺陷,能够准确定位目标控件在第二界面的位置区域,然后再具体从该位置区域截取目标控件在第二界面的第二图像,能够准确获取该目标控件在第二界面的图像,从而根据第一图像和第二图像检测是否定位到目标控件,因此,采用上述实施例的技术方案,能够有效地扩大基于图像检测的定位方法的应用场景。
[0071]图3为本发明另一实施例提供的基于图像检测的定位方法的流程图。该实施例在上述图1所示实施例的技术方案的基础上,进一步更加详细地介绍本发明的技术方案。如图3所示,本实施例的基于图像检测的定位方法,具体可以包括如下步骤:
[0072]200、打开该程序,从该程序运行的默认尺寸下的第一界面中截取目标控件的第一图像;
[0073]参考上述实施例的记载,该第一界面中包括多个控件,本实施例中选择一个控件为目标控件,并从第一界面中截取目标控件的第一图像。
[0074]201、根据第一界面的布局,确定目标控件在第一界面中的大小、目标控件在第一界面中相对于父容器的对齐方式、目标控件相对于父容器的边距以及目标控件是否随父容器缩放的属性值;
[0075]由于相对于主窗口,可能不太能够准确描述目标控件的位置。因此,为了准确地表示目标控件的位置,可以对第一界面进行划分,从主窗口开始层层划分父子窗口,知道能够将目标控件放在一个比较小的窗口中,且能够在该窗口中准确表述其关系即可。每一个窗口的父辈窗口为父容器。例如可以参考上述图2中的表示方式。目标控件在第一界面中的大小、目标控件在第一界面中相对于父容器的对齐方式、目标控件相对于父容器的边距以及目标控件是否随父容器缩放的属性值中各参数值的解释可以参考上述实施例的记载。
[0076]202、根据目标控件是否随父容器缩放的属性值、目标控件在第一界面中的大小、第一界面的大小和第二界面的大小,确定目标控件在第二界面中的大小;
[0077]本实施例中目标控件的大小可以采用宽和高来表示。例如表示的格式可以为:x,y(宽,高)。
[0078]203、根据目标控件在第一界面中相对于父容器的边距、第一界面的大小和第二界面的大小,确定目标控件在第二界面中相对于父容器的边距;
[0079]其中目标控件在第一界面中相对于父容器的边距和目标控件在第二界面中相对于父容器的边距,均可以采用四个参数来表示,例如边距格式可以为:left,top, right,bottom (左,上,右,下),也就是说该目标控件距离父容器的左、上、右和下的位置。但是使用中,为了简便,可以结合目标控件在第一界面中相对于父容器的对齐方式来表示,例如当对齐当时为左上对齐时,此时可以将边距格式中的右和下置为零。当采用右上对齐时,此时可以将边距格式中的左下置为零。当采用居中时,此时左和右不能同时有数值,为了便于定位,需要左和右中一侧为零。同理,上和下也不能同时有数值,需要上和下一侧为零。
[0080]204、根据目标控件在第一界面中相对于父容器的对齐方式、目标控件在第二界面中的大小和目标控件在第二界面中相对于父容器的边距,确定目标控件在第二界面的位置区域;
[0081]其中目标控件在第一界面中相对于父容器的对齐方式和目标控件在第二界面中相对于父容器的对齐方式相同,因此可以根据目标控件在第二界面中相对于父容器的对齐方式、目标控件在第二界面中的大小和目标控件在第二界面中相对于父容器的边距,采用上述实施例的步骤,可以准确确定出目标控件在第二界面的位置区域。
[0082]205、从目标控件在第二界面的位置区域截取目标控件的第二图像;
[0083]也就是说该第二图像为该目标控件在第二界面的图像。
[0084]206、判断第一图像和第二图像中是否包括文字,当包括时,执行步骤207 ;否则执行步骤208 ;
[0085]27、判断第一图像中包括的文字和第二图像中包括的文字是否相同,当相同时,执行步骤208 ;否则当不相同时,否则确定未定位到目标控件,结束;
[0086]本实施例的文字可以为数字,字符串或者汉字或者它们的组合等等。
[0087]208、分别提取第一图像的颜色直方图和第二图像的颜色直方图;
[0088]209、分别从第一图像的颜色直方图和第二图像的颜色直方图中获取第一图像的颜色值和第二图像的颜色值;
[0089]本实施例中提取的是第一图像的R、G和B值,以及第二图像的R、G和B值。进一步地,还可以从颜色直方图中获取亮度、色彩以及对比度,进行增加判断的条件。
[0090]210、判断第一图像的颜色值和第二图像的颜色值的差值是否小于或者等于预设阈值,若是小于或者等于预设阈值,确定定位到目标控件,结束;否则确定未定位到目标控件,结束。
[0091]本实施例的颜色值分别包括R、G和B值三个值,要对两个图像的三个值分别进行检测,当三个颜色的差值都小于或者等于预设阈值时,才确定定位到目标控件,否则只要有一个颜色的差值大于预设阈值时,都确定未定位到目标控件。当增加亮度、色彩以及对比度中的某一个或者多个时,同理,要判断所有要判断的参数的差值都小于或者等于预设阈值时,才确定定位到目标控件,否则只要有一个颜色的差值大于预设阈值时,都确定未定位到目标控件。
[0092]本实施例的基于图像检测的定位方法,通过采用上述方案能够克服现有技术中无法准确寻找到目标控件的小图像的缺陷,能够准确定位目标控件在第二界面的位置区域,然后再具体从该位置区域截取目标控件在第二界面的第二图像,能够准确获取该目标控件在第二界面的图像,从而根据第一图像和第二图像检测是否定位到目标控件,因此,采用上述实施例的技术方案,能够有效地扩大基于图像检测的定位方法的应用场景。
[0093]下面以“英雄联盟”客户端为例,介绍本发明实施例的技术方案。例如:
[0094](I)先启动程序后,先记录下程序的默认尺寸为:1280*800。图4为本发明实施例提供的第一界面示意图。如图4所示,即为该“英雄联盟”客户端在默认尺寸1280*800的截面图。
[0095](2)以play按钮作为目标控件,从图4所示第一界面中截取play按钮的第一图像。如图5所示为图4所示的第一界面中的目标控件的第一图像。
[0096](3)缩放一下第一界面,根据程序界面缩放时目标控件play按钮的布局变化来定义play按钮的布局参数。例如定义的布局参数如下表I所示:
[0097]表I
[0098]

【权利要求】
1.一种基于图像检测的定位方法,其特征在于,所述方法包括: 从程序运行的第一界面中截取目标控件的第一图像; 根据所述第一界面的布局,确定所述目标控件的布局参数; 根据所述程序当前运行的第二界面、所述第一界面和所述目标控件的布局参数,确定所述目标控件在所述第二界面的位置区域; 从所述目标控件在所述第二界面的位置区域截取所述目标控件的第二图像; 根据所述第一图像和所述第二图像,检测是否定位到所述目标控件。
2.根据权利要求1所述的方法,其特征在于,所述第一界面为所述程序运行的默认尺寸对应的界面,所述第二界面为对所述第一界面进行放大或者缩小的界面。
3.根据权利要求1所述的方法,其特征在于,所述布局参数包括所述目标控件在所述第一界面中的大小、所述目标控件在所述第一界面中相对于父容器的对齐方式、所述目标控件相对于所述父容器的边距以及所述目标控件是否随所述父容器缩放的属性值;所述父容器为所述第一界面的主窗口或者所述主窗口中的部分。
4.根据权利要求3所述的方法,其特征在于,根据所述程序当前运行的第二界面、所述第一界面和所述目标控件的布局参数,确定所述目标控件在所述第二界面的位置区域,包括: 根据所述目标控件是否随所述父容器缩放的属性值、所述目标控件在所述第一界面中的大小、所述第一界面的大小和所述第二界面的大小,确定所述目标控件在所述第二界面中的大小; 根据所述目标控件相对于所述父容器的边距、所述第一界面的大小和所述第二界面的大小,确定所述目标控件在所述第二界面中相对于所述父容器的边距; 根据所述目标控件在所述第一界面中相对于所述父容器的对齐方式、所述目标控件在所述第二界面中的大小和所述目标控件在所述第二界面中相对于所述父容器的边距,确定所述目标控件在所述第二界面的位置区域。
5.根据权利要求1-4任一所述的方法,其特征在于,根据所述第一图像和所述第二图像,检测是否定位到所述目标控件,包括: 根据所述第一图像中包括的文字和所述第二图像中包括的文字,检测是否定位到所述目标控件; 和/或者根据所述第一图像的颜色和所述第二图像中的颜色,检测是否定位到所述目标控件。
6.根据权利要求5所述的方法,其特征在于,根据所述第一图像中包括的文字和所述第二图像中包括的文字,检测是否定位到所述目标控件,包括: 分别从所述第一图像和所述第二图像中提取所述第一图像中包括的文字和所述第二图像中包括的文字; 判断所述第一图像中包括的文字和所述第二图像中包括的文字是否相同,当相同时,确定定位到所述目标控件;否则未定位到所述目标控件。
7.根据权利要求5所述的方法,其特征在于,根据所述第一图像的颜色和所述第二图像中的颜色,检测是否定位到所述目标控件,包括: 分别提取所述第一图像的颜色直方图和所述第二图像的颜色直方图; 分别从所述第一图像的颜色直方图和所述第二图像的颜色直方图中获取所述第一图像的颜色值和所述第二图像的颜色值; 判断所述第一图像的颜色值和所述第二图像的颜色值的差值是否小于或者等于预设阈值,若是小于或者等于所述预设阈值,确定定位到所述目标控件,否则未定位到所述目标控件。
8.一种基于图像检测的定位装置,其特征在于,所述装置包括: 截取模块,用于从程序运行的第一界面中截取目标控件的第一图像; 确定模块,用于根据所述第一界面的布局,确定所述目标控件的布局参数; 所述确定模块,还用于根据所述程序当前运行的第二界面、所述第一界面和所述目标控件的布局参数,确定所述目标控件在所述第二界面的位置区域; 所述截取模块,还用于从所述目标控件在所述第二界面的位置区域截取所述目标控件的第二图像; 检测模块,用于根据所述第一图像和所述第二图像,检测是否定位到所述目标控件。
9.根据权利要求8所述的装置,其特征在于,所述第一界面为所述程序运行的默认尺寸对应的界面,所述第二界面为对所述第一界面进行放大或者缩小的界面。
10.根据权利要求8所述的装置,其特征在于,所述布局参数包括所述目标控件在所述第一界面中的大小、所述目标控件在所述第一界面中相对于父容器的对齐方式、所述目标控件相对于所述父容器的边距以及所述目标控件是否随所述父容器缩放的属性值;所述父容器为所述第一界面的主窗口或者所述主窗口中的部分。
11.根据权利要求10所述的装置,其特征在于,所述确定模块,具体用于根据所述目标控件是否随所述父容器缩放的属性值、所述目标控件在所述第一界面中的大小、所述第一界面的大小和所述第二界面的大小,确定所述目标控件在所述第二界面中的大小;并根据所述目标控件相对于所述父容器的边距、所述第一界面的大小和所述第二界面的大小,确定所述目标控件在所述第二界面中相对于所述父容器的边距;再根据所述目标控件在所述第一界面中相对于所述父容器的对齐方式、所述目标控件在所述第二界面中的大小和所述目标控件在所述第二界面中相对于所述父容器的边距,确定所述目标控件在所述第二界面的位置区域。
12.根据权利要求8-11任一所述的装置,其特征在于,所述检测模块,具体用于根据所述第一图像中包括的文字和所述第二图像中包括的文字,确定是否定位到所述目标控件;和/或者根据所述第一图像的颜色和所述第二图像中的颜色,确定是否定位到所述目标控件。
13.根据权利要求12所述的装置,其特征在于,所述检测模块,具体用于分别从所述第一图像和所述第二图像中提取所述第一图像中包括的文字和所述第二图像中包括的文字;判断所述第一图像中包括的文字和所述第二图像中包括的文字是否相同,当相同时,确定定位到所述目标控件;否则未定位到所述目标控件。
14.根据权利要求12所述的装置,其特征在于,所述检测模块,具体用于分别提取所述第一图像的颜色直方图和所述第二图像的颜色直方图;分别从所述第一图像的颜色直方图和所述第二图像的颜色直方图中获取所述第一图像的颜色值和所述第二图像的颜色值;判断所述第一图像的颜色值和所述第二图像的颜色值的差值是否小于或者等于预设阈值,若是小于或者等于所述预设阈值,确定定位到所述目标控件,否则未定位到所述目标控件。
【文档编号】G06F9/44GK104133665SQ201310585139
【公开日】2014年11月5日 申请日期:2013年11月19日 优先权日:2013年11月19日
【发明者】林森, 李炯, 唐庆钰 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1