一种模板匹配方法、装置、设备及介质与流程

文档序号:17699640发布日期:2019-05-17 22:08阅读:295来源:国知局
一种模板匹配方法、装置、设备及介质与流程

本申请涉及图像识别技术领域,尤其涉及模板匹配方法、装置及介质。



背景技术:

模板匹配是根据模板图像到另一幅图像中寻找与模板图像相似的子图像的技术,其在机器视觉、目标追踪、物体识别、游戏图像处理等诸多领域中有着重要的应用。

在实际应用中,由于终端的分辨率不同会导致在不同分辨率的终端上显示的同一图像时,其图像中元素布局会不同,即元素在图像中的绝对位置和大小尺寸会不同,这就导致若直接利用同一模板图像,对不同分辨率的终端所显示的图像进行匹配时,其匹配效果不太好。

为了兼容处理多分辨率图像的模板匹配,现阶段常用的处理方法是,由人工预先设置好各种不同分辨率的模板参数,模板参数包括该分辨率下的模板图像和检测位置,然后在模板匹配时,从多组模板参数中选择出与检测图像分辨率相同的模板参数,再基于所选择的模板参数对该检测图像进行模板匹配。

由于上述处理方法完全依赖于人工预置的各分辨率的模板参数,一旦该模板参数设置好投入应用之后,其就无法适用于新的分辨率的图像匹配,由于人工预置模板参数时往往无法兼容考虑到所有可能的分辨率,这就导致上述处理方法在实际应用中兼容性也不是很好,而且,上述处理方法的人工成本和时间成本非常高,这也极大限制了模板匹配技术的应用。

基于此,目前亟需研究出一种新的模板匹配方案,能够在降低应用成本的基础上,提高对多分辨率图像的兼容性,保证匹配精度和匹配准确度。



技术实现要素:

本申请实施例提供了一种模板匹配方法、装置、设备以及介质,能够有效地提高对多分辨率图像的兼容性,并且大大降低了模板匹配过程需要耗费的人工成本和时间成本。

有鉴于此,本申请第一方面提供了一种模板匹配方法,所述方法包括:

获取终端上运行应用的第一截屏图像;

根据模板图像对应的标准检测区域位置,从所述第一截屏图像中截取感兴趣区域;

采用每个缩放级别对应的模板子图像,对所述感兴趣区域进行模板匹配,得到与每个缩放级别对应的最佳匹配位置及匹配置信度;其中,所述模板子图像是根据每个缩放级别对应的缩放系数对所述模板图像进行缩放处理生成的;

选择匹配置信度最高的缩放级别,根据该缩放级别对应的缩放系数及最佳匹配位置作为一组模板参考参数;

根据所述模板参考参数,确定所述模板图像适配所述终端的模板目标参数;

根据所述模板图像以及所述模板目标参数,对所述终端上运行所述应用的第二截屏图像进行模板匹配。

本申请第二方面提供了一种模板匹配装置,所述装置包括:

获取模块,用于获取终端上运行应用的第一截屏图像;

截取模块,用于根据模板图像对应的标准检测区域位置,从所述第一截屏图像中截取感兴趣区域;

模板预处理模块,用于采用每个缩放级别对应的模板子图像,对所述感兴趣区域进行模板匹配,得到与每个缩放级别对应的最佳匹配位置及匹配置信度;其中,所述模板子图像是根据每个缩放级别对应的缩放系数对所述模板图像进行缩放处理生成的;

模板参考参数确定模块,用于选择匹配置信度最高的缩放级别,根据该缩放级别对应的缩放系数及最佳匹配位置作为一组模板参考参数;

模板目标参数确定模块,用于根据所述模板参考参数,确定所述模板图像适配所述终端的模板目标参数;

图像匹配模块,用于根据所述模板图像以及所述模板目标参数,对所述终端上运行所述应用的第二截屏图像进行模板匹配。

本申请第三方面提供一种设备,所述设备包括处理器以及存储器:

所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令,执行如上述第一方面所述的模板匹配方法的步骤。

本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述第一方面所述的模板匹配方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例提供了一种模板匹配方法,该方法先基于终端上运行应用的第一截屏图像,确定模板图像适配于该终端的模板目标参数,然后,根据所确定的模板目标参数和模板图像,对在该终端上运行应用的第二截屏图像进行模板匹配。相比现有技术中基于人工预置的模板参数进行模板匹配的方法,本申请提供的方法在面对分辨率不同的终端时,均可以根据该终端上运行应用的第一截屏图像,动态地确定适配于该终端的模板目标参数,从而有效地提高了对于多分辨率图像的兼容性,并且无需针对各种分辨率的终端人工标定模板参数,减少了对人工成本和时间成本的耗费。此外,本申请提供的方法在确定模板目标参数的过程中,先根据模板图像对应的标准检测区域位置在第一截屏图像中截取感兴趣区域,基于该感兴趣区域进行模板匹配,尽可能地减少模板匹配区域的大小,提高模板匹配过程的计算速度;进而,采用对应于不同缩放级别的模板子图像在感兴趣区域内进行模板匹配,基于多尺度模板子图像确定模板目标参数,保证所确定的模板目标参数的准确性,进而保证了后续模板匹配的准确性。

附图说明

图1为本申请实施例提供的模板匹配方法的应用场景示意图;

图2为本申请实施例提供的一种模板匹配方法的流程示意图;

图3为本申请实施例提供的感兴趣区域和标准检测区域位置的示意图;

图4为本申请实施例提供的另一种模板匹配方法的流程示意图;

图5为本申请实施例提供的分辨率不同的检测图像的示意图;

图6为本申请实施例提供的第一种模板匹配装置的结构示意图;

图7为本申请实施例提供的第二种模板匹配装置的结构示意图;

图8为本申请实施例提供的第三种模板匹配装置的结构示意图;

图9为本申请实施例提供的第四种模板匹配装置的结构示意图;

图10为本申请实施例提供的第五种模板匹配装置的结构示意图;

图11为本申请实施例提供的第六种模板匹配装置的结构示意图;

图12为本申请实施例提供的服务器的结构示意图;

图13为本申请实施例提供的终端设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为了便于理解本申请提供的模板匹配方法,下面先对本申请涉及的技术名词进行解释。

模板图像,是指在模板匹配过程中所应用的模板,模板就是一副已知的小图像,而模板匹配就是在一副大图像中搜索目标,该目标同模板有相同尺寸、方向和图像元素。

在本申请应用时,模板图像可以是应用中界面元素相对应的图像;以某款游戏应用为例,在该游戏的开始对战界面中显示的vs图标可以被视为模板图像,在该开始对战界面中显示的英雄头像、英雄名称等也可以被视为模板图像,相类似地,在该游戏的对战界面中显示的可攻击目标、英雄技能键等均可以被视为模板图像。

标准检测区域位置,是指模板图像在特定分辨率图像中所处的区域位置,该区域位置通常通过人工标注方式在该特定分辨率图像中标定出来的;例如,在分辨率为1280*720的游戏对战界面中,人工标定的某技能键所处的区域位置即为该技能键对应的标准检测区域位置。

模板子图像,是按照缩放级别列表中各个缩放级别各自对应的缩放系数,对模板图像进行缩放处理得到的新模板,不同的模板子图像对应于不同的缩放级别。

感兴趣区域(regionofinterest,roi),是指机器视觉、图像处理领域中,从被处理的图像中以方框、圆、椭圆、不规则多边形等方式勾勒出的需要处理的区域。

最佳匹配位置,是指感兴趣区域中与模板子图像匹配程度最高的区域位置,若感兴趣区域中同时存在多个匹配程度最高的区域位置,可以从中任选一个区域位置作为最佳匹配位置;匹配置信度,用于表征最佳匹配位置处的图像与模板子图像之间的匹配程度,匹配置信度越高表明最佳匹配位置处的图像与模板子图像越匹配,反之,匹配置信度越低表明最佳匹配位置处的图像与模板子图像越不匹配。每个缩放级别分别对应一个最佳匹配位置和一个匹配置信度。

以上为对本申请涉及的技术名词的相关介绍,接下来结合现有技术存在的技术问题,对本申请提供的模板匹配方法的核心技术思路进行介绍。

现有的模板匹配方法,依赖人工预先标定的与各分辨率分别对应的模板参数,在检测图像中相应地进行模板匹配;由于人工预先标定的模板参数难以全面考虑所有可能的分辨率,因此,在出现一个新的分辨率的情况下,采用该方法将难以有效地进行模板匹配,对于多分辨率图像的兼容性较差;此外,采用人工标定的方式确定各分辨率各自对应的模板参数,还需要耗费大量的人工成本和时间成本。

为了解决上述技术问题,本申请提供了一种模板匹配方法,其基于终端上运行应用的第一截屏图像,确定模板图像适配于该终端的模板目标参数,进而,根据所确定的模板目标参数和模板图像,对在该终端上运行应用的第二截屏图像进行模板匹配。由此,在面对分辨率不同的终端时,均可以根据终端上运行应用的第一截屏图像,实时动态地确定适配于该终端的模板目标参数,提高了对于多分辨率图像的兼容性,并且无需人工标定大量模板参数,减少了对人工成本和时间成本的耗费。

此外,在确定模板目标参数的过程中,会先根据模板图像对应的标准检测区域位置在第一截屏图像中截取感兴趣区域,基于该感兴趣区域进行模板匹配,以减小模板匹配区域的大小,提高模板匹配过程的计算速度;进而,采用对应于不同缩放级别的模板子图像在感兴趣区域内进行模板匹配,基于多尺度模板子图像确定模板目标参数,保证所确定的模板目标参数的准确性以及后续模板匹配的准确性。

应理解,本申请实施例提供的模板匹配方法可以应用于具备数据处理功能的设备,如终端设备、服务器等。其中,终端设备具体可以为智能手机、计算机、个人数字助理(personaldigitalassitant,pda)、平板电脑等;服务器具体可以为应用服务器,也可以为web服务器,在实际应用部署时,该服务器可以为独立服务器,也可以为集群服务器。

为了便于理解本申请实施例提供的技术方案,下面以服务器进行模板匹配为例,结合应用场景对本申请实施例提供的模板匹配方法进行介绍。

参见图1,图1为本申请实施例提供的模板匹配方法的应用场景示意图。该应用场景中包括:终端设备101和服务器102,终端设备101和服务器102可以通过网络连接。

其中,终端设备101用于在应用运行过程中获取第一截屏图像,并将所获取的第一截屏图像至服务器102。如图1所示,当应用为游戏应用时,终端设备101可以在游戏应用运行的过程中,针对当前游戏应用界面截取若干幅界面图像作为第一截屏图像,并将第一截屏图像发送至服务器102。

应理解,在实际应用中,终端设备101可以仅截取一幅第一截屏图像,也可以截取多幅第一截屏图像。

服务器102接收到终端设备101发送的第一截屏图像后,执行本申请实施例提供的模板匹配方法,基于所接收的第一截屏图像,确定模板图像适配于终端设备101的模板目标参数。例如,服务器102接收到终端设备101发送的游戏对战界面图像后,可以针对其中的攻击键,确定其适配于终端设备101的模板目标参数。

与此同时,终端设备101还可以不断地截取游戏应用界面图像,并将所截取的游戏应用界面图像作为第二截屏图像发送至服务器102,以使服务器102基于所确定的模板图像适配于终端设备101的模板目标参数,在第二截屏图像中进行模板匹配。例如,终端设备101可以在游戏对战过程中不断地截取游戏对战界面图像,并将所截取的游戏对战界面图像发送至服务器102,相应地,服务器102可以基于之前确定的攻击键适配于终端设备101的模板目标参数,在所接收的其他游戏对战界面图像中相应地对攻击键进行模板匹配,以确定后续接收的游戏对战界面图像中是否存在攻击键,以及攻击键的状态是否可用。

进而,服务器102可以将通过模板匹配确定的模板匹配结果发送至自身运行的游戏应用智能体(artificialintelligence,ai),以使游戏应用智能体根据所确定的模板匹配结果,相应地生成并执行游戏策略指令。例如,若服务器102通过模板匹配确定游戏对战界面图像中的攻击键可用,服务器102相应地将该表征攻击键可用的模板匹配结果发送至游戏应用智能体,进而,游戏应用智能体可以生成攻击策略指令并在游戏应用中执行攻击操作,从而实现与终端设备101之间的游戏互动。

在上述应用场景中,服务器102采用了一种动态适配的方式,基于终端设备101发送的第一截屏图像,确定模板图像适配于终端设备101的模板目标参数,在面对各种分辨率的终端设备时,均可以通过这种方式实时地确定适配于各终端设备的模板目标参数,由此有效地提高了对于多分辨率图像的兼容性,并且这种匹配方式无需人工标定大量的模板参数,减少了所要耗费的人工成本和时间成本。在游戏应用场景中,游戏应用智能体可以根据服务器确定的模板匹配结果,准确地生成合理的游戏策略指令,并相应地执行该游戏策略指令,从而提高人机交互游戏的智能性。

应理解,上述图1所示的应用场景仅为一种示例,在实际应用中,也可以由终端设备独立执行本申请实施例提供的模板匹配方法,在此不对本申请实施例提供的模板匹配方法的应用场景做任何限定。

下面通过实施例对本申请提供的模板匹配方法进行介绍。

参见图2,图2为本申请实施例提供的一种模板匹配方法的流程示意图。为了便于描述,下述实施例以服务器作为执行主体进行描述,应理解,该模板匹配方法的执行主体并不仅限于服务器,还可以为终端设备等其他具备图像匹配功能的设备。如图2所示,该模板匹配方法包括以下步骤:

步骤201:获取终端上运行应用的第一截屏图像。

终端可以在应用运行的过程中截取应用运行界面,通过网络将所截取的应用界面图像发送至服务器;相应地,服务器接收到终端发送的应用界面图像后,将所接收的应用界面图像作为第一截屏图像,基于第一截屏图像进行后续操作处理。

应理解,上述应用具体可以为终端所支持的各种应用,例如,游戏应用、社交应用、购物应用、影音播放应用以及导航应用等,在此不对本实施例中提及的应用做具体限定。

在一种可能的实现方式中,服务器可以获取终端上运行应用的一幅第一截屏图像。即,终端在应用运行的过程中可以仅截取一幅应用界面图像,并将这幅应用界面图像发送至服务器,相应地,服务器将所接收的这幅应用界面图像作为第一截屏图像。

在另一种可能的实现方式中,为了保证基于第一截屏图像确定的模板目标参数更加准确,服务器可以获取终端上运行应用的n(n为大于或者等于2的正整数)幅连续帧图像,相应地作为n幅第一截屏图像。

具体的,在实际应用中,显示某一应用界面时通常会连续地显示多帧应用界面图像;例如,游戏应用的游戏开始界面通常会持续显示一段时间,在这段时间内,终端设备上显示的游戏开始界面虽然没有发生变化,但是实际上已连续显示了若干帧该游戏开始界面。终端设备可以在显示某一应用界面时,获取与该应用界面对应的n幅连续帧应用界面图像,并将这n幅应用界面图像均发送至服务器,相应地,服务器将所接收的n幅应用界面图像作为n幅第一截屏图像。

例如,假设某款游戏应用在显示开始对战界面时,终端设备连续播放5帧开始对战界面图像;那么,终端设备可以获取其中连续的前3帧开始对战界面图像,并将这3帧开始对战界面图像发送至服务器,服务器相应地将这3帧开始对战界面图像作为三幅第一截屏图像。

应理解,n值可以根据显示某一界面图像时所播放的连续帧的数目来确定,其通常小于或等于该显示该界面图像时播放的连续帧的数目。

需要说明的是,当本申请实施例提供的模板匹配方法的执行主体为终端设备时,终端设备可以直接将自身截取的应用界面图像作为第一截屏图像;相类似地,终端设备可以只截取一幅应用界面图像作为第一截屏图像,也可以针对同一应用界面,截取连续的n帧应用界面图像作为n幅第一截屏图像。

步骤202:根据模板图像对应的标准检测区域位置,从所述第一截屏图像中截取感兴趣区域。

模板图像通常与应用界面中的某个界面元素相对应,为该界面元素对应的图像;模板图像对应的标准检测区域位置,指的是模板图像在某一特定分辨率图像中所处的区域位置,根据该标准检测区域位置可以相应地确定模板图像在该特定分辨率图像中占据的区域大小,该标准检测区域位置通常是人工标定得到的,其具有绝对的准确性。

服务器在第一截屏图像中截取感兴趣区域时,可以根据模板图像对应的标准检测区域位置,确定参考区域的位置,该参考区域的位置范围涵盖标准检测区域的位置范围;进而,根据参考区域的位置从第一截屏图像中截取感兴趣区域。

具体的,服务器可以先对标准检测区域位置对应的区域进行放大处理,将放大后的区域大小作为参考区域的区域大小;然后,根据标准检测区域位置所指示的位置和参考区域的区域大小,相应地确定参考区域的位置,该参考区域的位置范围涵盖标准检测区域的位置范围;进而,根据参考区域的位置确定该参考区域在第一截屏图像中覆盖的区域位置,截取这部分区域位置处的图像作为感兴趣区域。

通常情况下,标准检测区域位置表示为(x,y,w,h),其中,(x,y)为标准检测区域位置对应的坐标,其具体可以为该标准检测区域位置的中心点坐标,也可以为标准检测区域位置左上顶点的坐标,当然,还可以标准检测区域位置中其他位置的坐标,w和h分别表示标准检测区域位置的长度和宽度;具体截取感兴趣区域时,服务器可以通过对标准检测区域位置的长度和宽度进行适当地放大,确定参考区域的长度和宽度;然后,基于标准检测区域位置对应的坐标,以及所确定的参考区域的长度和宽度,确定参考区域的位置;进而,根据所确定的参考区域的位置,确定参考区域在第一截屏图像中覆盖的区域位置,截取这部分区域位置处的图像作为感兴趣区域。

需要说明的是,虽然在分辨率不同的应用界面中,同一界面元素所处的区域位置可能不同,但是该界面元素在不同分辨率的应用界面中所处的区域位置并不会相差太多;因此,通过放大标准检测区域位置,并基于标准检测区域位置对应的位置确定出的参考区域,通常能够覆盖模板图像在第一截屏图像中可能出现的所有位置。

为了便于理解上述过程的具体实现,下面结合图3对其进行举例说明:

假设模板图像为某款游戏的开始对战界面上的vs图标,该模板图像在分辨率为1280*720的开始对战界面上所处的区域位置为(880,547,10,25),即标准检测区域位置为(880,547,10,25);其中,880为vs图标中心点对应的横坐标,547为vs图标中心点对应的纵坐标,10为vs图标对应的长度,25为vs图标对应的宽度。如图3所示,其中的图像301为分辨率为1280*720的开始对战界面图像,其中虚线框所框出的区域为vs图标在该标准检测区域位置内的区域位置,即为vs图标对应的标准检测区域位置。

在第一截屏图像中截取感兴趣区域时,可以先对vs图标对应的长度和宽度进行适当地放大,然后将放大后的长度和宽度分别作为参考区域的长度和宽度,例如,将vs图标对应的长度和宽度均放大两倍,得到参考区域的长度为20、宽度为50;然后,以标准检测区域位置中的横坐标和纵坐标为基础,根据参考区域的长度和宽度,确定参考区域的位置;进而,根据参考区域的位置,确定参考区域在第一截屏图像中的区域位置,例如,当确定参考区域的长度为20、宽度为50时,以vs图标中心点作为参考区域的中心点,参考区域的位置为(880,547,20,50),该参考区域的位置即为感兴趣区域在第一截屏图像中对应的区域位置,即需要在第一截屏图像中截取(880,547,20,50)位置处的图像作为感兴趣区域,其中,880为感兴趣区域的中心点横坐标,547为感兴趣区域的中心点纵坐标,20为感兴趣区域的长度,50为感兴趣区域的宽度。如图3所示,其中的图像302为第一截屏图像,该第一截屏图像中虚线框所框出的区域即为经上述处理确定的感兴趣区域。

应理解,在实际应用中,除了可以通过对标准检测区域位置对应的长度和宽度进行放大,确定参考区域的区域大小外,还可以直接对标准检测区域位置对应的区域面积进行放大,将放大后的区域面积作为参考区域的区域面积,进而,结合标准检测区域位置指示的位置和参考区域的区域面积,相应地确定参考区域的位置;进而,根据参考区域的位置从第一截屏图像中截取感兴趣区域。在此不对确定感兴趣区域的方式做任何限定。

应理解,在实际应用中,可以根据实际需求设置对于标准检测区域位置对应的区域面积的放大倍数,即参考区域的区域面积与标准检测区域位置对应的区域面积之间的比例关系可以根据实际需求进行设定,在此不对二者之间的比例关系做任何限定。

需要说明的是,第一截屏图像中可能同时存在多个模板图像,此时,需要根据每个模板图像各自对应的标准检测区域位置,相应地,从第一截屏图像中截取各模板图像各自对应的感兴趣区域;例如,在某款游戏应用的开始对战界面中,vs图标、各个玩家对应的英雄头像以及英雄名称均可以作为模板图像,相应地,当第一截屏图像为开始对战界面,从该第一截屏图像中截取感兴趣区域时,服务器可以根据vs图标对应的标准检测区域位置,截取出对应于该vs图标的感兴趣区域,根据每个玩家对应的英雄头像的标准检测区域位置,截取出对应于每个英雄头像的感兴趣区域,根据每个玩家对应英雄名称的标准检测区域位置,截取出对应于每个英雄名称的感兴趣区域。

需要说明的是,当第一截屏图像仅存在一幅时,仅需针对该幅第一截屏图像执行步骤202,即仅需针对该幅第一截屏图像相应地截取感兴趣区域;当第一截屏图像存在n幅时,需要针对每幅第一截屏图像执行一次步骤202,即需要针对各幅第一截屏图像均相应地截取感兴趣区域。

步骤203:采用每个缩放级别对应的模板子图像,对所述感兴趣区域进行模板匹配,得到与每个缩放级别对应的最佳匹配位置及匹配置信度;其中,所述模板子图像是根据每个缩放级别对应的缩放系数对所述模板图像进行缩放处理生成的。

截取得到感兴趣区域后,服务器利用每个缩放级别对应的模板子图像,在所截取的感兴趣区域内进行模板匹配。具体实现时,服务器可以利用一个模板子图像在感兴趣区域内,以滑动窗口的方式遍历匹配感兴趣区域内各个可能的位置,模板子图像与每个位置进行模板匹配时,相应地记录能够表征该位置与模板子图像匹配程度的匹配置信度;进而,通过对比各个位置各自对应的匹配置信度,确定最大的匹配置信度,将该匹配置信度作为该缩放级别对应的匹配置信度,将该匹配置信度对应的位置作为该缩放级别对应的最佳匹配位置;如此按照上述方式,逐一利用各个模板子图像在感兴趣区域内进行模板匹配,从而确定各个缩放级别各自对应的最佳匹配位置和匹配置信度。

需要说明的是,上述模板子图像是服务器按照缩放级别列表中各个缩放级别各自对应的缩放系数,对模板图像进行缩放处理生成的图像;缩放级别列表中包括多个缩放级别,不同的缩放级别对应不同的缩放系数,相应地,按照不同的缩放级别缩放处理得到的模板子图像的大小不同。

应理解,缩放级别列表中通常包括大量的缩放级别,各个缩放级别可以按照升序或降序排列。举例说明,在具体应用时,缩放级别列表中包括按照升序排列的11个缩放级别,最小的缩放级别对应的缩放系数为0.8,最大的缩放级别对应的缩放系数为1.3,相邻的两个缩放级别所对应的缩放系数之间相差0.05;当然,在实际应用中,缩放级别列表中还可以包括其他缩放系数,在此不对所采用的缩放级别列表中包括的缩放系数做具体限定。

需要说明的是,当第一截屏图像仅存在一幅时,需要利用每个缩放级别对应的模板子图像,在从该幅第一截屏图像中截取的感兴趣区域内进行模板匹配,从而确定每个缩放级别对应的最佳匹配位置和匹配置信度;当第一截屏图像存在n幅时,需要针对从每个第一截屏图像中截取出的感兴趣区域分别执行一次步骤203的流程,从而针对每幅第一截屏图像,相应地确定出每个缩放级别对应的最佳匹配位置和匹配置信度。

步骤204:选择匹配置信度最高的缩放级别,根据该缩放级别对应的缩放系数及最佳匹配位置作为一组模板参考参数。

得到每个缩放级别各自对应的最佳匹配位置和匹配置信度后,通过对比各个缩放级别各自对应的匹配置信度,确定最大的匹配置信度;进而,确定该匹配置信度对应的缩放级别,将该缩放级别所对应的缩放系数以及最佳匹配位置作为一组模板参考参数。

应理解,匹配置信度越高,则表明该匹配置信度对应的缩放级别下的最佳匹配位置处的图像与该缩放级别对应的模板子图像之间越匹配。

需要说明的是,当第一截屏图像仅有一幅时,该第一截屏图像对应的模板参考参数相应地仅存在一组;而当第一截屏图像存在n幅时,n幅第一截屏图像各自对应一组模板参考参数,即一共存在n组模板参考参数。

步骤205:根据所述模板参考参数,确定所述模板图像适配所述终端的模板目标参数。

确定出模板参考参数后,服务器可以进一步根据该模板参考参数,确定模板图像适配于该终端设备的模板目标参数;基于该模板目标参数,可以对该终端设备运行应用的其他图像相应地进行模板匹配。

下面对确定模板目标参数的具体实现方式做介绍:

在一种可能的实现方式中,当第一截屏图像仅存在一幅时,服务器可以根据该幅第一截屏图像对应的模板参考参数,确定模板图像适配于终端的模板目标参考参数。

具体的,当第一截屏图像仅存在一幅时,相应地也仅存在一组对应于该幅第一截屏图像的模板参考参数;此时,可以直接将该模板参考参数中的缩放系数作为目标缩放系数,将该模板参考参数中的最佳匹配位置作为目标匹配位置,进而,将目标缩放系数和目标匹配位置组合起来,作为模板目标参考参数。

在另一种可能的实现方式中,当第一截屏图像存在n幅时,每幅第一截屏图像对应一组模板参考参数,一共存在n组模板参考参数;此时,服务器需要根据这n组模板参考参数,确定模板图像适配于终端的模板目标参数。

具体根据这n组模板参考参数确定模板目标参考参数时,可以采用本申请提供的以下三种实现方式:

第一种实现方式,确定n组模板参考参数中缩放系数的平均值,将该平均值作为目标缩放系数;确定n组模板参考参数中最佳匹配位置的平均值,将该平均值作为目标匹配位置;根据目标缩放系数和目标匹配位置,确定模板图像适配终端的模板目标参数。

具体的,服务器可以对n组模板参考参数中的缩放系数进行求和运算,然后利用经求和运算得到的缩放系数和除以n得到缩放系数的平均值,将该缩放系数的平均值作为目标缩放系数。

最佳匹配位置中通常包括用于表征最佳匹配位置所处的位置的坐标,以及最佳匹配位置覆盖区域的长度和宽度,服务器可以分别计算n组最佳匹配位置的坐标的平均值、长度平均值和宽度平均值,进而,将坐标的平均值、长度平均值和宽度平均值组合起来得到最佳匹配位置的平均值,将该最佳匹配位置的平均值作为目标匹配位置。

最终,将目标缩放系数和目标匹配位置结合起来,作为模板图像适配于终端的模板目标参数。

第二种实现方式,从n组模板参考参数中选择缩放系数的中位数,将该中位数作为目标缩放系数;从n组模板参考参数中选择与其他最佳匹配位置的区域面积交集最大的最佳匹配位置,将所选择的最佳匹配位置作为目标匹配位置。根据目标缩放系数和目标匹配位置,确定模板图像适配终端的模板目标参数。

具体的,服务器从n组模板参考参数中提取缩放系数,按照从小到大或者从大到小的顺序,将所提取出的n个缩放系数排列成一个缩放系数序列;进而,从该缩放系数序列中提取缩放系数的中位数作为目标缩放系数。

根据n组模板参考参数中的最佳匹配位置,确定每个最佳匹配位置在第一截屏图像中覆盖的区域,叠加显示每个最佳匹配位置覆盖的区域,确定各个最佳匹配位置覆盖区域的交集区域;进而,计算该交集区域在各个最佳匹配位置所覆盖的区域中占据的比例,即计算交集区域的区域面积与各个最佳匹配位置覆盖区域的区域面积之间的比例关系,确定交集区域所占据的比例最大的最佳匹配位置作为目标匹配位置。

最终,将目标缩放系数和目标匹配位置结合起来,作为模板图像适配于终端的模板目标参数。

第三种实现方式,从n组模板参考参数中选择出现次数最多的缩放系数,将该缩放系数作为目标缩放系数;确定n组模板参考参数中与目标缩放系数对应的最佳匹配位置的平均值,将该平均值作为目标匹配位置;根据该目标缩放系数和目标匹配位置,确定模板图像适配终端的模板目标参数。

具体的,服务器可以从n组模板参考参数中提取缩放系数,进而统计各缩放系数对应的出现次数,将出现次数最多的缩放系数作为目标缩放系数。

进而,从n组模板参考参数中提取包括有目标缩放系数的模板参考参数,进而,根据所提出的模板参考参数中的最佳匹配位置,计算这些最佳匹配位置的平均值作为目标匹配位置;此处计算最佳匹配位置的平均值的方式可以参考上述第一种实现方式中计算最佳匹配位置的平均值的实现方式。

应理解,在实际应用中,除了可以通过上述三种实现方式确定模板图像适配终端的模板目标参数外,还可以采用其他的方式确定模板目标参数,在此不对模板目标参数的确定方式做任何限定。

步骤206:根据所述模板图像以及所述模板目标参数,对所述终端上运行所述应用的第二截屏图像进行模板匹配。

获取到模板目标参数后,服务器可以根据模板图像和所确定的模板目标参数,对该终端后续发送的第二截屏图像进行模板匹配,该第二截屏图像与第一截屏图像均对应同一应用,该第二截屏图像与第一截屏图像所对应的应用界面可以相同,也可以不同。

具体进行模板匹配时,服务器可以基于模板目标参数中的目标缩放系数,对模板图像进行缩放处理,得到用于对第二截屏图像进行模板匹配的目标模板图像;进而,根据模板目标参数中的目标匹配位置,在第二截屏图像中确定模板匹配区域,将目标模板图像对该模板匹配区域中显示的图像进行匹配,若匹配成功,则表明在该第二截屏图像中存在模板图像所对应的界面元素,反之,若匹配识别,则表明在该第二截屏图像中不存在模板图像对应的界面元素。

需要说明的是,终端的分辨率通常取决于终端自身的硬件配置,为了保证服务器在接收到硬件配置相同的终端发送的截屏图像后,不必针对每个终端所发送的截屏图像逐一执行上述步骤201至步骤205的流程,进行大量不必要的计算处理;服务器可以获取终端的硬件属性信息,进而将该终端的硬件属性信息与该终端对应的模板目标参数之间的对应关系,添加至模板目标参数配置表。

具体的,服务器可以获取终端的硬件属性信息,该硬件属性信息具体可以包括终端显示屏型号、终端型号(例如手机型号)等;确定出模板图像适配于该终端的模板目标参数后,服务器可以构建该模板目标参数与终端的硬件属性信息之间的对应关系,进而,将该对应关系添加至模板目标参数配置表中。需要说明的是,两个终端的硬件属性信息相同则表征这两个终端采用的显示屏相同,所支持的分辨率相同。

如此,每针对一个终端确定出适配于该终端的模板目标参数后,即相应地将该终端的硬件属性信息与模板目标参数之间的对应关系,存储在模板目标参数配置表中;如此,模板目标参数配置表中会存储大量的模板目标参数与终端的硬件属性信息之间的对应关系。

相应地,当服务器获取到来自另一终端的截屏图像后,可以进一步获取该终端的硬件属性信息;然后,判断模板目标参数配置表中是否有与该终端的硬件属性信息对应的模板目标参数;若有,则读取与该终端的硬件属性信息对应的模板目标参数,进而根据该模板目标参数和模板图像,对来自该终端的应用的截屏图像进行模板匹配;若否,则获取该终端应用的第一截屏图像,并返回执行步骤202至步骤205。

具体的,当另一终端向服务器发送截屏图像,请求服务器对该截屏图像进行模板匹配处理时,服务器可以先获取该终端的硬件属性信息,然后判断模板目标参数配置表中是否存储有与该硬件属性信息对应的模板目标参数;若存在,则直接利用与该终端的硬件属性信息对应的模板目标参数中的缩放系数,对模板图像进行相应地缩放处理,进而,利用缩放处理后的模板图像,对模板目标参数中的目标匹配位置处的图像进行模板匹配;反之,若不存在,则需要从该终端处获取第一截屏图像,进而,执行上述步骤202至步骤205确定与该终端对应的模板目标参数。

由此,服务器无需针对每个终端发送的截屏图像,均执行步骤202至步骤205所述的流程,大大减少了服务器所需执行的操作,同时也能够保证模板匹配的准确度。

本申请实施例提供的模板匹配方法可以应用于多种人工智能应用场景中,例如可以应用于游戏人工智能应用场景中为游戏ai提供准确的匹配结果。游戏应用中通常包括大量游戏元素,游戏应用在运行的过程中,服务器需要对各个界面上的各个游戏元素相应地进行模板匹配,并为游戏应用智能体提供模板匹配结果,以使游戏应用智能体可以根据该模板匹配结果,生成并执行合理的游戏策略,从而实现游戏应用的人机交互。

将本申请实施例提供的模板匹配方法应用于游戏应用时,上述模板图像具体指的是游戏应用中游戏元素的图像;确定出各个模板对象各自对应的模板目标参数后,服务器在接收到来自同一终端的第二截屏图像(该第二截屏图像也为该游戏应用的界面图像)时,可以基于所确定的模板目标参数和模板图像,对第二截屏图像中的各个游戏元素相应地进行模板匹配,进而生成模板匹配结果,向游戏应用的智能体发送第二截屏图像对应的模板匹配结果,以使游戏应用的智能体基于该模板匹配结果执行对应的游戏策略指令。

具体的,假设游戏应用在显示开始对战界面时,会显示连续的m帧开始对战界面图像;终端设备将这m帧开始对战界面图像中前n帧连续的开始对战界面图像发送至服务器,服务器相应地将所接收的n帧开始对战界面图像作为n幅第一截屏图像,基于这n幅第一截屏图像,分别确定vs图标、各英雄头像以及各英雄名称各自对应的模板目标参数。

终端设备进一步将第n+1帧开始对战界面图像发送至服务器,服务器将该第n+1帧开始对战界面图像作为第二截屏图像,基于所确定的vs图标对应的模板目标参数和vs图标,在该第二截屏图像中进行关于vs图标的模板匹配;相类似地,服务器还需要根据各英雄头像各自对应的模板目标参数和各英雄头像,在第二截屏图像中进行关于英雄头像的模板匹配,根据各英雄名称各自对应的模板目标参数和各英雄名称,在第二截屏图像中进行关于英雄名称的模板匹配。

服务器完成上述模板匹配过程后,将经模板匹配过程得到的模板匹配结果发送至游戏应用智能体,游戏应用智能体相应地根据所该模板匹配结果,确定对应的游戏策略指令。若经上述模板匹配过程成功匹配到vs图标、各英雄头像以及各英雄名称,则说明此时游戏对战即将开始,游戏应用智能体可以相应地基于所匹配到的英雄头像以及各英雄名称,制定本场对战的游戏策略,并生成对应于该游戏策略的游戏策略指令,在后续依据所生成的游戏策略指令进行本场游戏。

此外,服务器还可以对游戏应用的游戏对战界面进行模板匹配,若模板匹配结果表明某些技能键或攻击键处于可用状态,则游戏应用智能体可以相应地指定攻击策略,利用可用的技能键或攻击键对敌方进行攻击;若模板匹配结果表明某些技能键或攻击键处于不可用状态,则游戏应用智能体可以相应地制定逃跑策略,等等。

应理解,在实际应用中,服务器还可以相应地对游戏应用的其他界面进行模板匹配,并将模板匹配得到的模板匹配结果相应地发送给游戏应用的智能体,游戏应用的智能体可以相应地执行其他合适的游戏策略指令。

上述模板匹配方法先基于终端上运行应用的第一截屏图像,确定模板图像适配于该终端的模板目标参数,然后,根据所确定的模板目标参数和模板图像,对在该终端上运行应用的第二截屏图像进行模板匹配。相比现有技术中基于人工预置的模板参数进行模板匹配的方法,本申请提供的方法在面对分辨率不同的终端时,均可以根据该终端上运行应用的第一截屏图像,动态地确定适配于该终端的模板目标参数,从而有效地提高了对于多分辨率图像的兼容性,并且无需针对各种分辨率的终端人工标定模板参数,减少了对人工成本和时间成本的耗费。此外,本申请提供的方法在确定模板目标参数的过程中,先根据模板图像对应的标准检测区域位置在第一截屏图像中截取感兴趣区域,基于该感兴趣区域进行模板匹配,尽可能地减少模板匹配区域的大小,提高模板匹配过程的计算速度;进而,采用对应于不同缩放级别的模板子图像在感兴趣区域内进行模板匹配,基于多尺度模板子图像确定模板目标参数,保证所确定的模板目标参数的准确性,进而保证了后续模板匹配的准确性。

为了便于进一步理解本申请实施例提供的模板匹配方法,下面以本申请实施例应用于游戏应用,执行主体为服务器为例,对本申请实施例提供的模板匹配方法进行整体性说明。

首先从软件产品实现角度对本申请实施例提供的模板匹配方法的实现原理进行概括说明。

从软件实现层面来讲,针对某个模板图像对应用截屏图像进行模板匹配时,需要针对该模板创建对应的目标任务,执行该目标任务的目的就是从应用截屏图像中搜索出模板图像的区域,而为了适配终端上运行应用显示图像实际所采用的分辨率,则需要为该目标任务创建对应的参考任务,执行该参考任务的目的就是为该目标任务确定出适配的模板目标参数,基于此,在进行模板匹配时,先执行参考任务即执行上文图2所示的步骤201至205,以确定出能够适配终端运行应用时所采用的分辨率的模板目标参数,然后再执行与参考任务对应的目标任务即执行上文图2所示的步骤206,以完成模板匹配。

接下来,结合图4对本申请实施例提供的模板匹配方法应用于游戏应用场景的实现过程进行具体说明。

终端设备在运行游戏应用的过程中,获取连续的n帧开始对战界面图像,并将所获取的n帧开始对战界面图像发送至服务器。服务器接收到n帧连续的开始对战界面图像后,将这n帧连续的开始对战界面作为n幅第一截屏图像;此时,将该开始对战界面中各个游戏元素分别视为模板图像,即将开始对战界面中显示的vs图标、英雄头像和英雄名称分别作为模板图像,构建每个模板图像各自对应的参考任务,将所构建的各参考任务的状态设置为task_state_run,同时构建每个模板图像对应的目标任务,并将所构建的各目标任务的状态设置为task_state_waiting。

接下来,服务器开始执行各个参考任务;以执行对应于vs图标的参考任务为例,服务器先根据vs图标对应的标准检测区域位置,在第一截屏图像中相应地截取感兴趣区域;进而,采用每个缩放级别对应的vs图标子图像,以滑动窗口的方式对感兴趣区域中各个可能的位置逐一进行模板匹配,得到每个缩放级别对应的最佳匹配位置和匹配置信度,选择其中匹配置信度最高的缩放级别,根据该缩放级别对应的缩放系数以及最佳匹配位置作为一组模板参考参数;如此按照上述方式,确定n幅第一截屏图像各自对应的模板参考参数。

进而,服务器根据各组模板参考参数,确定vs图标适配该终端的模板目标参数;具体的,服务器可以计算各组模板参考参数中缩放系数的平均值,作为目标缩放系数,计算各组模板参考参数中最佳匹配位置的平均值,作为目标匹配位置,将计算得到的目标缩放系数和目标匹配位置作为模板目标参数。当然,服务器也可以通过其他方式,根据各组模板参考参数确定vs图标适配该终端的模板目标参数。相应地,在确定出vs图标适配于该终端的模板目标参数后,相应地更新对应于该vs图标的参考任务的状态为task_state_over。

相类似地,执行对应于英雄头像和英雄名称的参考任务时,同样可以按照上述方式确定各英雄头像适配于该终端的模板目标参数,以及各英雄名称适配于该终端的模板目标参数;并在确定出某个英雄头像对应的模板目标参数后,将对应于该英雄头像的参考任务的状态更新为task_state_over,在确定出某个英雄名称对应的模板目标参数后,将对应于该英雄名称的参考任务的状态更新为task_state_over。

需要说明的是,完成一个参考任务后,即当一个参考任务对应的状态为task_state_over时,即可相应地开启与该参考任务对应的目标任务,将该目标任务对应的状态更新为task_state_run。

以执行对应于vs图标的目标任务为例,终端获取游戏应用的另一帧应用界面图像,将该帧应用界面图像发送至服务器;服务器将该帧应用界面图像作为第二截屏图像,根据vs图标对应的模板目标参数以及vs图标,在该第二截屏图像中进行模板匹配,即利用vs图标对应的模板目标参数中的缩放系数对vs图标进行缩放处理,根据模板目标参数中的目标匹配位置,确定第二截屏图像中的检测区域,利用缩放后的vs图标与该检测区域覆盖的图像进行模板匹配。

进一步地,服务器可以将模板匹配结果发送至游戏应用智能体,以便该游戏应用智能体可以根据该模板匹配结果获知游戏进行状态,或者,根据匹配结果相应地执行游戏策略指令。例如,若服务器在第二截屏图像中成功匹配到vs图标,将该模板匹配结果发送至游戏应用智能体后,该游戏应用智能体可以相应地获知游戏即将开始;若服务器在第二截屏图像中成功匹配到各英雄头像和各英雄名称,该游戏应用智能体可以相应地获知本场游戏中我方有哪些英雄,敌方有哪些英雄,进而,可以根据英雄选择情况制定游戏策略。

发明人采用本申请实施例提供的模板匹配方法,在分辨率不同的图像中,分别确定某款游戏应用中攻击键的检测位置;如图5所示,图像501为分辨率为1280*640的图像,其中被虚线框出的区域即为采用本申请实施例提供的方法在图像501中检测到的攻击键,该区域所对应的检测位置即为在分辨率为1280*640的图像中攻击键对应的目标匹配位置;图像502为分辨率为1280*800的图像,其中被虚线框出的区域同样为采用本申请实施例提供的方法在图像502中检测到的攻击键,该区域所对应的检测位置即为在分辨率为1280*800的图像中攻击键对应的目标匹配位置。

将图像501和图像502中的检测位置分别与人工在这两种分辨率图像中标定出的标记位置进行对比,具体对比结果如表1所示。

表1

通过表1可以发现,经本申请实施例提供的方法确定出的检测位置与人工标定出的标记位置之间的位置偏差较小,所标记的检测位置对应的准确度较高;可见,利用本申请提供的模板匹配方法确定出的模板目标参数较为准确,相应地基于该模板目标参数进行模板匹配具有较高的匹配精度。

针对上文描述的模板匹配方法,本申请还提供了对应的模板匹配装置,以使上述模板匹配方法在实际中得以应用和实现。

参见图6,图6是与上文图2所示的模板匹配方法对应的一种模板匹配装置600的结构示意图,该模板匹配装置600包括:

获取模块601,用于获取终端上运行应用的第一截屏图像;

截取模块602,用于根据模板图像对应的标准检测区域位置,从所述第一截屏图像中截取感兴趣区域;

模板预处理模块603,用于采用每个缩放级别对应的模板子图像,对所述感兴趣区域进行模板匹配,得到与每个缩放级别对应的最佳匹配位置及匹配置信度;其中,所述模板子图像是根据每个缩放级别对应的缩放系数对所述模板图像进行缩放处理生成的;

模板参考参数确定模块604,用于选择匹配置信度最高的缩放级别,根据该缩放级别对应的缩放系数及最佳匹配位置作为一组模板参考参数;

模板目标参数确定模块605,用于根据所述模板参考参数,确定所述模板图像适配所述终端的模板目标参数;

图像匹配模块606,用于根据所述模板图像以及所述模板目标参数,对所述终端上运行所述应用的第二截屏图像进行模板匹配。

可选的,在图6所示的模板匹配装置的基础上,参见图7,图7为本申请实施例提供的另一种模板匹配装置700的结构示意图;其中,所述获取模块601具体用于:

获取终端上运行应用的n幅连续帧图像,作为n幅第一截屏图像,所述n为大于或者等于2的正整数;

则针对所述n幅第一截屏图像中每幅所述第一截屏图像,调用所述截取模块602、所述模板预处理模块603和所述模板参考参数确定模块604,以获得n组模板参考参数。

则所述模板目标参数确定模块605具体包括:

第一模板目标参数确定子模块701,用于根据n组模板参考参数,确定所述模板图像适配所述终端的模板目标参数。

可选的,在图7所示的模板匹配装置的基础上,所述第一模板目标参数确定子模块701具体用于:

确定所述n组模板参考参数中缩放系数的平均值,将该平均值作为目标缩放系数;

确定所述n组模板参考参数中最佳匹配位置的平均值,将该平均值作为目标匹配位置;

根据所述目标缩放系数和所述目标匹配位置,确定所述模板图像适配所述终端的模板目标参数。

可选的,在图7所示的模板匹配装置的基础上,所述第一模板目标参数确定子模块701具体用于:

从所述n组模板参考参数中选择缩放系数的中位数,将该中位数作为目标缩放系数;

从所述n组模板参考参数中选择与其他最佳匹配位置的区域面积交集最大的最佳匹配位置,将所选择的最佳匹配位置作为目标匹配位置;

根据所述目标缩放系数和所述目标匹配位置,确定所述模板图像适配所述终端的模板目标参数。

可选的,在图7所示的模板匹配装置的基础上,所述第一模板目标参数确定子模块701具体用于:

从所述n组模板参考参数中选择出现次数最多的缩放系数,将该缩放系数作为目标缩放系数;

确定所述n组模板参考参数中与所述目标缩放系数对应的最佳匹配位置的平均值,将该平均值作为目标匹配位置;

根据所述目标缩放系数和所述目标匹配位置,确定所述模板图像适配所述终端的模板目标参数。

可选的,在图6所示的模板匹配装置的基础上,参见图8,图8为本申请实施例提供的另一种模板匹配装置800的结构示意图;其中,所述获取模块601具体用于:

获取终端上运行应用的一幅第一截屏图像;

则所述模板目标参数确定模块605具体包括:

第二模板目标参数确定子模块801,用于将所述模板参考参数,作为所述模板图像适配所述终端的模板目标参数。

可选的,在图6所示的模板匹配装置的基础上,参见图9,图9为本申请实施例提供的另一种模板匹配装置900的结构示意图;所述装置还包括:

添加模块901,用于获取所述终端的硬件属性信息,并将所述终端的硬件属性信息与所述模板目标参数之间的对应关系,添加至模板目标参数配置表。

可选的,在图9所示的模板匹配装置的基础上,参见图10,图10为本申请实施例提供的另一种模板匹配装置1000的结构示意图;所述装置还包括:

信息获取模块1001,用于获取另一终端的硬件属性信息;

判断模块1002,用于判断所述模板目标参数配置表中是否有与所述另一终端的硬件属性信息对应的模板目标参数;

若是,则调用信息读取模块1003读取与所述另一终端的硬件属性信息对应的模板目标参数;进而调用所述图像匹配模块606,根据所读取到的模板目标参数和所述模板图像,对所述另一终端中所述应用的截屏图像进行模板匹配;

若否,则调用获取模块601、截取模块602、模板预处理模块603、模板参考参数确定模块604和模板目标参数确定模块605。

可选的,在图6所示的模板匹配装置的基础上,参见图11,图11为本申请实施例提供的另一种模板匹配装置1100的结构示意图;所述应用为游戏应用,所述模板图像为所述游戏应用中游戏元素的图像;

则所述装置还包括:

发送模块1101,用于向所述游戏应用的智能体发送所述第二截屏图像对应的模板匹配结果,以使所述游戏应用的智能体基于所述模板匹配结果执行对应的游戏策略指令。

可选的,在图6所示的模板匹配装置的基础上,所述截取模块602具体用于:

根据模板图像对应的标准检测区域位置,确定参考区域的位置,所述参考区域的位置范围涵盖标准检测区域的位置范围;

根据所述参考区域的位置从所述第一截屏图像中截取感兴趣区域。

上述模板匹配装置先基于终端上运行应用的第一截屏图像,确定模板图像适配于该终端的模板目标参数,然后,根据所确定的模板目标参数和模板图像,对在该终端上运行应用的第二截屏图像进行模板匹配。相比现有技术中基于人工预置的模板参数进行模板匹配的方法,本申请提供的装置在面对分辨率不同的终端时,均可以根据该终端上运行应用的第一截屏图像,动态地确定适配于该终端的模板目标参数,从而有效地提高了对于多分辨率图像的兼容性,并且无需针对各种分辨率的终端人工标定模板参数,减少了对人工成本和时间成本的耗费。此外,本申请提供的装置在确定模板目标参数的过程中,先根据模板图像对应的标准检测区域位置在第一截屏图像中截取感兴趣区域,基于该感兴趣区域进行模板匹配,尽可能地减少模板匹配区域的大小,提高模板匹配过程的计算速度;进而,采用对应于不同缩放级别的模板子图像在感兴趣区域内进行模板匹配,基于多尺度模板子图像确定模板目标参数,保证所确定的模板目标参数的准确性,进而保证了后续模板匹配的准确性。

本申请还提供了一种用于进行模板匹配的设备,该设备具体可以为服务器,参见图12,图12是本申请实施例提供的一种用于训练分类模型的服务器结构示意图,该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)1222(例如,一个或一个以上处理器)和存储器1232,一个或一个以上存储应用程序1242或数据1244的存储介质1230(例如一个或一个以上海量存储设备)。其中,存储器1232和存储介质1230可以是短暂存储或持久存储。存储在存储介质1230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1222可以设置为与存储介质1230通信,在服务器1200上执行存储介质1230中的一系列指令操作。

服务器1200还可以包括一个或一个以上电源1226,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1258,和/或,一个或一个以上操作系统1241,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述实施例中由服务器所执行的步骤可以基于该图12所示的服务器结构。

其中,cpu1222用于执行如下步骤:

获取终端上运行应用的第一截屏图像;

根据模板图像对应的标准检测区域位置,从所述第一截屏图像中截取感兴趣区域;

采用每个缩放级别对应的模板子图像,对所述感兴趣区域进行模板匹配,得到与每个缩放级别对应的最佳匹配位置及匹配置信度;其中,所述模板子图像是根据每个缩放级别对应的缩放系数对所述模板图像进行缩放处理生成的;

选择匹配置信度最高的缩放级别,根据该缩放级别对应的缩放系数及最佳匹配位置作为一组模板参考参数;

根据所述模板参考参数,确定所述模板图像适配所述终端的模板目标参数;

根据所述模板图像以及所述模板目标参数,对所述终端上运行所述应用的第二截屏图像进行模板匹配。

可选的,cpu1222还可以执行本申请实施例中模板匹配方法任一具体实现方式的方法步骤。

本申请实施例还提供了另一种用于进行模板匹配的设备,该设备可以为终端设备,如图13所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:personaldigitalassistant,英文缩写:pda)、销售终端(英文全称:pointofsales,英文缩写:pos)、车载电脑等任意终端设备,以终端为手机为例:

图13示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图13,手机包括:射频(英文全称:radiofrequency,英文缩写:rf)电路1310、存储器1320、输入单元1330、显示单元1340、传感器1350、音频电路1360、无线保真(英文全称:wirelessfidelity,英文缩写:wifi)模块1070、处理器1380、以及电源1390等部件;其中,输入单元1330中包括输入面板1331和其他输入设备1332,显示单元1340中包括显示面板1341,音频电路1360中包括扬声器1361和传声器1362。

本领域技术人员可以理解,图13中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

在本申请实施例中,该终端所包括的处理器1380具有以下功能:

获取终端上运行应用的第一截屏图像;

根据模板图像对应的标准检测区域位置,从所述第一截屏图像中截取感兴趣区域;

采用每个缩放级别对应的模板子图像,对所述感兴趣区域进行模板匹配,得到与每个缩放级别对应的最佳匹配位置及匹配置信度;其中,所述模板子图像是根据每个缩放级别对应的缩放系数对所述模板图像进行缩放处理生成的;

选择匹配置信度最高的缩放级别,根据该缩放级别对应的缩放系数及最佳匹配位置作为一组模板参考参数;

根据所述模板参考参数,确定所述模板图像适配所述终端的模板目标参数;

根据所述模板图像以及所述模板目标参数,对所述终端上运行所述应用的第二截屏图像进行模板匹配。

可选的,处理器1380还可以执行本申请实施例中模板匹配方法任一具体实现方式的方法步骤。

本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种模板匹配方法中的任意一种实施方式。

本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种模板匹配方法中的任意一种实施方式。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-onlymemory,英文缩写:rom)、随机存取存储器(英文全称:randomaccessmemory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1