CN110032964B - 图像处理方法、识别视角的方法、装置、设备和存储介质 - Google Patents

图像处理方法、识别视角的方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN110032964B
CN110032964B CN201910277923.4A CN201910277923A CN110032964B CN 110032964 B CN110032964 B CN 110032964B CN 201910277923 A CN201910277923 A CN 201910277923A CN 110032964 B CN110032964 B CN 110032964B
Authority
CN
China
Prior art keywords
pixel point
image
pixel
value
pixel value
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.)
Active
Application number
CN201910277923.4A
Other languages
English (en)
Other versions
CN110032964A (zh
Inventor
李旭冬
王洁梅
周大军
张力柯
荆彦青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Chengdu Co Ltd
Original Assignee
Tencent Technology Chengdu Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Chengdu Co Ltd filed Critical Tencent Technology Chengdu Co Ltd
Priority to CN201910277923.4A priority Critical patent/CN110032964B/zh
Publication of CN110032964A publication Critical patent/CN110032964A/zh
Application granted granted Critical
Publication of CN110032964B publication Critical patent/CN110032964B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5378Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for displaying an additional top view, e.g. radar screens or maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes

Abstract

本申请提供了一种图像处理方法、识别视角的方法、装置、设备和存储介质,其中所述图像处理方法包括:确定待识别图像中各个原始像素点相对于相邻像素点的像素值的变化幅度;确定像素值的变化幅度满足变化幅度条件的第一目标像素点;确定所述第一目标像素点相对于自身的相邻像素点的像素值的变化方向;将所述第一目标像素点的像素值的变化方向,与图像模板中相应位置的像素点的像素值的变化方向比较,以确定与所述待识别图像匹配的图像模板。本申请能够提高图像匹配的效率和准确度。

Description

图像处理方法、识别视角的方法、装置、设备和存储介质
技术领域
本申请涉及图像处理技术,尤其涉及一种图像处理方法、识别视角的方法、装置、设备和存储介质。
背景技术
随着科学技术的发展,图像匹配和图像识别成为图像处理研究中很重要的环节。图像匹配和图像识别在计算机视觉、场景重建、医疗诊断等诸多领域有广泛的应用。然而,目前图像匹配技术计算量大且容易受到背景或噪声的影响,精度上存在不足;并且依赖先验经验选取的参数,也不便于实时应用。
发明内容
本申请实施例提供一种图像处理方法、识别视角的方法、装置、设备和存储介质,能够提高图像匹配处理的效率和准确度。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种图像处理方法,包括:
确定待识别图像中各个原始像素点相对于自身的相邻像素点的像素值的变化幅度;
确定像素值的变化幅度满足变化幅度条件的第一目标像素点;
确定所述第一目标像素点相对于自身的相邻像素点的像素值的变化方向;
将所述第一目标像素点的像素值的变化方向,与图像模板中相应位置的像素点的像素值的变化方向比较,以确定与所述待识别图像匹配的图像模板。
在上述方案中,所述确定待识别图像中各个原始像素点相对于自身的相邻像素点的像素值的变化幅度,包括:
确定所述待识别图像中各个原始像素点相对于自身不同方向上的相邻像素点的像素值的变化幅度;
融合所述相对于不同方向上的相邻像素点的像素值的变化幅度,得到所述各个像素点相对于自身的相邻像素点的像素值的变化幅度。
在上述方案中,所述方法还包括:
确定所述第一目标像素点相对于自身的相邻像素点的像素值的变化方向之前,将所述待识别图像中各个像素点的像素值的变化幅度与变化幅度阈值进行比较,以保留超出变化幅度阈值的像素点的像素值的变化幅度;
将未超出所述变化幅度阈值的像素点的像素值的变化幅度,统一置为第一值,其中,所述第一值小于所述变化幅度阈值。
在上述方案中,所述确定所述第一目标像素点相对于自身的相邻像素点的像素值的变化方向,包括:
比较所述第一目标像素点在不同方向的像素值的变化幅度,以确定最大像素值的变化幅度对应的方向;
将所述最大像素值的变化幅度对应的方向进行量化,得到与所述第一目标像素点对应的所述像素值的变化方向。
在上述方案中,所述方法还包括:
确定与所述待识别图像匹配的图像模板之前,
确定所述待识别图像中与所述第一目标像素点小于距离阈值的像素点;
将所确定的像素点标记为新的第一目标像素点,且标记所述新的第一目标像素点与所组合的像素点具有相同的像素值的变化方向。
在上述方案中,所述基于所述待识别图像中各个第一目标像素点的像素值的变化方向,与图像模板中相应位置的像素点的像素值的变化方向进行比较,包括:
确定所述待识别图像中各个第一目标像素点的像素值的变化方向、与所述图像模板中相应位置的像素点的像素值的变化方向之间的相似度;
融合所述待识别图像中各个第一目标像素点对应的相似度,得到所述待识别图像与所述图像模板之间的相似度。
在上述方案中,所述方法还包括:
当所述待识别图像中包括图形控件的成像,且所述图形控件用于指示虚拟场景中受控对象的图形化可视区域时,
获取所述匹配的图像模板中记录的角度,并确定为所述受控对象在所述虚拟场景中的视角。
在上述方案中,所述方法还包括:
将原始的参考图像进行不同角度的旋转,得到新的参考图像;
将原始的所述参考图像关联的视角与所述旋转同步,得到所述新的参考图像关联的视角;
确定各个所述参考图像中像素点的像素值的变化方向;
基于各个所述参考图像中像素点的像素值的变化方向、关联的视角,组合形成相应参考图像的图像模板。
在上述方案中,所述方法还包括:
将原始的参考图像进行不同角度的旋转之前,将所述参考图像转换为二值化参考图像。
在上述方案中,所述将所述参考图像转换为二值化参考图像,包括:
将所述参考图像中处于视野范围内的像素点的像素值置为第二值;
将所述参考图像中视野范围之外的像素点的像素值置为第三值;
其中,所述第二值与所述第三值不同。
在上述方案中,所述确定各个所述参考图像中像素点的像素值的变化方向,包括:
确定二值化的所述各个参考图像中的第二目标像素点,所述第二目标像素点的像素值的变化幅度超出变化幅度阈值;
确定所述第二目标像素点相对于相邻像素点的像素值的变化方向。
在上述方案中,所述基于各个所述参考图像中像素点的像素值的变化方向、关联的视角,组合形成相应参考图像的图像模板,包括:
基于所述各个参考图像中的第二目标像素点的像素值的变化方向,将所述各个参考图像中的第二目标像素点按照预设步长进行稀疏化处理;
将稀疏化处理后得到的第二目标像素点的像素值的变化方向、位置和关联的视角,组合形成相应参考图像的图像模板。
在上述方案中,将参考图像中的第二目标像素点按照预设步长进行稀疏化处理,包括:
确定所述参考图像中的参考像素点,所述参考像素点是像素值的变化方向大于变化方向阈值的所述第二目标像素点;
清除与所述参考像素点的距离小于所述预设步长的第二目标像素点。
本申请实施例提供一种识别视角的方法,包括:
加载包括受控对象的虚拟场景、以及指示所述受控对象在所述虚拟场景中的图形化可视区域的图形控件;
采集包括所述图像控件的图像;
基于所采集图像中像素点的像素值的变化幅度以及像素值的变化方向,确定匹配的图像模板;
将匹配的图像模板所预关联的角度,加载为所述受控对象在所述虚拟场景中所具有的视角。
在上述方案中,所述方法还包括:
获取所述虚拟场景中目标位置的位置信息;
基于所述受控对象在所述虚拟场景中所具有的视角和所述位置信息,确定所述受控对象的移动方向和移动角度;
控制所述受控对象基于所述移动方向和移动角度进行移动。
本申请实施例提供一种图像处理装置,包括:
第一确定单元,用于确定待识别图像中各个原始像素点相对于自身的相邻像素点的像素值的变化幅度;
第二确定单元,用于确定像素值的变化幅度满足变化幅度条件的第一目标像素点;
第三确定单元,用于确定所述第一目标像素点相对于自身的相邻像素点的像素值的变化方向;
第一比较单元,用于将所述第一目标像素点的像素值的变化方向,与图像模板中相应位置的像素点的像素值的变化方向比较,以确定与所述待识别图像匹配的图像模板。
在上述方案中,所述第一确定单元,包括:
第一确定模块,确定所述待识别图像中各个原始像素点相对于自身不同方向上的相邻像素点的像素值的变化幅度;
第一融合模块,用于融合所述相对于不同方向上的相邻像素点的像素值的变化幅度,得到所述各个像素点相对于自身的相邻像素点的像素值的变化幅度。
在上述方案中,所述装置还包括:
第二比较单元,用于确定与所述待识别图像匹配的图像模板之前,将所述待识别图像中各个像素点的像素值的变化幅度与变化幅度阈值进行比较,以保留超出变化幅度阈值的像素点的像素值的变化幅度;
第一设置单元,用于将未超出所述变化幅度阈值的像素点的像素值的变化幅度,统一置为第一值,其中,所述第一值小于所述变化幅度阈值。
在上述方案中,所述第三确定单元,包括:
第一比较模块,用于比较所述第一目标像素点在不同方向的像素值的变化幅度,以确定最大像素值的变化幅度对应的方向;
量化模块,用于将所述最大像素值的变化幅度对应的方向进行量化,得到与所述第一目标像素点对应的所述像素值的变化方向。
在上述方案中,所述装置还包括:
第四确定单元,用于确定与所述待识别图像匹配的图像模板之前,
第五确定单元,用于确定所述待识别图像中与所述第一目标像素点小于距离阈值的像素点;
标记单元,用于将所确定的像素点标记为新的目标像素点,且标记所述新的目标像素点与所组合的像素点具有相同的像素值的变化方向。
在上述方案中,所述第一比较单元,包括:
第二确定模块,用于确定所述待识别图像中各个像素点的像素值的变化方向、与所述图像模板中相应位置的像素点的像素值的变化方向之间的相似度;
第二融合模块,用于融合所述待识别图像中各个像素点对应的相似度,得到所述待识别图像与所述图像模板之间的相似度。
在上述方案中,所述装置还包括:
第一获取单元,用于当所述待识别图像中包括图形控件的成像,且所述图形控件用于指示虚拟场景中受控对象的图形化可视区域时,
获取所述匹配的图像模板中记录的角度,并确定为所述受控对象在所述虚拟场景中的视角。
在上述方案中,所述装置还包括:
第一旋转单元,用于将原始的参考图像进行不同角度的旋转,得到新的参考图像;
同步单元,用于将原始的所述参考图像关联的视角与所述旋转同步,得到所述新的参考图像关联的视角;
第六确定单元,用于确定各个所述参考图像中像素点的像素值的变化方向;
构造模板单元,用于基于各个所述参考图像中像素点的像素值的变化方向、关联的视角,组合形成相应参考图像的图像模板。
在上述方案中,所述装置还包括:
转换单元,用于将原始的参考图像进行不同角度的旋转之前,将所述参考图像转换为二值化参考图像。
在上述方案中,所述转换单元包括:
第二设置模块,用于将所述参考图像中处于视野范围内的像素点的像素值置为第二值;
第三设置模块,用于将所述参考图像中视野范围之外的像素点的像素值置为第三值;
其中,所述第二值与所述第三值不同。
在上述方案中,所述第六确定单元,包括:
第三确定模块,用于确定二值化的所述各个参考图像中的第二目标像素点,所述第二目标像素点的像素值的变化幅度超出变化幅度阈值;
第四确定模块,用于确定所述第二目标像素点相对于自身的相邻像素点的像素值的变化方向。
在上述方案中,所述构造模板单元包括:
稀疏化模块,用于基于所述各个参考图像中的第二目标像素点的像素值的变化方向,将所述各个参考图像中的第二目标像素点按照预设步长进行稀疏化处理处理;
构造模块,用于将稀疏化处理后得到的第二目标像素点的像素值的变化方向、位置和关联的视角,组合形成相应参考图像的图像模板。
在上述方案中,所述稀疏化模块,包括:
确定子模块,用于确定所述参考图像中的参考像素点,所述参考像素点是像素值的变化方向大于变化方向阈值的所述第二目标像素点;
清除子模块,用于清除与所述参考像素点的距离小于所述预设步长的第二目标像素点。
本申请实施例提供一种识别视角的装置,包括:
第一加载单元,用于加载包括受控对象的虚拟场景、以及指示所述受控对象在所述虚拟场景中的图形化可视区域的图形控件;
采集单元,用于采集包括所述图像控件的图像;
第七确定单元,用于基于所采集图像中像素点的像素值的变化幅度以及像素值的变化方向,确定匹配的图像模板;
第二加载单元,用于将匹配的图像模板所预关联的角度,加载为所述受控对象在所述虚拟场景中所具有的视角。
在上述方案中,所述装置还包括:
第二获取单元,用于获取所述虚拟场景中目标位置的位置信息;
第八确定单元,用于基于所述受控对象在所述虚拟场景中所具有的视角和所述位置信息,确定所述受控对象的移动方向和移动角度;
控制单元,用于控制所述受控对象基于所述移动方向和移动角度进行移动。
本申请实施例提供一种图像处理设备,包括:
存储器,用于存储图像处理程序;
处理器,用于执行存储器中存储的图像处理程序,以实现本申请实施例提供的图像处理方法。
本申请实施例提供一种识别视角的设备,包括:
存储器,用于存储识别视角的程序;
处理器,用于执行存储器中存储的识别视角的程序,以实现本申请实施例提供的识别视角的方法。
本申请实施例提供一种存储介质,所述存储介质上存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的图像处理方法或识别视角的方法。
本申请实施例的图像处理是基于所采集图像中像素点的像素值的变化幅度以及像素值的变化方向,由于像素点的像素值的变化幅度和像素值的变化方向是仅与相邻像素点有关,因此不受图像的背景的影响,同时局部像素的噪声也不会产生明显的影响,从而具有良好的抗干扰能力,因此基于像素值的变化幅度和像素值的变化方向能有效提高图像识别的准确度和效率。
附图说明
图1A为本申请实施例确定像素值变化幅度的示意图;
图1B为参照像素点在不同方向的像素值变化幅度示意图;
图1C为本申请实施例提供的应用场景示意图;
图1D为本申请实施例提供的应用场景的又一示意图;
图2是本申请实施例提供的装置的一个可选的结构示意图;
图3为本申请实施例提供的图像处理方法的实现流程示意图;
图4为本申请实施例确定与所述待识别图像匹配的图像模板的实现流程示意图;
图5为本申请实施例根据参考图像制作图像模板的实现流程示意图;
图6A为本申请实施例识别视角的方法的实现流程示意图;
图6B为本申请实施例虚拟场景的示意图;
图6C为本申请实施例从虚拟场景中截取出图形控件的图像示意图;
图6D为本申请实施例在图形控件中加载视角的界面示意图;
图7A为本申请实施例基于梯度匹配的视角识别方法的实现流程示意图;
图7B为利用本申请实施例提供的方法进行小地图视角识别的效果示意图;
图7C为本申请实施例基于梯度匹配的视角识别方法的又一实现流程示意图;
图8为本申请实施例将小地图二值化的示意图;
图9为本申请实施例通过旋转图像得到的36个模板图像的示意图;
图10为本申请实施例选择稀疏梯度点的示意图;
图11为本申请实施例扩展梯度角度的示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)视野角度,简称视角,视线在视角的取值范围是特定方向(例如顺时针或逆时针)的0度至360度。
2)视野范围,以特定方位在环境中感知景物的视角的取值范围。
3)像素值的变化幅度,是对于所参照的像素点(简称为参照像素点)而言,参照像素点相对于该参照像素点的相邻像素点的像素值的差异。在下文中将像素值的变化幅度简称为像素值变化幅度。
一个像素的相邻像素点,可以是指与该像素点距离相差在一定范围内的像素点,该范围可以是以像素点的数量表示,例如当该范围为一个像素点距离,那么当一个像素点的坐标为(x,y)时,与该像素点相邻的像素点是坐标为(x,y+1),(x+1,y),(x-1,y),(x,y-1)的像素点。当该范围为两个像素点距离,那么当一个像素点的坐标为(x,y)时,与该像素点相邻的像素点是坐标为(x,y+1),(x+1,y),(x-1,y),(x,y-1),(x,y+2),(x+2,y),(x-2,y),(x,y-2)。在本申请实施例中,可以是采用一个像素点距离的范围。
图1A为本申请实施例确定像素值变化幅度的示意图,x方向如图1A所示,121所示的为各个像素点的像素值,122所示的为各个像素点在x方向的像素值变化幅度。根据图1A所示,一个像素点在x方向上的像素值变化幅度,可以认为是该像素点的像素值减去x方向上相邻的像素点的像素值。
一个像素点的像素值变化幅度可以是融合了该像素点相对于不同方向上的相邻像素点的像素值变化幅度像素值变化幅度,例如可以是融合x方向和y方向上的像素值变化幅度。假设一个参照像素点的像素值为80,该参照像素点在x方向上的像素值变化幅度为30,该参照像素点在y方向上的像素值变化幅度为40,该参照像素点的像素值变化幅度是将30和40按照预设算法进行计算得到的,该预设算法可以是求平均,还可以是利用勾股定理进行融合。
4)像素值的变化方向,是指对于所参照的像素点而言,参照像素点相对于不同方向上的相邻像素点(即与参照像素点相邻的像素点)中像素值差异最大的方向。在下文中将像素值的变化方向简称为像素值变化方向。
在一些实施例中,像素值变化方向还可以是将像素值差异最大的方向进行量化得到的方向。像素值变化方向可以用角度表示。
图1B为参照像素点在不同方向的像素值变化幅度示意图,如图1B所示,参照像素点O,在A、B、C、D、E、F、G、H方向上的像素值变化幅度分别为10、70、20、70、-70、30、80、30,那么参照像素点O在G方向上像素值变化幅度最大,则参照像素点O的像素值变化方向可以为G方向。还可以是将G方向按照一定的量化规则进行量化得到的方向。例如,G方向为271°,量化规则为四舍五入,那么将G方向进行量化后为270°,也就是说参照像素点O的像素值变化方向为270°。
需要说明的是,图1B仅仅对不同方向进行示例,在实际应用中,还可以划分为更多的方向,例如可划分为18个方向、36个方向,甚至更多。另外,像素值差值最大的方向可以认为是像素值变化幅度的绝对值最大的方向。
在本申请实施例中,当划分的方向为两个,且是互相垂直时,像素值变化方向可以是对两个方向上像素值变化幅度的比值求反正切得到的。
5)图像模板,进行图像匹配时采用的模板,图像模板可以采用文件形式,包括用以识别图像的特性。
6)参考图像,制作图像模板时所参考的图像,可以认为是虚拟场景中用于指示受控对象的图形化视野范围的图形控件的图像。
7)虚拟场景,计算机技术实现的数字化场景,例如游戏场景。
8)受控对象,即被控制的对象,例如在游戏中被玩家所控制的角色。
为了更好地理解本申请实施例中提供的用于进行小地图视角识别的图像处理方法,首先对相关技术中的几种小地图视角识别方案及存在的缺点进行说明。
第一、基于像素匹配的小地图视角识别方案。
基于像素匹配的小地图视角识别方案会预先收集大量的小地图,标记图像中视野的角度,作为视角模板库。在视角识别时,将游戏图像中的小地图与视角模板库的图像进行像素级别的匹配,将匹配度最高的模板图像的角度作为小地图的视野角度。
基于像素匹配的小地图视角识别方案主要有三个缺点:第一点,需要收集所有视角的模板图像,如果将视角按1°划分,则需要360个不同的模板图像;第二点,图像标注困难,从图像上看,相邻角度的视角非常难以判别,人工标注误差较大;第三点,相似度的计算方式采用原始图像的像素匹配,当小地图的背景发生变化时,小地图难以与模板图像匹配上,导致无法识别视角。
第二、基于边缘检测的小地图视角识别方案
基于边缘检测的小地图视角识别方案是首先检测游戏图像中小地图的边缘,其次选择两条最长的边缘作为视野的两条边界,然后计算两条边界的角度,最后将两个角度的平均值作为小地图的视野角度。
基于边缘检测的小地图视角识别方案的主要缺点是边缘检测容易受到小地图中背景的干扰,检测到其他直线。如果小地图中有道路等直线物体,那么可能将道路的直线作为视野的边界,导致视角识别错误。
第三、基于深度学习的小地图视角识别方案
基于深度学习的小地图视角识别方案会预先收集大量的小地图,标记图像中视野的角度,作为训练集,训练一个分类网络,每个类别表示一个视野角度。在识别视角时,将游戏图像的小地图输入到分类网络中,输出一个图像类别,作为小地图的视野角度。
基于深度学习的小地图视角识别方案主要有两个缺点:第一点,训练集难以建立,不仅要收集大量的小地图,还要准确地标记视角作为图像类别,需要耗费相当多的人力。第二点,由于相近视角图像的相似度较大,图像类别间的差距较小,导致分类网络训练过程中训练误差难以下降,最终视角识别的错误率较高。
针对上述的技术问题,本申请实施例提供一种图像处理方法,基于所采集图像(小地图)中像素点的像素值变化幅度以及像素值变化方向,确定与所采集图像相匹配的图像模板,进而根据图像模板关联的角度确定所采集图像的视野角度。
下面说明实现本申请实施例的装置的示例性应用,本申请实施例提供的装置可以实施为移动电话(手机)、平板电脑、笔记本电脑等具有无线通信能力的移动终端,还可以实施为不便移动的具有计算功能的台式计算机、桌面电脑等。另外,本申请实施提供的装置也可以实施为服务器,服务器可以是指一台服务器,也可以是由多台服务器构成的服务器集群、云计算中心等等,在此不加以限定。
参见图1C,图1C为本申请实施例提供的应用场景示意图,为实现支撑一个示例性应用,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
终端400中可以安装有视频类应用程序(Application,App),还可以安装有游戏类App、购物类App等,用户可以通过终端中的图形界面410进行诸如观看视频、打游戏、在线购物等娱乐活动。
当用户利用终端在线打游戏时,终端从服务器中获取到游戏的各个图像帧并在终端上显示,这里在获取到的图像帧中可以包括虚拟场景、受控对象和小地图,受控对象也可以认为是玩家角色。终端中可以存储有进行小地图视角识别时所需要的图像模板,并且每个图像模板中包括该图像模板所表征的视角。当用户需要确定如何规划玩家角色的移动路线时,首先需要确定玩家角色当前的朝向,也即玩家角色的视角。此时可以通过当前图像帧中的小地图,与自身存储的图像模板,基于像素值变化方向来进行图像匹配,确定与当前小地图匹配的图像模板,进而根据图像模板所关联的视角确定玩家角色的视角,然后可以在终端的图形界面上显示该视角,以使得用户可以根据玩家角色的视角规划移动路线。
图1D为本申请实施例提供的应用场景的又一示意图。在图1D中所示的应用场景中,进行小地图视角识别时所需要的图像模板存储在服务器中,那么当用户在线打游戏时,服务器会基于图像帧中的小地图和图像模板确定与小地图相匹配的图像模板,从而根据与小地图相匹配的图像模板所关联的视角确定玩家角色的视角,然后可以将该玩家角色的视角和图像帧发送给终端,以便在终端的图形界面上显示包括玩家视角的图像帧,这样就可以使得用户根据玩家角色的视角来规划移动路线。
在其他实施例中,当用户离线打游戏时,那么终端中包括游戏数据和进行小地图视角识别的图像模板,终端获取当前图形界面410中显示的图像帧,并采集其中包括的小地图,然后与自身存储的图像模板,基于像素值变化方向来进行图像匹配,确定与当前小地图匹配的图像模板,进而根据图像模板所关联的视角确定玩家角色的视角,然后可以在终端的图形界面上显示该视角,以使得用户可以根据玩家角色的视角规划移动路线。
本申请实施例提供的装置可以实施为硬件或者软硬件结合的方式,下面说明本申请实施例提供的装置的各种示例性实施。
参见图2,图2是本申请实施例提供的终端400一个可选的结构示意图,终端400可以是移动电话、计算机、数字广播终端、信息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等根据终端400的结构,可以预见装置实施为服务器时的示例性结构,因此这里所描述的结构不应视为限制,例如可以省略下文所描述的部分组件,或者,增设下文所未记载的组件以适应某些应用的特殊需求。
图2所示的终端400包括:至少一个处理器410、存储器440、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统450耦合在一起。可理解,总线系统450用于实现这些组件之间的连接通信。总线系统450除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统450。
用户接口430可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
存储器440可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。本申请实施例描述的存储器440旨在包括任意适合类型的存储器。
本申请实施例中的存储器440能够存储数据以支持终端400的操作。这些数据的示例包括:用于在终端400上操作的任何计算机程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。
作为本申请实施例提供的方法采用软硬件结合实施的示例,本申请实施例所提供的方法可以直接体现为由处理器410执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器440,处理器410读取存储器440中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器410以及连接到总线450的其他组件)完成本申请实施例提供的方法。
作为示例,处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
下面说明软件模块的示例性结构,在一些实施例中,如图2所示,装置440中的软件模块可以包括:第一确定单元441,用于确定待识别图像中各个原始像素点相对于自身的相邻像素点的像素值变化幅度;第二确定单元442,用于确定像素值变化幅度满足变化幅度条件的第一目标像素点;第三确定单元443,用于确定所述第一目标像素点相对于自身的相邻像素点的像素值变化方向;第一比较单元444,用于将所述第一目标像素点的像素值变化方向,与图像模板中相应位置的像素点的像素值变化方向比较,以确定与所述待识别图像匹配的图像模板。
在其他实施例中,所述第一确定单元,包括:第一确定模块,确定所述待识别图像中各个原始像素点相对于自身不同方向上的相邻像素点的像素值变化幅度;第一融合模块,用于融合所述相对于不同方向上的相邻像素点的像素值变化幅度,得到所述各个像素点相对于自身的相邻像素点的像素值变化幅度。
在其他实施例中,所述装置还包括:第二比较单元,用于确定与所述待识别图像匹配的图像模板之前,将所述待识别图像中各个像素点的像素值变化幅度与变化幅度阈值进行比较,以保留超出变化幅度阈值的像素点的像素值变化幅度;第一设置单元,用于将未超出所述变化幅度阈值的像素点的像素值变化幅度,统一置为第一值,其中,所述第一值小于所述变化幅度阈值。
在其他实施例中,所述第三确定单元,包括:第一比较模块,用于比较所述第一目标像素点在不同方向的像素值变化幅度,以确定最大像素值变化幅度对应的方向;量化模块,用于将所述最大像素值变化幅度对应的方向进行量化,得到与所述第一目标像素点对应的所述像素值变化方向。
在其他实施例中,所述装置还包括:第四确定单元,用于确定与所述待识别图像匹配的图像模板之前,第五确定单元,用于确定所述待识别图像中与所述第一目标像素点小于距离阈值的像素点;标记单元,用于将所确定的像素点标记为新的目标像素点,且标记所述新的目标像素点与所组合的像素点具有相同的像素值变化方向。
在其他实施例中,所述第一比较单元,包括:第二确定模块,用于确定所述待识别图像中各个像素点的像素值变化方向、与所述图像模板中相应位置的像素点的像素值变化方向之间的相似度;第二融合模块,用于融合所述待识别图像中各个像素点对应的相似度,得到所述待识别图像与所述图像模板之间的相似度。
在其他实施例中,所述装置还包括:第一获取单元,用于当所述待识别图像中包括图形控件的成像,且所述图形控件用于指示虚拟场景中受控对象的图形化可视区域时,获取所述匹配的图像模板中记录的角度,并确定为所述受控对象在所述虚拟场景中的视角。
在其他实施例中,所述装置还包括:第一旋转单元,用于将原始的参考图像进行不同角度的旋转,得到新的参考图像;同步单元,用于将原始的所述参考图像关联的视角与所述旋转同步,得到所述新的参考图像关联的视角;第六确定单元,用于确定各个所述参考图像中像素点的像素值变化方向;构造模板单元,用于基于各个所述参考图像中像素点的像素值变化方向、关联的视角,组合形成相应参考图像的图像模板。
在其他实施例中,所述装置还包括:转换单元,用于将原始的参考图像进行不同角度的旋转之前,将所述参考图像转换为二值化参考图像。
在其他实施例中,所述转换单元包括:第二设置模块,用于将所述参考图像中处于视野范围内的像素点的像素值置为第二值;第三设置模块,用于将所述参考图像中视野范围之外的像素点的像素值置为第三值;其中,所述第二值与所述第三值不同。
在其他实施例中,所述第六确定单元,包括:第三确定模块,用于确定二值化的所述各个参考图像中的第二目标像素点,所述第二目标像素点的像素值变化幅度超出变化幅度阈值;第四确定模块,用于确定所述第二目标像素点相对于自身的相邻像素点的像素值变化方向。
在其他实施例中,所述构造模板单元包括:稀疏化模块,用于基于所述各个参考图像中的第二目标像素点的像素值变化方向,将所述各个参考图像中的第二目标像素点按照预设步长进行稀疏化处理;构造模块,用于将稀疏化处理后得到的第二目标像素点的像素值变化方向、位置和关联的视角,组合形成相应参考图像的图像模板。
在其他实施例中,所述稀疏化模块,包括:第一获取子模块,用于获取各个参考图像中像素值变化方向大于像素值变化阈值的第三目标像素点;设置子模块,用于将所述二值化参考图像中与所述第三目标像素点的距离小于预设步长的像素点的像素值变化方向置为第四值,其中,所述第四值小于所述像素值变化阈值;第二获取子模块,用于获取下一个像素值变化方向大于像素值变化阈值的第三目标像素点,直至遍历完所述二值化的各个参考图像。
在一些实施例中,装置440还可以包括:第一加载单元,用于加载包括受控对象的虚拟场景、以及指示所述受控对象在所述虚拟场景中的图形化可视区域的图形控件;采集单元,用于采集包括所述图像控件的图像;第七确定单元,用于基于所采集图像中像素点的像素值变化幅度以及像素值变化方向,确定匹配的图像模板;第二加载单元,用于将匹配的图像模板所预关联的角度,加载为所述受控对象在所述虚拟场景中所具有的视角。
在其他实施例中,该识别视角的装置还包括:第二获取单元,用于获取所述虚拟场景中目标位置的位置信息;第八确定单元,用于基于所述受控对象在所述虚拟场景中所具有的视角和所述位置信息,确定所述受控对象的移动方向和移动角度;控制单元,用于控制所述受控对象基于所述移动方向和移动角度进行移动。
作为本申请实施例提供的方法采用硬件实施的示例,本申请实施例所提供的方法可以直接采用硬件译码处理器形式的处理器410来执行完成,例如,被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circui t)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex ProgrammableLogic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件执行实现本申请实施例提供的方法。
将结合前述的实现本申请实施例的装置的示例性应用和实施,说明实现本申请实施例的方法。
参见图3,图3为本申请实施例提供的图像处理方法的实现流程示意图,将结合图3示出的步骤进行说明。在本申请各实施例中,图像处理设备可以是如图1中所示的服务器,还可以是如图1所示的终端。
步骤S101,图像处理设备确定待识别图像中各个原始像素点相对于自身的相邻像素点的像素值变化幅度。
这里,待识别图像中可以包括图形控件的成像,且所述图形控件可以是用于指示虚拟场景中受控对象的图形化可视区域。例如当待识别图像为游戏图像帧时,图形控件可以是指游戏图像帧中的小地图。在一些实施例中,待识别图像还可以是导航应用中的图像帧,该图像帧中也包括显示一个预定区域的小地图。
原始像素点可以是待识别图像中本身存在的像素点。一个原始像素点相对于自身相邻的像素点的像素值变化幅度,即为该原始像素点相对于与该原始像素点相邻的像素点的像素值变化幅度。该像素值变化幅度能够标识该原始像素点与相邻像素点之间的像素差异大小。
在一些实施例中,可以通过这样的方式来实现上述的步骤S101:首先确定待识别图像中各个原始像素点相对于自身不同方向上的相邻像素点的像素值变化幅度,然后再融合所述相对于不同方向上的相邻像素点的像素值变化幅度,得到所述各个像素点相对于自身的相邻像素点的像素值变化幅度。
例如,一个原始像素点在水平方向上的像素值变化幅度,可以是该原始像素点与自身左边相邻的像素点的像素值之差,在竖直方向上的像素值变化幅度可以是该原始像素点与自身上边相邻的像素点的像素值之差。那么该原始像素点相对于自身相邻像素点的像素值变化幅度ds可以是根据公式(1-1)确定:
Figure BDA0002020672340000191
其中,dx为该原始像素点在水平方向上的像素值变化幅度,dy为该原始像素点在竖直方向上的像素值变化幅度。
当然,在一些实施例中,一个原始像素点在水平方向上的像素值变化幅度,可以是该原始像素点与自身右边相邻的像素点的像素值之差,在竖直方向上的像素值变化幅度可以是指该原始像素点与自身下方相邻的像素点的像素值之差。
融合相对于不同方向上的相邻像素点的像素值变化幅度,以得到原始像素点相对于自身相邻像素点的像素值变化幅度也可以是采用不同于公式(1-1)的方式确定,例如可以是将各个方向的像素点变化幅度直接求平均计算的,还可以是将各个方向的像素点变化幅度进行加权平均计算的,本申请实施例均不作限定。
当然该原始像素点相对于自身相邻像素点的像素值变化幅度还可以是将该原始像素点左上方向的像素值变化幅度、左下方向的像素值变化幅度、右上方向的像素值变化幅度、右下方向的像素值变化幅度中的至少两个进行融合得到的。
步骤S102,图像处理设备确定像素值变化幅度满足变化幅度条件的第一目标像素点。
这里,该变化幅度条件可以是大于变化幅度阈值,那么第一目标像素点即为像素值变化幅度大于变化幅度阈值的像素点。由于像素值变化幅度表示一个像素点与相邻像素点的像素值差异大小,那么第一目标像素点可以认为是与相邻像素点的像素值差异较大的像素。
步骤S103,图像处理设备确定所述第一目标像素点相对于自身的相邻像素点的像素值变化方向。
这里,步骤S103中自身的相邻像素点,可以理解为是与第一目标像素点相邻的像素点。像素值变化方向,可以认为是第一目标像素点在多个不同方向的像素值变化幅度中,最大像素值变化幅度对应的方向。
在一些实施例中,可以通过这样的方式来实现上述的步骤S103:首先比较所述第一目标像素点在不同方向的像素值变化幅度,以确定最大像素值变化幅度对应的方向;然后将所述最大像素值变化幅度对应的方向进行量化,得到与所述第一目标像素点对应的所述像素值变化方向。像素值变化方向可以是用角度来表示,将所述最大像素值变化幅度对应的方向进行量化,可以认为是将表征最大像素值变化幅度对应的方向的角度进行近似计算。
当方向为两个,且这两个方向是互相垂直时,承接步骤S101中的举例,这两个方向为水平方向和竖直方向,此时可以根据公式(1-2)确定第一目标像素点的最大像素值变化幅度对应的方向:
Figure BDA0002020672340000211
其中,α表征第一目标像素点的最大像素值变化幅度对应的方向,arctan()为反正切函数,dx为第一目标像素点在水平方向的像素值变化幅度,dy为第一目标像素点在竖直方向的像素值变化幅度。
对第一目标像素点的最大像素值变化幅度对应的方向进行量化,可以认为是对角度进行近似计算,进行近似计算的粒度可以是预先设置好的,并且该粒度可以是与相邻图像模板的角度差相同的。例如第一个图像模板记录的角度为0°,第二个图像模板记录的角度为10°,那么如果第一模板像素点的最大像素值变化幅度对应的方向为17°,那么进行量化后,第一模板像素点的像素值变化方向为20°。
步骤S104,图像处理设备将所述第一目标像素点的像素值变化方向,与图像模板中相应位置的像素点的像素值变化方向比较,以确定与所述待识别图像匹配的图像模板。
这里,图像模板中至少包括多个像素点的像素值变化方向,还包括图像模板所关联的视角。
步骤S104在实现时,可以是将第一目标像素点的像素值变化方向与图像模板中相应位置的像素点的像素值变化方向进行比较,从而确定第一目标像素点与该相应位置的像素点的像素值变化方向的相似度,然后再基于多个第一目标像素点与图像模板中相应位置的像素点的像素值变化方向的相似度,确定与待识别图像相匹配的图像模板。由于图像模板具有相关联的视角,那么确定出与待识别图像相匹配的图像模板之后,也就能够确定出待识别图像中受控对象在虚拟场景中的视角。
在利用本申请实施例提供的图像处理方法进行图像处理时,首先确定了待识别图像中各个原始像素点相对于相邻像素点的像素值变化幅度,并且从原始像素点中选择出了满足变化幅度条件的的第一目标像素点,第一目标像素点可以认为是待识别图像中像素值变化较大的两个区域的边界像素点,然后再基于各个第一目标像素点的像素值变化方向,确定与待识别图像相匹配的图像模板,也就是说在进行图像匹配时,是基于像素值变化幅度和像素值变化方向,不用考虑图像的背景,并且对噪声的抗干扰能力比较强,因此能有效提高识别准确度。
由于待识别图像一般为彩色图像,在一些实施例中,在步骤S101之前,还可以将待识别图像进行灰度化处理,得到灰度化的待识别图像。那么在步骤S101至步骤S104中,可以都是对灰度化的待识别图像中的像素点计算像素值变化幅度和像素值变化方向。
在一些实施例中,在步骤S103之前,还可以执行:步骤21,将所述待识别图像中各个像素点的像素值变化幅度与变化幅度阈值进行比较,以保留超出变化幅度阈值的像素点的像素值变化幅度。
这里,变化幅度阈值为小于256的正数,一般变化幅度阈值为小于256的正整数,例如变化幅度阈值可以为30。超出变化幅度阈值的像素点即为步骤S102中的第一目标像素点。
步骤22,将未超出所述变化幅度阈值的像素点的像素值变化幅度,统一置为第一值。
这里,所述第一值为小于所述变化幅度阈值的非负数,在实际实现过程中,第一值可以为0。在一些实施例中,还可以将未超出所述变化幅度阈值的像素点的像素值也置为0。
通过步骤21和步骤22,就将与相邻像素点的差异不大的像素点过滤掉,仅保留了与相邻像素点的差异较大的像素点,这样不仅不需要考虑背景影响,并且还能够降低计算复杂度。
在一些实施例中,在步骤S104之前,还可以执行:步骤31,确定所述待识别图像中与所述第一目标像素点小于距离阈值的像素点。
这里,距离阈值可以用像素点的数量表示,例如距离阈值可以是5个像素距离。
步骤32,将所确定的像素点标记为新的第一目标像素点,且标记所述新的第一目标像素点与所组合的像素点具有相同的像素值变化方向。
通过执行步骤31和步骤32,能够根据距离阈值和第一目标像素点的位置,确定出扩展区域,并将该第一目标像素点的像素值变化方向赋予该扩展区域内的各个新的第一目标像素点。需要说明的是,不同的第一目标像素点对应的扩展区域可能会有重叠部分,那么重叠部分的像素点就会有多个像素值变化方向。这样得到的待识别图像就具有一定的抗形变能力,能够避免因形变导致识别失败或识别不准确的技术问题。
在一些实施例中,参见图3,在步骤S104之后,还可以执行以下步骤:
步骤S105,当所述待识别图像中包括图形控件的成像,且所述图形控件用于指示虚拟场景中受控对象的图形化可视区域时,信息处理设备获取所述匹配的图像模板中记录的角度,并确定为所述受控对象在所述虚拟场景中的视角。
这里,各个图像模板中记录的角度,可以是0°到359°之间的一个角度。在本申请实施例中,将匹配的图像模板中记录的角度确定为受控对象在虚拟场景中的视角,那么就可以确定受控对象的朝向。例如可以设定正北方向为0°,依照顺时针方向角度逐渐增大,那么正东方向为90°,正南方向为180°,正西方向为270°。如果受控对象在虚拟场景中的视角为45°,那么可以确定受控对象朝向东北方向。
步骤S106,信息处理设备输出所述受控对象在所述虚拟场景中的视角。
这里,当信息处理设备为终端时,输出所述受控对象在虚拟场景中的视角可以是在待识别图像中以图形控件的形式输出,还可以是在指示虚拟场景中受控对象的图形化可视区域的图形控件中以字符直接输出。
当信息处理设备为服务器时,输出受控对象在虚拟场景中的视角,可以是将该视角发送给终端,以使得终端在显示界面中将该视角输出显示。
通过步骤S105和步骤S106,玩家可以直观准确地获取到受控对象的视角,那么当玩家想操作受控对象从当前位置移动到目标位置时,就可以根据受控对象的视角和目标位置的信息,确定出角色需要旋转的角度,从而案子预定的路线行进。
在一些实施例中,参见图4,图4为本申请实施例确定与所述待识别图像匹配的图像模板的实现流程示意图,图3示出的步骤104可以通过如图4所示的步骤1041至步骤1045实现,以下将结合各步骤进行说明。
步骤S1041,信息处理设备确定所述待识别图像中各个第一目标像素点的像素值变化方向、与所述图像模板中相应位置的像素点的像素值变化方向之间的相似度。
这里,由于像素值变化方向可以用角度表示,那么第一目标像素点与图像模板中相应位置的像素点的像素值变化方向的相似度可以是用两个像素值变化方向之差来表示,两个像素值方向变化之差的绝对值越小,说明两个像素值变化方向的相似度越高。
在一些实施例中,两个像素值变化方向的相似度,还可以用两个像素值变化方向之差的余弦值来表示,两个像素值变化方向之差的余弦值越大,说明两个像素值变化方向的相似度越高。
步骤S1042,信息处理设备融合所述待识别图像中各个第一目标像素点对应的相似度,得到所述待识别图像与所述图像模板之间的相似度。
这里,步骤S1042在实现时,可以是将各个第一目标像素点对应的相似度进行求和,得到所述待识别图像与所述图像模板之间的相似度。还可以是将各个第一目标像素点对应的相似度进行求和后再归一化,即将各个第一模板像素点对应的相似度求和后再除以图像模板中的像素点数量,得到所述待识别图像与所述图像模板之间的相似度。
步骤S1043,信息处理设备确定所述待识别图像与各个图像模板之间的各个相似度中的最大相似度。
步骤S1044,信息处理设备判断所述最大相似度是否大于相似度阈值。
这里,如果最大相似度不大于相似度阈值,那么说明各个图像模板与待识别图像都不匹配,此时认为识别失败,结束流程;如果最大相似度大于相似度阈值,那么进入步骤S1045。
步骤S1045,信息处理设备将所述最大相似度对应的图像模板确定为与所述待识别图像匹配的图像模板。
在一些实施例中,在步骤S101之前,信息处理设备需要根据原始的参考图像来制作图像模板,图5为本申请实施例根据参考图像制作图像模板的实现流程示意图,如图5所示,制作图像模板可以通过以下步骤实现:
步骤S401,信息处理设备将原始的参考图像进行不同角度的旋转,得到新的参考图像。
这里,参考图像是虚拟场景中受控对象的成像,参考图像中包括用于指示受控对象的图形化视野范围的图形控件。
原始的参考图像具有关联的视角,步骤S401在实现时,可以是基于原始的参考图像所关联的视角,将原始的参考图像按照预设旋转角度依次进行旋转,得到至少两个新的参考图像。
步骤S402,信息处理设备将原始的所述参考图像关联的视角与所述旋转同步,得到所述新的参考图像关联的视角。
这里,步骤S402在实现时,可以是以原始的参考图像关联的视角为起始角度,按照一定粒度旋转,直至遍历0°至360°的角度范围。例如,参考图像关联的视角为100°,旋转时是按20°旋转一次,也就是第一次旋转为顺时针旋转20°,那么将原始的所述参考图像关联的视角与所述旋转同步,得到的信息的参考图像关联的视角为120°,第二次旋转为顺时针旋转40°,那么将原始的所述参考图像关联的视角与所述旋转同步,得到所述新的参考图像关联的视角为140°。
需要说明的是,如果将原始的所述参考图像关联的视角与所述旋转同步,得到所述新的参考图像关联的视角大于360°时,需要将得到的新的参考图像关联的视角减去360°,例如,原始的参考图像关联的视角为100°,顺时针旋转了280°,此时将将原始的所述参考图像关联的视角与所述旋转同步,得到所述新的参考图像关联的视角为(100°+280°-360°),也就是20°。
步骤S403,信息处理设备确定各个所述参考图像中像素点的像素值变化方向。
这里,步骤S403在实现时,是先确定各个参考图像中的各个像素点的像素值变化幅度,然后再筛选出像素值变化幅度大于幅度变化阈值的第二目标像素点,最终计算第二目标像素点的像素值变化方向。第二目标像素点可以认为是各个参考图像中视角的边界上的像素点。
步骤S404,信息处理设备将各个所述参考图像中像素点的像素值变化方向、关联的视角,构造形成相应参考图像的图像模板。
这里,由于在步骤S403中,已经将像素值变化幅度不大于幅度变化阈值的像素点过滤掉了,仅保留了像素值变化幅度大于幅度变化阈值的第二目标像素点,因此在步骤S404中图像模板中的具有像素值变化方向的像素点也是位于参考图像的视角边界上的像素点。
在一些实施例中,图像模板还可以包括各个具有像素值变化方向的像素点的位置,以及具有像素值变化方向的像素点的总数。
由于图像模板与待识别图像进行匹配是为了确定待识别图像中受控对象的视角,那么在制作图像模板时,需要确定出视角边界的像素点的像素值变化特征。通过步骤S401至步骤S404就得到了包括参考图像中位于视角边界的像素点的像素值变化方向的图像模板,且图像模板中还包括关联的视角,这样就可以基于图像模板中视角边界上像素点的像素值变化方向与待识别图像中像素点的像素值变化方向,进行图像匹配,得到与待识别图像相匹配的图像模板,进而根据图像模板关联的视角确定待识别图像中受控对象的视角。
在一些实施例中,在步骤S401之前,还可以执行:将所述参考图像转换为二值化参考图像。那么在步骤S401至步骤S404中,原始的参考图像和新的参考图像都可以是二值化参考图像。
在一些实施例中,将所述参考图像转换为二值化参考图像,可以通过一些步骤实现:
步骤51,信息处理设备将所述参考图像转换为灰度化参考图像。
这里,参考图像一般为彩色图像,也就是红绿蓝(Red Green Blue,RGB)图像,将彩色图像转换为灰度图像可以认为是将R、G、B三个通道转换成一个通道。
步骤51在实现时,可以是将参考图像中的各个像素点的R、G、B三个通道的值进行平均,得到各个像素点的灰度值;还可以是将各个像素点的R、G、B三个通道的值进行加权平均,得到各个像素点的灰度值。这里的直接求平均和加权平均都是示例性说明,在实际应用中还可以利用其他方式将参考图像转换为灰度化参考图像,本申请实施例不做限定。
步骤52,信息处理设备确定灰度化参考图像中的视野范围。
这里,确定参考图像中的视野范围,可以认为是确定参考图像中视角的边界。步骤52在实现时,可以是利用图像处理软件(例如,Photo Shop)人工将视角的边界标记出来。也可以是基于灰度图像各个像素的像素分布特征,分析出视角的边界。
步骤53,信息处理设备基于确定的视角的边界,将所述参考图像中处于视野范围内的像素点的像素值置为第二值。
这里,第二值为0到255之间的整数,一般为0到255之间的正整数。在一些实施例中,第二值可以为255,也就是说将视野范围内的像素点的像素值置为255。
步骤54,信息处理设备将所述参考图像中视野范围之外的像素点的像素值置为第三值。
这里,第三值为0到255之间的整数,一般为0到255之间的正整数,但是要求第二值与述第三值不同。在一些实施例中,第三值可以为0,也就是说将视野范围之外的像素点的像素值置为0。
经过步骤51至步骤54,就基于参考图像中的视野范围,将参考图像进行了二值化处理,这样也就将参考图像划分了两个区域,再后续进行模板制作时能够降低计算复杂度,从而提高模板制作效率。
在一些实施例中,所述步骤S403可以通过以下步骤实现:
步骤S4031,信息处理设备确定二值化的所述各个参考图像中各个像素点的像素值变化幅度。
这里,由于在二值化的参考图像中,根据视野范围划分为了两个区域,在视野范围内的像素点的像素值都为第二值,视野范围外的像素点的像素值都为第三值。那么在确定二值化的参考图像中各个像素点的像素值变化幅度时,视野范围内的各个像素点的像素值都是相同的,因此视野范围内的各个像素点的像素值变化幅度为0,视野范围外的各个像素点的像素值也是相同的,因此视野范围外的各个像素点的像素值变化幅度也为0,只有在视角边界上的像素点的像素值变化幅度不为0。
步骤S4032,信息处理设备确定二值化的所述各个参考图像中像素值变化幅度超出变化幅度阈值的第二目标像素点。
这里,在本申请实施例中变化幅度阈值是大于0的,二值化的参考图像中的第二目标像素点可以认为是参考图像中视角边界上的像素点。
步骤S4033,信息处理设备确定所述第二目标像素点相对于自身的相邻像素点的像素值变化方向。
这里,步骤S4033的实现过程可以参考步骤S103的实现过程,此处不在进行赘述。
在一些实施例中,步骤S404可以通过以下步骤实现:
步骤S4041,信息处理设备基于所述各个参考图像中的第二目标像素点的像素值变化方向,将所述各个参考图像中的第二目标像素点按照预设步长进行稀疏化处理。
这里,可以通过这样的方式来实现上述的步骤S4041:首先确定所述参考图像中的参考像素点,所述参考像素点是像素值变化方向大于变化方向阈值的所述第二目标像素点;然后再清除与所述参考像素点的距离小于所述预设步长的第二目标像素点,这样就完成了对参考图像的稀疏化处理。
预设步长也可以是用像素点的数量表示。在步骤S4041实际实现过程中,可以是首先根据预设规则,确定参考图像中的一个参考像素点,然后清除与该参考像素点的距离小于预设步长的第二目标像素点,然后再根据预设规则,确定参考图像中的下一个参考像素点,直至获取到参考图像中的所有参考像素点。
在一些实施例中,清除第二目标像素点,可以是将第二目标像素点的像素值变化方向置为第四值,且第四值小于变化方向阈值。在本实施例中,变化方向阈值是大于0的,此时第四值可以为0,那么清除第二目标像素点可以认为是将第二目标像素点的像素值变化方向置为0。
步骤S4042,信息处理设备基于稀疏化处理后得到的第二目标像素点的像素值变化方向、位置和关联的视角,形成相应参考图像的图像模板。
因为相邻像素点之间的像素值变化方向比较相近,因此在制作图像模板时,可以通过步骤S4041对参考图像中的第二目标像素点进行稀疏化处理,这样图像模板中包括的是经过稀疏化处理后得到的第二目标像素点的像素值变化方向及位置,以及图像模板关联的视角,这样能够在保证匹配正确率的基础上,减少图像匹配的计算量,从而提高图像匹配效率。
基于上述的实施例,本申请实施例再提供一种识别视角的方法,图6A为本申请实施例识别视角的方法的实现流程示意图,如图6A所示,所述方法包括:
步骤S601,终端基于打开应用客户端的操作指令,向服务器发送获取应用数据的请求消息。
在本申请实施例中,该应用客户端可以是游戏应用客户端,打开应用客户端的操作指令可以是基于用户点击或者触控终端显示屏中的应用图标所生成的指令。服务器可以是该应用客户端对应的服务器。
在一些实施例中,该应用客户端还可以是浏览器客户端。
步骤S602,服务器基于所述请求消息,将对应的应用数据发送给终端。
步骤S603,终端基于接收到的应用数据,加载包括受控对象的虚拟场景、以及指示所述受控对象在所述虚拟场景中的图形化可视区域的图形控件。
这里,虚拟场景可以是指包括游戏场景的图像帧,受控对象即为受控制的对象,可以认为是用户在游戏中的角色。指示受控对象在虚拟场景中的图像可视化区域的图形控件可以是小地图,图6B为本申请实施例虚拟场景的示意图,在如图6B所示的虚拟场景中,包括受控对象611和指示受控对象在虚拟场景中的图像可视化区域的图形控件612。
步骤S604,终端采集包括所述图像控件的图像。
这里,图6C为本申请实施例从虚拟场景中截取出图形控件的图像示意图,在该图形控件的图像中受控对象的视野范围的区域621与其他区域的亮度是不同的,以使得玩家能够通过图形控件直观的看到受控对象的视野范围。在图6C中受控对象的视野范围区域621以斜线填充。
步骤S605,终端基于所采集图像中像素点的像素值变化幅度以及像素值变化方向,确定与所采集的图像相匹配的图像模板。
这里,由于图像模板中包括位于视角的边界上的像素点的像素值变化方向,因此可以基于采集图像中像素点的像素值变化方向和各个图像模板中像素点的像素值变化方向的相似度,来确定与采集的图像相匹配的图像模板。
步骤S606,终端将匹配的图像模板所预关联的角度,在所述客户端中加载为所述受控对象在所述虚拟场景中所具有的视角。
这里,基于前述的实施例可知,在制作图像模板时,是先将原始的参考图像进行不同角度的旋转得到新的参考图像,并将原始的所述参考图像关联的视角与所述旋转同步,得到所述新的参考图像关联的视角,进而基于原始的参考图像和新的参考图像中像素点的像素值变化方向、关联的角度形成了原始的参考图像和新的参考图像对应的图像模板。也就是说图像模板是与原始的参考图像和经过不同角度旋转得到的新的参考图像是对应的,因此图像预关联的角度也即为与之对应的参考图像所关联的角度。
由于图像模板中有预关联的角度,那么与所采集的图像相匹配的图像模板所预关联的角度,也就可以认为是所采集的图像中受控对象在虚拟场景中所具有的视角。
在客户端中加载受控对象在虚拟场景中所具有的视角可以如图6D所示,在该图形控件中输出该视角。为了让玩家更直观的看到受控对象的视角,还可以如图6D中的631和632所示,用加粗线标记出视角的边界。需要说明的是,在本实施例中,受控对象在虚拟场景中所具有的视角可以认为是,受控对象的视野范围的中心线,顺时针偏离正北方向的角度,也就是说,正北方向为0°。在图6D中所输出的320表示受控对象在虚拟场景中所具有的视角为顺时针偏离正北方向320°。
步骤S607,终端获取所述虚拟场景中目标位置的位置信息。
这里,目标位置的位置信息至少包括该目标位置距离图形控件中心点的距离和该目标位置的角度,这里目标位置的角度也可以认为是目标位置与图形控件中心的连线偏离正北方向的角度。
步骤S608,终端基于所述受控对象在所述虚拟场景中所具有的视角和所述位置信息,确定所述受控对象的移动方向和移动角度。
这里,步骤S608在实现时,可以是将受控对象在虚拟场景中所具有的视角减去位置信息中目标位置的角度,得到的角度差的绝对值,确定为移动角度。根据角度差的正负来确定移动方向,其中如果角度差为正值,说明移动方向为逆时针,如果角度差为负值,说明移动方向为顺时针。
步骤S609,终端控制所述受控对象基于所述移动方向和移动角度进行移动。
这里,终端控制受控对象基于移动方向和移动角度进行移动,移动之后可以认为受控对象是正对着目标位置行进,从而再行进一定距离后即可到达目标位置。
在本申请实施例中,在对所采集的图像进行匹配时,是基于所采集图像中像素点的像素值变化特征来进行匹配的,进一步地是基于所采集图像中像素点的像素值变化方向与图像模板中视角边界上的像素点的像素值变化方向的相似度来进行图像匹配的,由于一个像素点的像素值变化方向,仅与之相邻的像素点的像素值差异有关,与图像背景及噪声无关,因此对背景和噪声的抗干扰能力比较强,从而能够提高匹配准确率。
需要说明的是,在一些实施例中,服务器中也可以存储有图像模板,当终端请求获取应用数据时,服务器可以执行步骤S604至步骤S606,进而再将包括受控对象在所述虚拟场景中所具有的视角的应用数据发送给终端,那么终端在客户端中加载包括受控对象的虚拟场景、以及指示所述受控对象在所述虚拟场景中的图形化可视区域的图形控件时,可以同时加载受控对象在虚拟场景中的视角,以使得玩家能够根据角色的位置、角色的视角以及目标位置进行正确的路径规划。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
基于前述的实施例,本申请实施例提供一种基于梯度匹配的小地图视角识别方法,通过计算小地图与梯度模板之间的梯度相似度,来识别小地图中角色的视野角度。如图7A所示,本申请实施例提供的小地图识别方法包括准备阶段和使用阶段。在准备阶段,包括:
步骤S701,基于模板图像,制作模板。
这里,首先收集一张小地图,其次旋转小地图制作成多张模板图像。然后提取模板图像的梯度角度,再选取稀疏的梯度点作为梯度模板。
步骤S702,将梯度模板保存到梯度模板库中。
在使用阶段,包括:
步骤S703,截取游戏图像中的小地图。
这里,首先获取游戏图像,其次截取该游戏图像中的小地图。
步骤S704,提取小地图的梯度角度,并与梯度模板库中的数据进行梯度角度匹配。
步骤S705,获得从小地图中识别到的视野角度。
图7B为利用本申请实施例提供的方法进行小地图视角识别的效果示意图,如图7B所示,从游戏图像721中,截取出小地图722,通过本申请实施例提供的基于梯度匹配的小地图视角识别方法,能够得到如723所示的小地图图像,为了更加直观的知道视野范围,在722和723中将视野范围内的区域以斜线填充,在实际应用过程中,视野范围内的区域可以是与视野范围外的区域以不同亮度显示。如723所示,在识别出角色的视角后,可以在小地图中直接输出角色的视角为160°,这样可以便于玩家能够根据角色的视角和目标位置进行路径规划。
图7C为本申请实施例基于梯度匹配的视角识别方法的又一实现流程示意图,如图7C所示,该方法包含两个阶段,准备阶段和使用阶段,以下结合图7C对这两个阶段进行进一步说明。
如图7B所示,在准备阶段,主要进行以下三个步骤:
步骤S711,制作模板图像。
这里,步骤S711在实现时,首先采集一张小地图并标注其中视野角度,然后将小地图二值化,最后按一定的角度旋转小地图,形成多张模板图像。
步骤S711中的模板图像对应其他实施例中的二值化的参考图像。
步骤S712,计算梯度角度。
这里,步骤S712在实现时,首先计算模板图像中每个像素的梯度强度,然后根据阈值挑选出强度较高的像素,最后计算和量化这些像素的梯度角度。
本申请实施例中的梯度强度对应其他实施例中的像素值变化幅度,梯度角度对应其他实施例中的像素值变化方向。
步骤S713,制作梯度模板。
这里,步骤S713在实现时,首先按照设定的距离,在每个模板图像中稀疏地选择像素点,然后基于所选择像素点及其梯度角度,形成梯度模板,保存到梯度模板库中。
本申请实施例中的梯度模板对应其他实施例中的图像模板。
在实际实现过程中,步骤S711可以通过以下步骤实现:
步骤S7111,收集图像。
这里,收集的图像可以是从手机或者视频中截取的包含小地图的游戏图像,截取小地图并且标记小地图中视野的角度。
本申请实施例中的游戏图像对应其他实施例中的虚拟场景,小地图对应其他实施例中的指示所述受控对象在所述虚拟场景中的图形化可视区域的图形控件。
步骤S7112,二值化图像。
这里,步骤S7012在实现时先将小地图转换为灰度图像,然后再基于该灰度图像确定视角的边界信息,进而基于视角的边界信息,将视角边界范围内的像素设置为255,将视角边界范围之外的像素设置为0。
图8为本申请实施例将小地图二值化的示意图,如图8所示,将截取出的小地图801,进行处理后,得到二值化图像802。图8中的160°表示该图像中角色的视野角度。
在本申请实施例中,基于灰度图像确定视角的边界信息,可以是利用Photo Shop将视角边界标记出来。也可以是基于灰度图像各个像素的像素分布特征,分析出视角的边界。
步骤S7113,旋转图像。
这里,步骤S7113在实现时,将步骤S7112得到的二值化图像,按照预设角度进行旋转,多个模板图像。这里预设角度为相邻两个模板之间的视角差,表征视角识别的粒度,例如预设角度可以为10°,那么如图9所示,将二值化后的小地图按10°进行旋转,旋转35次,获得36个模板图像。由于步骤S4022中二值化图像的视角为160°,那么需要将该二值化图像顺时针旋转19次,得到视角为170°至350°的19个模板图像,并将该二值化图像逆时针旋转16次,得到视角为0°到150°的16个模板图像。
需要说明的是,在旋转过程中,每个模板图像的大小不发生改变。
在实际实现过程中,步骤S712可以通过以下步骤实现:
步骤S7121,计算梯度强度。
这里,步骤S7121在实现时首先,计算x轴方向的梯度。每一个像素点x轴方向的梯度dx为自己位置的像素点减去自己左边位置的像素点。然后,计算y轴方向的梯度。y轴方向的梯度dy为自己位置的像素点减去自己位置上边的像素点。最后,根据公式(4-1)计算像素点的梯度强度ds:
Figure BDA0002020672340000351
步骤S7122,过滤梯度点。
这里,步骤S7122在实现时,遍历图像中所有像素点,如果像素点的梯度强度ds小于预先设定的梯度阈值,则将此像素点的梯度强度设置为0,如果像素点的梯度强度ds大于预先设定的梯度阈值,则不改变此像素点的梯度强度。
本申请实施例中的梯度阈值对应其他实施例中的变化幅度阈值。
步骤S7123,计算梯度角度。
这里,根据公式(4-2)计算步骤S7122中保留的像素点的梯度角度α:
Figure BDA0002020672340000352
其中,arctan()为反正切函数。在本申请实施例中当梯度角度α大于等于180°时,梯度角度α减去180°,由此可以将梯度角度α的范围限制到0°到179°内。
步骤S7123,量化角度。
这里,步骤S7123在实现时,可以将梯度角度进行近似计算,进行近似计算的粒度与制作模板图像时旋转的粒度相同,例如旋转粒度为10°时,则进行近似计算时,是在个位数进行四舍五入,例如,44°量化为40°,78°量化为80°。由此,梯度角度量化为了19个角度,每10°为一个角度,即0°、10°、20°、…、180°。再例如,旋转粒度为15°时,44°量化为45°,78°量化为75°。
在实际实现过程中,因为相邻像素点之间的梯度角度都相似,所以为了减少梯度匹配的计算量,本申请实施例将稀疏的梯度点制作为梯度模板。步骤S713可以通过以下步骤实现:
步骤S7131,设定距离值。
这里,距离值一般可以设定为5-10个像素距离。距离值越大,梯度模板越稀疏,但匹配时准确率会越低。
本申请实施例中的距离值对应其他实施例中的预设步长。
步骤S7132,搜索梯度点。
这里,步骤S7132在实现时,可以是按照一定的规则扫描模板图像,例如可以是从上到下、从左到右扫描模板图像,将找到的梯度角度量化后的梯度点添加到梯度模板中,并且将离此梯度点小于距离值的梯度点都设置为0,再找下一个梯度点,直到遍历完模板图像。
如图10所示,对模板图像1001中的梯度点进行稀疏化,得到稀疏化后的各个梯度点1002。
步骤S7133,保存梯度模板。
这里,步骤S7133在实现时,可以是将将这些稀疏的梯度点保存为一个文件,并存储到梯度模板库中。每个文件包含了梯度模板代表的小地图视野角度、梯度点的数量、每个梯度点的坐标和量化角度。
如图7所示,在使用阶段,主要进行以下四个步骤:
步骤S714,截取小地图。
这里,步骤S714在实现时可以是根据小地图在游戏图像中的具体位置,将小地图从游戏图像中截取出来,并截取出来的小地图由将RGB彩色图像转换为灰度图像。
步骤S715,计算梯度角度。
这里,步骤S715在实现时首先计算模板图像中每个像素的梯度强度,然后根据强度阈值挑选出梯度强度较高的像素,最后计算和量化这些像素的梯度角度。步骤S715的实现过程可以参考步骤S712。
步骤S716,扩展梯度角度。
这里,为了使梯度匹配具备一定抗形变的能力,在本申请实施例中将计算了梯度角度之后的图像进行梯度角度的扩展。步骤S406在实现时,可以是根据设定的扩展范围,将梯度角度向周围像素点进行扩展。梯度角度扩展后,一个像素点的位置可能包含多个梯度角度。
步骤S717,匹配梯度角度。
这里,步骤S717在实现时首先要找到梯度模板中梯度点与小地图对应位置的梯度点,然后计算两个梯度点角度差的余弦值,之后累加余弦值并进行归一化,最后经过阈值判断梯度模板是否和小地图相匹配。
在一些实施例中,步骤S716可以通过以下步骤实现:
步骤S7161,设定扩展范围。
这里,扩展范围一般设定为3-5个像素范围。扩展范围越大,抗形变能力越强,但是误报率会升高。
本申请实施例中的扩展范围对应其他实施例中的距离阈值。
步骤S7162,扩展梯度角度。
这里,以每个梯度点为中心,将自身的梯度角度复制到扩展范围内的相邻像素点内,梯度角度扩展后,一个像素点的位置可能包含多个梯度角度。如图11所示,1101所示的像素点就具有两个梯度角度,分别为60°和40°。
在一些实施例中,步骤S717可以通过以下步骤实现:
步骤S7171,读取梯度模板。
这里,从梯度模板库中选择梯度模板,并依次读取各个梯度模板中梯度点的数量、每个梯度点的坐标和量化角度。
本申请实施例中的梯度点可以认为是具有梯度强度和梯度角度的像素点。
步骤S7172,计算梯度角度相似度。
这里,将梯度模板与扩展角度后的小地图进行匹配,计算相同位置上梯度点角度差的余弦值。如果相同位置上没有梯度点,则该像素点的余弦值为0;如果相同位置上有梯度点,则计算两个梯度点角度差的余弦值。因为扩展后的小地图位置上可能有多个角度,分别计算该位置上各个角度与梯度模板角度差的余弦值,并选择最大的余弦值作为该点的余弦值。之后,累加所有位置的余弦值,除以梯度模板中梯度点的数量,得到梯度模板与小地图的相似度。
在其他实施例中,计算梯度角度的相似度可以采用其他相似度计算方式,例如,将小地图和梯度模板中相同位置上的梯度角度相减,再进行归一化,确定梯度模板与小地图的相似度。这里,如果使用梯度角度差来表征相似度,那么梯度角度差越小则表明相似度越高。
步骤S7173,确定视野角度。
这里,在确定出小地图与所有梯度模板的梯度角度相似度后,如果最高的相似度小于一定阈值,则无法确定视野角度;如果最高的相似度大于等于一定阈值,则将最高相似度对应的梯度模板的视角作为小地图的视野角度。
在本申请实施例中提供了一种基于梯度匹配的小地图视角识别方案,通过计算小地图与梯度模板之间的梯度角度相似度,来识别小地图中角色的视野角度,从而为基于图像识别的游戏人工智能(AI,Artificial Intelligence)提供路径规划所必须的数据。并且在梯度模板的制作阶段,不需要采集大量的小地图,而只需采集一张小地图,并标记视角,之后通过图像旋转和梯度计算,便可以形成梯度模板库。并且在确定与小地图匹配的梯度模板时,使用梯度作为匹配的特征,对背景和噪声的抗干扰能力比较强,因此能达到较高的识别准确度。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3、图4、图5、图6A和图7示出的方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EE PROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例,能够基于待识别图像中目标像素点的像素值变化特征,来确定匹配的图像模板,不仅计算量小,并且对噪声和背景的抗干扰能力强,能够提供图像匹配的效率和准确率。并且在本申请实施例中基于图像模板预关联的角度,能够确定待识别图像中角色的视野角度,能够为基于图像识别的游戏AI提供路径规划所必须的数据。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (19)

1.一种图像处理方法,其特征在于,所述方法包括:
通过求平均或利用勾股定理,对待识别图像中各个原始像素点相对于自身不同方向上的相邻像素点的像素值的变化幅度进行融合,得到所述各个像素点相对于自身的相邻像素点的像素值的变化幅度;
确定所述像素值的变化幅度满足变化幅度条件的第一目标像素点;
确定所述待识别图像中与所述第一目标像素点小于距离阈值的像素点,将所确定的像素点标记为新的第一目标像素点;
根据所述距离阈值和所述第一目标像素点的位置确定出扩展区域,将所述第一目标像素点的像素值赋值给所述扩展区域中的各个所述新的第一目标像素点;
确定所述新的第一目标像素点相对于自身的相邻像素点的像素值的变化方向;
将所述新的第一目标像素点的像素值的变化方向,与图像模板中相应位置的像素点的像素值的变化方向比较,以确定与所述待识别图像匹配的图像模板,其中,所述图像模板中至少包括多个像素点的像素值变化方向,以及所述图像模板所关联的角度;
根据所述图像模板关联的角度确定所采集图像的视野角度。
2.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
确定所述新的第一目标像素点相对于自身的相邻像素点的像素值的变化方向之前,将所述待识别图像中各个像素点的像素值的变化幅度与变化幅度阈值进行比较,以保留超出变化幅度阈值的像素点的像素值的变化幅度;
将未超出所述变化幅度阈值的像素点的像素值的变化幅度,统一置为第一值,其中,所述第一值小于所述变化幅度阈值。
3.根据权利要求1中所述的方法,其特征在于,所述确定所述新的第一目标像素点相对于自身的相邻像素点的像素值的变化方向,包括:
比较所述新的第一目标像素点在不同方向的像素值的变化幅度,以确定最大像素值的变化幅度对应的方向;
将所述最大像素值的变化幅度对应的方向进行量化,得到与所述新的第一目标像素点对应的所述像素值的变化方向。
4.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
确定与所述待识别图像匹配的图像模板之前,
确定所述待识别图像中与所述第一目标像素点小于距离阈值的像素点;
将所确定的像素点标记为新的第一目标像素点,且标记所述新的第一目标像素点与所组合的像素点具有相同的像素值的变化方向。
5.根据权利要求1中所述的方法,其特征在于,所述将所述新的第一目标像素点的像素值的变化方向,与图像模板中相应位置的像素点的像素值的变化方向进行比较,包括:
确定各个新的第一目标像素点的像素值的变化方向、与所述图像模板中相应位置的像素点的像素值的变化方向之间的相似度;
融合各个新的第一目标像素点对应的相似度,得到所述待识别图像与所述图像模板之间的相似度。
6.根据权利要求1、3和5中任一项所述的方法,其特征在于,所述方法还包括:
当所述待识别图像中包括图形控件的成像,且所述图形控件用于指示虚拟场景中受控对象的图形化可视区域时,
获取所述匹配的图像模板中记录的角度,并确定为所述受控对象在所述虚拟场景中的视角。
7.根据权利要求1、3和5任一项所述的方法,其特征在于,所述方法还包括:
将原始的参考图像进行不同角度的旋转,得到新的参考图像;
将原始的所述参考图像关联的视角与所述旋转同步,得到所述新的参考图像关联的视角;
确定各个所述参考图像中像素点的像素值的变化方向;
基于各个所述参考图像中像素点的像素值的变化方向、关联的视角,组合形成相应参考图像的图像模板。
8.根据权利要求7中所述的方法,其特征在于,所述方法还包括:
将原始的参考图像进行不同角度的旋转之前,将所述参考图像转换为二值化参考图像。
9.根据权利要求8中所述的方法,其特征在于,所述将所述参考图像转换为二值化参考图像,包括:
将所述参考图像中处于视野范围内的像素点的像素值置为第二值;
将所述参考图像中视野范围之外的像素点的像素值置为第三值;
其中,所述第二值与所述第三值不同。
10.根据权利要求7中所述的方法,其特征在于,所述确定各个所述参考图像中像素点的像素值的变化方向,包括:
确定二值化的所述各个参考图像中的第二目标像素点,所述第二目标像素点的像素值的变化幅度超出变化幅度阈值;
确定所述第二目标像素点相对于相邻像素点的像素值的变化方向。
11.根据权利要求10中所述的方法,其特征在于,所述基于各个所述参考图像中像素点的像素值的变化方向、关联的视角,组合形成相应参考图像的图像模板,包括:
基于所述各个参考图像中的第二目标像素点的像素值的变化方向,将所述各个参考图像中的第二目标像素点按照预设步长进行稀疏化处理;
将稀疏化处理后得到的第二目标像素点的像素值的变化方向、位置和关联的视角,组合形成相应参考图像的图像模板。
12.根据权利要求11中所述的方法,其特征在于,将所述参考图像中的第二目标像素点按照预设步长进行稀疏化处理,包括:
确定所述参考图像中的参考像素点,所述参考像素点是像素值的变化方向大于变化方向阈值的所述第二目标像素点;
清除与所述参考像素点的距离小于所述预设步长的第二目标像素点。
13.一种识别视角的方法,其特征在于,所述方法包括:
加载包括受控对象的虚拟场景、以及指示所述受控对象在所述虚拟场景中的图形化可视区域的图形控件;
采集包括所述图形控件的待识别图像;
通过求平均或利用勾股定理,对所述待识别图像中各个原始像素点相对于自身不同方向上的相邻像素点的像素值的变化幅度进行融合,得到所述各个像素点相对于自身的相邻像素点的像素值的变化幅度;
确定所述像素值的变化幅度满足变化幅度条件的第一目标像素点;
确定所述待识别图像中与所述第一目标像素点小于距离阈值的像素点,将所确定的像素点标记为新的第一目标像素点;
根据所述距离阈值和所述第一目标像素点的位置确定出扩展区域,将所述第一目标像素点的像素值赋值给所述扩展区域中的各个所述新的第一目标像素点;确定所述新的第一目标像素点相对于自身的相邻像素点的像素值的变化方向;
将所述新的第一目标像素点的像素值的变化方向,与图像模板中相应位置的像素点的像素值的变化方向比较,以确定与所述待识别图像匹配的图像模板,其中,所述图像模板中至少包括多个像素点的像素值变化方向,以及所述图像模板所关联的角度;
将匹配的图像模板所预关联的角度,作为所采集图像的视野角度,将所述视野角度加载为所述受控对象在所述虚拟场景中所具有的视角。
14.根据权利要求13中所述的方法,其特征在于,所述方法还包括:
获取所述虚拟场景中目标位置的位置信息;
基于所述受控对象在所述虚拟场景中所具有的视角和所述位置信息,确定所述受控对象的移动方向和移动角度;
控制所述受控对象基于所述移动方向和移动角度进行移动。
15.一种图像处理装置,其特征在于,所述装置包括:
第一确定单元,用于求平均或利用勾股定理,对待识别图像中各个原始像素点相对于自身不同方向上的相邻像素点的像素值的变化幅度进行融合,得到所述各个像素点相对于自身的相邻像素点的像素值的变化幅度;
第二确定单元,用于确定像素值的变化幅度满足变化幅度条件的第一目标像素点;
确定所述待识别图像中与所述第一目标像素点小于距离阈值的像素点,将所确定的像素点标记为新的第一目标像素点;
根据所述距离阈值和所述第一目标像素点的位置确定出扩展区域,将所述第一目标像素点的像素值赋值给所述扩展区域中的各个所述新的第一目标像素点;
第三确定单元,用于确定所述新的第一目标像素点相对于自身的相邻像素点的像素值的变化方向;
第一比较单元,用于将所述新的第一目标像素点的像素值的变化方向,与图像模板中相应位置的像素点的像素值的变化方向比较,以确定与所述待识别图像匹配的图像模板,其中,所述图像模板中至少包括多个像素点的像素值变化方向,以及所述图像模板所关联的角度,并根据所述图像模板关联的角度确定所采集图像的视野角度。
16.一种识别视角的装置,其特征在于,所述装置包括:
第一加载单元,用于在客户端中加载包括受控对象的虚拟场景、以及指示所述受控对象在所述虚拟场景中的图形化可视区域的图形控件;
采集单元,用于采集包括所述图形控件的待识别图像;
第七确定单元,通过求平均或利用勾股定理,对所述待识别图像中各个原始像素点相对于自身不同方向上的相邻像素点的像素值的变化幅度进行融合,得到所述各个像素点相对于自身的相邻像素点的像素值的变化幅度;
确定所述像素值的变化幅度满足变化幅度条件的第一目标像素点;
确定所述待识别图像中与所述第一目标像素点小于距离阈值的像素点,将所确定的像素点标记为新的第一目标像素点;
根据所述距离阈值和所述第一目标像素点的位置确定出扩展区域,将所述第一目标像素点的像素值赋值给所述扩展区域中的各个所述新的第一目标像素点;确定所述新的第一目标像素点相对于自身的相邻像素点的像素值的变化方向;
将所述新的第一目标像素点的像素值的变化方向,与图像模板中相应位置的像素点的像素值的变化方向比较,以确定与所述待识别图像匹配的图像模板,其中,所述图像模板中至少包括多个像素点的像素值变化方向,以及所述图像模板所关联的角度;
第二加载单元,用于将匹配的图像模板所预关联的角度,作为所采集图像的视野角度,将所述视野角度在所述客户端中加载为所述受控对象在所述虚拟场景中所具有的视角。
17.一种图像处理设备,其特征在于,所述图像处理设备包括:
存储器,用于存储图像处理程序;
处理器,用于执行存储器中存储的图像处理程序,以实现权利要求1至12中任一项所述的图像处理方法。
18.一种识别视角的设备,其特征在于,所述设备包括:
存储器,用于存储识别视角的程序;
处理器,用于执行存储器中存储的识别视角的程序,以实现权利要求13至14中任一项所述的识别视角的方法。
19.一种存储介质,其特征在于,所述存储介质上存储有可执行指令,所述可执行指令被处理器执行时实现权利要求1至12中任一项中所述的图像处理方法;或者实现权利要求13至14中任一项中所述的识别视角的方法。
CN201910277923.4A 2019-04-08 2019-04-08 图像处理方法、识别视角的方法、装置、设备和存储介质 Active CN110032964B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910277923.4A CN110032964B (zh) 2019-04-08 2019-04-08 图像处理方法、识别视角的方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910277923.4A CN110032964B (zh) 2019-04-08 2019-04-08 图像处理方法、识别视角的方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110032964A CN110032964A (zh) 2019-07-19
CN110032964B true CN110032964B (zh) 2023-07-14

Family

ID=67237767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910277923.4A Active CN110032964B (zh) 2019-04-08 2019-04-08 图像处理方法、识别视角的方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110032964B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111104945A (zh) * 2019-12-17 2020-05-05 上海博泰悦臻电子设备制造有限公司 物体识别方法及相关产品
CN111672109B (zh) * 2020-06-10 2021-12-03 腾讯科技(深圳)有限公司 一种游戏地图生成的方法、游戏测试的方法以及相关装置
CN112733895B (zh) * 2020-12-30 2024-03-15 杭州海康威视数字技术股份有限公司 确定图像相似度的方法、装置及计算机存储介质
CN112734705A (zh) * 2020-12-30 2021-04-30 广东德诚大数据科技有限公司 一种答题卡的异常检测方法、装置、电子设备及存储介质
CN113516757A (zh) * 2021-07-07 2021-10-19 上海商汤智能科技有限公司 图像显示方法及相关装置和电子设备、存储介质
CN113506313A (zh) * 2021-07-07 2021-10-15 上海商汤智能科技有限公司 图像处理方法及相关装置和电子设备、存储介质
CN114782367B (zh) * 2022-04-24 2022-12-20 广东天太机器人有限公司 一种机械臂的控制系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927511A (zh) * 2014-02-25 2014-07-16 华北电力大学(保定) 基于差异特征描述的图像识别方法
CN107735812A (zh) * 2015-07-02 2018-02-23 株式会社理光 视差图像生成设备、视差图像生成方法、视差图像生成程序、对象识别设备以及装置控制系统
CN108416789A (zh) * 2018-06-04 2018-08-17 武汉斑马快跑科技有限公司 图像边缘检测方法及系统
CN108921869A (zh) * 2018-06-29 2018-11-30 新华三信息安全技术有限公司 一种图像二值化方法及装置
CN109447942A (zh) * 2018-09-14 2019-03-08 平安科技(深圳)有限公司 图像模糊度确定方法、装置、计算机设备及存储介质
CN109521879A (zh) * 2018-11-19 2019-03-26 网易(杭州)网络有限公司 交互式投影控制方法、装置、存储介质及电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927511A (zh) * 2014-02-25 2014-07-16 华北电力大学(保定) 基于差异特征描述的图像识别方法
CN107735812A (zh) * 2015-07-02 2018-02-23 株式会社理光 视差图像生成设备、视差图像生成方法、视差图像生成程序、对象识别设备以及装置控制系统
CN108416789A (zh) * 2018-06-04 2018-08-17 武汉斑马快跑科技有限公司 图像边缘检测方法及系统
CN108921869A (zh) * 2018-06-29 2018-11-30 新华三信息安全技术有限公司 一种图像二值化方法及装置
CN109447942A (zh) * 2018-09-14 2019-03-08 平安科技(深圳)有限公司 图像模糊度确定方法、装置、计算机设备及存储介质
CN109521879A (zh) * 2018-11-19 2019-03-26 网易(杭州)网络有限公司 交互式投影控制方法、装置、存储介质及电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于三维模型的前视红外目标匹配识别方法;熊斌等;《激光与红外》;20110320(第03期);第106-112页 *
基于主梯度编码局部二进制模式的花粉图像识别;谢永华等;《计算机应用》;20180610(第06期);摘要,第1节 *
面向制造现场的产品质量信息传递方法;程云等;《微处理机》;20180815(第04期);第49-52页 *

Also Published As

Publication number Publication date
CN110032964A (zh) 2019-07-19

Similar Documents

Publication Publication Date Title
CN110032964B (zh) 图像处理方法、识别视角的方法、装置、设备和存储介质
CN112348815B (zh) 图像处理方法、图像处理装置以及非瞬时性存储介质
CN108446698B (zh) 在图像中检测文本的方法、装置、介质及电子设备
US10573018B2 (en) Three dimensional scene reconstruction based on contextual analysis
US9727775B2 (en) Method and system of curved object recognition using image matching for image processing
KR101121034B1 (ko) 복수의 이미지들로부터 카메라 파라미터를 얻기 위한 시스템과 방법 및 이들의 컴퓨터 프로그램 제품
US8154616B2 (en) Data processing apparatus and method, and recording medium
CN109583345B (zh) 道路识别方法、装置、计算机装置及计算机可读存储介质
CN106447721B (zh) 图像阴影检测方法和装置
JP5699788B2 (ja) スクリーン領域検知方法及びシステム
CN106920279A (zh) 三维地图构建方法和装置
CN113823001A (zh) 户型图生成方法、装置、设备及介质
CN110287891B (zh) 基于人体关键点的手势控制方法、装置及电子设备
CN111292420B (zh) 用于构建地图的方法和装置
US20210209841A1 (en) Apparatus for building map using machine learning and image processing
CN110910445B (zh) 一种物件尺寸检测方法、装置、检测设备及存储介质
CN115409881A (zh) 图像处理方法、装置及设备
CN111383204A (zh) 视频图像融合方法、融合装置、全景监控系统及存储介质
CN111199169A (zh) 图像处理方法和装置
CN114842139A (zh) 一种基于空间分析的建筑三维数字化模型构建方法
CN111583417B (zh) 一种图像语义和场景几何联合约束的室内vr场景构建的方法、装置、电子设备和介质
CN110717910B (zh) 基于卷积神经网络的ct图像目标检测方法及ct扫描仪
CN110782390A (zh) 图像的矫正处理方法及装置、电子设备
CN113128470B (zh) 笔划识别方法、装置、可读介质及电子设备
CN110619597A (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