图像处理方法、装置、电子设备和计算机可读存储介质
技术领域
本公开涉及图像处理
技术领域
,尤其涉及一种图像处理方法、装置、电子设备和计算机可读存储介质。背景技术
纹理贴图是一种将纹理空间的纹理像素映射到屏幕空间像素的过程。即一个用图像、函数或其他数据源来改变图像某一处的外观的过程。目前,主要通过Open GL(OpenGraphics Library,一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口)对图像进行纹理贴图,以使纹理图像可映射到不同分辨率或不同尺寸的屏幕空间。
随着纹理贴图技术的普及,越来越多的程序软件中都在增强现实场景下增加了纹理贴图技术,如某游戏中人物框架的构建等。一般来说,在软件运行时纹理贴图技术将会极大地占用移动设备CPU的运算资源,导致将纹理贴图后的图像渲染至屏幕上时会出现拖帧、掉帧等情况。
因此,在增强现实场景下找到一种CPU运算资源占用较少的纹理贴图方法是极其具有意义的。
需要说明的是,在上述
背景技术
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例提供一种图像处理方法及装置、电子设备和计算机可读存储介质,能够在增强现实场景中将第一纹理图像快速、便捷地映射至第一待贴片图像。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
本公开实施例提出一种图像处理方法,该方法包括:获取第一待贴片图像和第一纹理图像,所述第一待贴片图像和所述第一纹理图像均为N边形,N为大于2的正整数;对所述第一待贴片图像进行分割处理,以获得所述第一待贴片图像的第一n边形,n为大于2的正整数;对所述第一纹理图像进行分割处理,以获得所述第一纹理图像的第二n边形,所述第一n边形和所述第二n边形具有第一目标映射关系;将各个第二n边形按照所述第一目标映射关系映射至对应第一n边形,以对所述第一待贴片图像进行纹理贴图处理。
在一些实施例中,所述第一n边形为第一三角形,所述第一待贴片图像包括目标顶点;其中,对所述第一待贴片图像进行分割处理,以获得所述第一待贴片图像的第一n边形,包括:对所述第一待贴片图像的各个边分别进行m等分,获得各个边上的m等分点,m为大于1的正整数;将所述第一待贴片图像的各个边上的m等分点与所述目标顶点连接,以获得所述第一n边形。
在一些实施例中,所述第一n边形为第一三角形,所述第一待贴片图像为四边形,所述四边形包括目标对边;其中,对所述第一待贴片图像进行分割处理,以获得所述第一待贴片图像的第一n边形,包括:对所述第一待贴片图像的目标对边分别进行m等分,获得所述目标对边上的m等分点,m为大于1的正整数;将所述第一待贴片图像的目标对边上的m等分点对应连接,以获得多个目标四边形;将所述多个目标四边形的对角连接,以获得所述第一三角形。
在一些实施例中,获取第一待贴片图像,包括:获取包括目标对象的待处理图像;确定与所述目标对象匹配的标准图,所述标准图包括顶点特征点;在所述待处理图像中确定与所述标准图的顶点特征点匹配的目标特征点;将所述目标特征点按序连接,在所述待处理图像中确定所述目标对象的图像;根据所述目标对象的图像确定所述第一待贴片图像。
在一些实施例中,确定与所述目标对象匹配的标准图,所述标准图包括顶点特征点,包括:对所述待处理图像进行特征提取处理,以获得所述待处理图像的特征点;根据所述待处理图像的特征点确定与所述待处理图像匹配的标准图。
在一些实施例中,获取第一待贴片图像,还包括:获取包括目标对象的待处理图像;通过图像识别技术在所述待处理图像中确定所述目标对象的图像;
根据所述目标对象的图像确定所述第一待贴片图像。
在一些实施例中,根据所述目标对象的图像确定所述第一待贴片图像,包括:给所述目标对象的图像增加背景以生成所述第一待贴片图像,所述目标对象在所述第一待贴片图像的预设位置处。
在一些实施例中,所述图像处理方法还包括:通过目标渲染框架对贴图后的第一n边形进行渲染,以在目标屏幕上进行显示。
在一些实施例中,所述图像处理方法还包括:获取第二纹理图像,所述第二纹理图像和所述第一纹理图像均来自目标纹理视频;对所述第二纹理图像进行分割处理,以获得所述第二纹理图像的第三n边形,所述第一n边形和所述第三n边形具有第二目标映射关系;将各个第三n边形按照所述第二目标映射关系映射至对应第一n边形,以对所述第一待贴片图像进行视频纹理贴图处理。
在一些实施例中,所述图像处理方法还包括:获取第二待贴片图像,所述第一待贴片图像和所述第二待贴片图像均由目标设备采集,所述第二待贴片图像是所述第一待贴片图像的下一帧图像;获取第二纹理图像,所述第二纹理图像和所述第一纹理图像均来自目标纹理视频,所述第二纹理图像是所述第一纹理图像的下一帧图像;根据上述图像处理方法将所述第二纹理图像映射至所述第二待贴片图像;通过目标渲染框架将贴图后的第一待贴片图和第二待贴片图像依次渲染至目标屏幕中进行显示,以对所述目标设备获取的动态图像进行视频纹理贴图处理。
在一些实施例中,获取第二待贴片图像,包括:通过所述目标设备对目标对象进行图像采集,获取当前时刻待处理图像;获取所述目标设备采集的上一时刻待处理图像,所述上一时刻待处理图像包括目标对象的顶点特征点信息;对上一时刻待目标对象的顶点特征点信息进行处理,获取当前时刻待处理图像中目标对象的顶点特征点信息;根据当前时刻目标对象的顶点特征点信息在当前时刻待处理图像中确定当前时刻目标对象的图像;根据当前时刻目标对象的图像确定所述第二待贴片图像。
本公开实施例提供了一种图像处理置,所述图像处理装置包括:图像获取模块、第一分割模块、第二分割模块以及贴图模块。
其中,所述图像获取模块可以配置为获取第一待贴片图像和第一纹理图像,所述第一待贴片图像和所述第一纹理图像均为N边形,N为大于2的正整数;所述第一分割模块可以配置为对所述第一待贴片图像进行分割处理,以获得所述第一待贴片图像的第一n边形,n为大于2的正整数;所述第二分割模块可以配置为对所述第一纹理图像进行分割处理,以获得所述第一纹理图像的第二n边形,所述第一n边形和所述第二n边形具有第一目标映射关系;所述贴图模块可以配置为将各个第二n边形按照所述第一目标映射关系映射至对应第一n边形,以对所述第一待贴片图像进行纹理贴图处理。
本公开实施例提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项所述的图像处理方法。
本公开实施例提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一项所述的图像处理方法。
本公开实施例提供的图像处理方法、装置及电子设备和计算机可读存储介质,通过对第一待贴片图像和第一纹理图像进行分割处理,获得了具有映射关系的第一n边形和第二n边形;然后将第二n边形按照映射关系直接映射到第一n边形上,以完成将第一纹理图像贴片至第一待贴片图像上的贴图操作。该方法,一方面无需获取第一待贴片图像和第一纹理图像之间的位姿矩阵,继而也无需将第一纹理图像映射至第一待贴片图像所在坐标系,极大地节约CPU运算资源,避免了拖帧或掉帧的问题;另一方面,本方法可以根据设备性能(包括设备CPU以及GPU)调整第一n边形的个数,当设备性能较好时第一n边形的个数可以较大,以减少贴片时产生的形变,当设备性能较差时第一n边形的个数可以较小,以避免设备运行卡顿导致出现的掉帧或拖帧等问题。由于第一n边形(也可以说是第二n边形)的个数可调,所以在不进行算法优化的情况下,本方法可以适应于各种设备,使得贴图后图像在各种设备上的显示效果一致。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了应用于本公开实施例的图像处理方法或图像处理装置的示例性系统架构的示意图。
图2是根据一示例性实施例示出的一种应用于图像处理装置的计算机系统的结构示意图。
图3是根据相关技术示出的一种P4P算法求解示意图。
图4是根据相关技术示出的一种图像处理系统。
图5是根据一示例性实施例示出的一种图像处理方法的流程图。
图6是根据一示例性实施例示出的一种图像分割示意图。
图7是根据一示例性实施例示出的一种图像分割示意图。
图8是根据一示例性实施例示出的一种图像形变示意图。
图9是根据一示例性实施例示出的一种图像分割示意图。
图10是图5中步骤S01在一示例性实施例中的流程图。
图11是根据一示例性实施例示出的在待处理图像中确定目标对象的示意图。
图12是根据一示例性实施例示出的在待处理图像中确定目标对象的示意图。
图13是根据一示例性实施例示出的待处理图像中分离出的目标对象的图像的形状。
图14是图10中步骤S12在一示例性实施例中的流图。
图15是图10中步骤S14在一示例性实施例中的流程图。
图15A是根据一示例性实施例实处的一种图像渲染后示意图。
图16是图5中步骤S01在一示例性实施例中的流程图。
图17是图5中步骤S02在一示例性实施例中的流程图。
图18是根据一示例性实施例示出的一种图像分割示意图。
图19是图5中步骤S02在一示例性实施例中的流程图。
图20是根据一示例性实施例示出的一种图像分割方法。
图21是根据一示例性实施例实处的一种图像处理方法。
图22是根据一示例性实施例示出的一种图像处理方法。
图23是图22中步骤S08在一示例性实施例示出的流程图。
图24是根据一示例性实施例示出的一种图像处理系统。
图25是根据一示例性实施例示出的一种图像处理系统。
图26是根据一示例性实施例示出的一种图像处理装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本说明书中,用语“一个”、“一”、“该”、“所述”和“至少一个”用以表示存在一个或多个要素/组成部分/等;用语“包含”、“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”、“第二”和“第三”等仅作为标记使用,不是对其对象的数量限制。
下面结合附图对本公开示例实施方式进行详细说明。
图1示出了可以应用于本公开实施例的图像处理方法或图像处理装置的示例性系统架构的示意图。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。其中,终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、可穿戴设备、虚拟现实设备、智能家居等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备。
服务器105可例如获取第一待贴片图像和第一纹理图像,所述第一待贴片图像和所述第一纹理图像均为N边形,N为大于2的正整数;服务器105可例如对所述第一待贴片图像进行分割处理,以获得所述第一待贴片图像的第一n边形,n为大于2的正整数;服务器105可例如对所述第一纹理图像进行分割处理,以获得所述第一纹理图像的第二n边形,所述第一n边形和所述第二n边形具有第一目标映射关系;服务器105可例如将各个第二n边形按照所述第一目标映射关系映射至对应第一n边形,以对所述第一待贴片图像进行纹理贴图处理。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的,服务器105可以是一个实体的服务器,还可以为多个服务器组成,根据实际需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图2,其示出了适于用来实现本申请实施例的终端设备的计算机系统200的结构示意图。图2示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图2所示,计算机系统200包括中央处理单元(CPU)201,其可以根据存储在只读存储器(ROM)202中的程序或者从储存部分208加载到随机访问存储器(RAM)203中的程序而执行各种适当的动作和处理。在RAM 203中,还存储有系统200操作所需的各种程序和数据。CPU 201、ROM 202以及RAM 203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
以下部件连接至I/O接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分207;包括硬盘等的储存部分208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至I/O接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入储存部分208。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。在该计算机程序被中央处理单元(CPU)201执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块和/或单元和/子单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块和/或单元和/子单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些模块和/或单元和/子单元的名称在某种情况下并不构成对该模块和/或单元和/子单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备可实现功能包括:获取第一待贴片图像和第一纹理图像,所述第一待贴片图像和所述第一纹理图像均为N边形,N为大于2的正整数;对所述第一待贴片图像进行分割处理,以获得所述第一待贴片图像的第一n边形,n为大于2的正整数;对所述第一纹理图像进行分割处理,以获得所述第一纹理图像的第二n边形,所述第一n边形和所述第二n边形具有第一目标映射关系;将各个第二n边形按照所述第一目标映射关系映射至对应第一n边形,以对所述第一待贴片图像进行纹理贴图处理。
随着计算机技术的普及,图像贴图技术的应用越来越广广泛,比如说可以应用在图像美化(例如在人脸图像中贴上眼镜)中、比如说可以应用在图像介绍中(当扫描目标图像时,可以在该目标图像上或该目标图形周边显示相关图像等)中、再比如可以应用在游戏3D人物的构建中等。
相关技术中,通常采用PNP(Perspective-N-Point,N点透视)技术将纹理空间的纹理图像映射到待贴片图像上,然后再由渲染框架将待贴片图像渲染至屏幕中显示。
一般来说,PNP技术能通过纹理空间所在坐标系下的N个特征点与待贴片图像所在坐标系下的N个对应的特征点,计算出纹理空间所在坐标系和待贴片图像所在坐标系之间的投影关系,从而获取相机位姿或物体位姿(即获取MVP(Model-View-Projection,模型-视角-投影)矩阵)。
目前在计算机视觉常用的图像处理库OpenCV(一种跨平台计算机视觉库)中可以支持至少三种求解PNP问题的方法,分别是P3P(Perspective-3-Point,3点透视)、EPNP(Efficient Perspective-N-Point,高效N点透视)和ITERATIVE(一种默认的PNP求解方法)。
下面将以P4P(Perspective-4-Point,4点透视)方法为例解释相关技术中图像贴图方法的具体步骤。
P4P方法首先通过纹理图像所在坐标系下的三个特征点和待贴片图像所在坐标系下对应的三个特征定点求解出四组可能的矩阵转换关系(纹理图像所在坐标系的三个特征点和待贴片图像所在坐标系下的三个特征点应该具备一一对应关系),再通过上述四种矩阵转换关系将纹理图像中的第四个特征点的重投影至纹理图像所在坐标系下,并通过最小化重投影误差技术来确定最终的矩阵转换关系(即MVP矩阵,也就是位姿矩阵)。
下面将对P4P技术的求解过程进行说明。
图3是根据相关技术示出的一种P4P求解示意图。
假设P为待贴片图像对应的相机,A、B、C、D为目标纹理图像中的四个特征点(假设目标纹理图像在世界坐标系下),a、b、c、d为待贴片图像中的四个特征点(假设待贴片图像在像素坐标系下)。
如图3所示,先根据A、B、C以及a、b、c求解四组近似的相机位姿。
在本实施例中,相机内参矩阵和畸变参数已知,通过相机内参矩阵和畸变参数以及a、b、c坐标,利用三角形空间相似,可以得到A、B、C,a、b、c在P点也就是相机空间下的坐标。由余弦定理有:
PA2+PB2-2PA·PBcos<a,b>=AB2 (1)
PA2+PC2-2PA·PCcos<a,c>=AC2 (2)
PB2+PC2-2PB·PBcos<b,c>=BC2 (3)
同时除以PC2消元并且使用以下公式进行换元:
换元后可以将公式(1)~(3)改写成公式(4)~(6):
x2+y2-2x·ycos<a,b>=u (4)
x2+1-2xcos<a,c>=wu (5)
y2+1-2ycos<b,c>=vu (6)
其中w、v,cos<a,b>,cos<a,c>,cos<b,c>为已知,对公式(4)~公式(6)进行求解,最终可以得到四个MVP矩阵。
将特征点D与上述四个MVP矩阵结合,可以在abc所在坐标系中求出特征点D的四个映射点,然后求取这四个映射与点d之间的重投影误差,确定最小误差对应的MVP矩阵为合适的解。
通过P4P技术获得最终的MVP矩阵后可以将ABCD所在坐标系下的所有的点映射至abcd所在坐标系下,由此便可以完成图像贴图处理。
图4是根据相关技术示出的一种图像处理系统。图4所示图像处理方法可以采用上述贴图方法。具体可以包括以下步骤:
目标用户401通过目标设备402对目标对象进行扫描以获得待处理图像(可以理解待处理图像中不仅包括目标对象还包括背景信息);目标设备402将待处理图像上传至服务器403,以便服务器403从待处理图像中确定目标对象图像;服务器403将目标对象的标准图、纹理图以及标准图中的4个目标特征点信息、待贴片图像中对应的4个目标特征点信息返回至目标设备402(其中标准图和纹理图应该在统同一坐标系下);目标设备402可以通过P4P技术对标准图和待贴片图像中的目标特征点信息进行处理,以求出标准图所在坐标系和待贴片图像所在坐标系之间的MVP矩阵;目标设备402根据标准图所在坐标系和待贴片图像所在坐标系之间的MVP矩阵将纹理图像映射至待贴片图像上,并通过目标渲染框架(例如OpenGL)将待贴片图像想染至目标设备402的屏幕上。
在上述实施例中,现有的图像处理系统需要使用P4P技术才能将纹理图像映射至待贴片图像上,而P4P算法方案需要的运算量较大,极其占用设备的CPU运算资源,导致CPU渲染能力减弱。在相关技术中,如果采用同步计算渲染,会造成掉帧,当帧率低于30帧时用户会看到明显的卡顿。如果采用异步计算渲染,会造成视频纹理和相机纹理无法准确贴合,对用户侧而言会看到拖帧的现象。
本公开实施例提供了一种算法CPU运算资源占用较少的图像贴图方法,以提高图像渲染能力。
图5是根据一示例性实施例示出的一种图像处理方法的流程图。本公开实施例所提供的方法可以由任意具备计算处理能力的电子设备处理,例如上述图1实施例中的服务器105和/或终端设备102、103,在下面的实施例中,以服务器105为执行主体为例进行举例说明,但本公开并不限定于此。
参照图5,本公开实施例提供的图像处理方法可以包括以下步骤。
在步骤S01中,获取第一待贴片图像和第一纹理图像,所述第一待贴片图像和所述第一纹理图像均为N边形,N为大于2的正整数。
在博物馆或美术馆参观时,用户在使用目标设备(例如手机)扫描对应的画作时希望能够同时看到与该画作相关的其他作品或者文字介绍等。这种情况下可能就需要对目标设备扫描到的图像进行图像贴图或视频贴图处理以将其他相关作品或者介绍贴图至扫描得到的画作上。
在一些实施例中,第一待贴片图像可以是任意一张需要进行贴图处理的照片,第一纹理图像可以是需要贴到待贴片图像上的图像。
需要说明的是,为了能够将第一纹理图像更好的贴到第一待贴片图像上,第一纹理图像和第一待贴片图像可以包括相同个数的边。例如,第一待贴片图像为四边形,那么第一纹理图像也应该为四边形。
可以理解的是,为了保证贴图效果,可以保证第一纹理图像和第一待贴片图像的边的个数一致且边长比例也近似一致(例如第一待贴片图像为矩形,左边和上边的比例为1:2,而第一纹理图像也为矩形,左边和上边的比例也为1:2)。
在步骤S02中,对所述第一待贴片图像进行分割处理,以获得所述第一待贴片图像的第一n边形,n为大于2的正整数。
在一些实施例中,所述第一n边形可以是三角形,也可以是四边形、五边形等其他形状,本公开对此不作限制。
但是,由于现有常用的图像渲染框架(例如OpenGL)的基本渲染元素是三角形,所以本公开以第一n边形为三角形为例进行说明。
在一些实施例中,如果第一待贴片图像为如图6所示四边形,可以将四边形的对角连接,以将该四边形分给成两个三角形以便进行贴图等操作。如果第一待贴片图像为如图7所示的其他多边形(如五边形),可以将该五边形的某一顶点与其他顶点连接,以将该五边形分割成三个三角形,以便进行贴图等操作。很显然,将待贴片图像分割成三角形的方法可以有很多个,本公开对此不作限制。
本公开实施例的基本思想是将第一待贴片图像和第一纹理图像使用相同的分割方法(例如都将四边形的对角连接)进行分割,以将第一待贴片图像和第一纹理图像分割成多个三角形,然后将第一纹理图像的三角形贴到第一待贴片图像对应的三角形上。
在第一纹理图像的三角形贴图至第一待贴片图像的三角形上时,第一纹理图像的各个三角形之间也会存在一定的拼接。但是由于第一纹理图像和第一待贴片图像的形状各个边之间的比例可能不完全一致,所以第一纹理图像分割出来的三角形与第一待贴片图像分割出来的三角形的各边之间的比例也不一定一致,所以将第一纹理图像的三角形向第一贴片图像上对应的三角形进行贴片时需要对第一纹理图像的三角形进行一定的缩放、拉伸处理。但是,一旦对第一纹理图像对应的三角形进行拉伸、缩放处理,那么在拼接时势必会产生如图8所示的形变(为明显定位问题,图8对三角形做了栅格化处理)。或者可以理解为由于渲染框架中顶点三角形是有方向性的,所以会产生如图8所示的在对角线拼接位置产生的上述形变,且这种形变在最初摄像头正对作品进行扫描事不明显(因为正对时两个个渲染三角形的拉升比例一致,或者说法线方向一致)。
为使得形变不明显,本实施例将待贴片图像分割成多个第一n边形(例如三角形),以将形变均匀的分给每一个小的第一n边形上。
例如,假设第一n边形为第一三角形,所述第一待贴片图像包括目标顶点,可以对所述第一待贴片图像的各个边分别进行m等分,获得各个边上的m等分点,m为大于1的正整数;然后将所述第一待贴片图像的各个边上的m等分点与所述目标顶点连接,以获得所述第一n边形。
另外,若所述第一n边形为第一三角形,所述第一待贴片图像为四边形,所述四边形包括目标对边。如图9左图所示,还可以对所述第一待贴片图像的目标对边分别进行m等分,获得所述目标对边上的m等分点,m为大于1的正整数;然后将所述第一待贴片图像的目标对边上的m等分点对应连接,以获得多个目标四边形;最后将所述多个目标四边形的对角连接,以获得所述第一三角形。
实测发现第一n边形的个数越多,所需渲染顶点数量就越多,对设备性能要求也就越高。目前在实际应用中,第一n边形的个数可以取12~30个。
在步骤S03中,对所述第一纹理图像进行分割处理,以获得所述第一纹理图像的第二n边形,所述第一n边形和所述第二n边形具有第一目标映射关系。
在一些实施例中,可以使用同样的分割方法对第一纹理图像进行分割,以获得第一分割图像对应的第二n边形,应该理解的是,第二n边形的边的个数与第一n边形的边的个数相同。若第一n边形为4边形,则第二n边形也应该为4边形,而且第一n边形和第二n边形还应该存在第一目标映射关系,所谓第一映射关系可以指的是第一n边形和第二n边形的对应关系。如图9所示,图9(a)是对待贴片图像进行分割处理后获得的第一三角形,图9(b)是对第一纹理图像进行分割后获得的第二目标三角形,很明显第一三角形S1和第二三角形S2具有对应的映射关系,可以将第二三角形S2映射至第一三角形S1上以实现图像贴图操作。
在步骤S04中,将各个第二n边形按照所述第一目标映射关系映射至对应第一n边形,以对所述第一待贴片图像进行纹理贴图处理。
在一些实施例中,在映射时可以将两个三角形的顶点对齐,然后做拉伸、收缩处理。当然,本公开对具体的映射方法不作限制。
在一些实施例中,当完成对待贴片图像的贴图处理后,可以通过目标渲染框架对贴图后的第一n边形进行渲染,以在目标屏幕上进行显示。其中,目标渲染框架可以是OpenGL渲染引擎,同样也可以用在其他诸如Metal(一种渲染应用程序编程接口)等渲染引擎,本公开对此不作限制。
本实施例提供的图像处理方法,通过对第一待贴片图像和第一纹理图像进行分割处理,获得了具有映射关系的第一n边形和第二n边形;然后将第二n边形按照映射关系直接映射到第一n边形上,以完成将第一纹理图像贴片至第一待贴片图像上的贴图操作。该方法,一方面无需获取第一待贴片图像和第一纹理图像之间的位姿矩阵,继而也无需将第一纹理图像映射至第一待贴片图像所在坐标系,极大地节约了CPU运算资源,避免了渲染过程中出现拖帧或掉帧现象;另一方面,本方法可以根据设备性能调整第一n边形的个数,当设备性能较好时第一n边形的个数可以较大,以减少贴片时产生的形变,当设备性能较差时第一n边形的个数可以较小,进一步的避免了设备运行卡顿导致出现的掉帧或拖帧等问题。由于第一n边形(也可以说是第二n边形)的个数可调,所以在不进行算法优化的情况下,本方法可以适应于各种设备,使得贴图后图像在各种设备上的显示效果一致。
图10是图5中步骤S01在一示例性实施例中的流程图。参考图10,上述步骤S01可以包括以下步骤。
在步骤S011中,获取包括目标对象的待处理图像。
在一些实施例中,待处理图像不仅可以包括目标对象(任意可以被采集的物品或对象)信息还可以包括背景信息。例如,在美术馆中用户扫描目标图像,那么目标用户扫描获得的包括背景信息的图像就可以是待处理图像。如图11(1)或图12(1)所示图像就可以是所述待处理图像。
在步骤S012中,确定与所述目标对象匹配的标准图,所述标准图包括顶点特征点。
在一些实施例中,标准图可以指的是只包括目标对象的原始图片,如图11(2)或图12(2)所示。图11(2)可以是图11(1)中的目标对象的标准图,图12(2)可以是图12(1)中的目标对象的标准图。
在为博物馆中的画作制作贴图系统时,可以提前为各个画作提取预存对应的标准图,以便可以根据该标准图在目标用户扫描获得的待处理图像中的确定目标对象的图像。
当然,如果待处理图像中目标对象和背景分离比较明显的情况,可以直接使用待处理图像的灰度图并结合边缘识别技术从待处理图像中确定目标对象的图像以及目标对象的图像的顶点特征点信息。
在一些实施例中,该标准图也可以是N边形,该N边形包括多个特征点信息,其中多个特征点信息中包括N个顶点特征点信息(例如,N个顶点特征点在标准图所在坐标系下的坐标信息)。
在步骤S013中,在所述待处理图像中确定与所述标准图的顶点特征点匹配的目标特征点。
在一些实施例中,可以通过图像特征点提取技术对所述待处理图像进行特征提取,并通过图像匹配技术在标准图库中进行特征匹配以在标准库中的多个标准图中确定与待处理图像匹配的标准图。
在一些实施例中,在确定了与待处理图像匹配的标准图后,再根据该标准图的N个顶点特征点在待处理图像中确定目标特征点,该目标特征点应该是待处理图像中目标对象的顶点特征点。如图11所示,图11(1)代表待处理图像,该待处理图像不仅目标对象还包括背景信息,图11(2)代表待处理图像的标准图像。如图11所示,通过特征匹配技术可以在待处理图像中确定与特征点ABCD(目标对象的顶点)相匹配的目标特征点abcd。再如图12所示,图12(1)代表图像采集设备从非正面角度拍摄目标对象获得的待处理图像,图12(2)代表目标对象的标准图,通过特征匹配技术可以在待处理图像中确定与特征点ABCD相匹配的目标特征点abcd。可以理解的是,这里仅以标准图为4边形为例进行说明,但本公开对此不作限制。
在步骤S014中,将所述目标特征点按序连接,在所述待处理图像中确定所述目标对象的图像。
在一些实施例中,在图11(1)中,将目标特征点abcd按照图11(2)中顶点特征点ABCD的顺序连接就可以从待处理图像中将目标对象的图像分离出来。
应该理解的是,第一待处理图像中分割出来的目标对象的图像与标准图的边的个数应该一致。
图13是根据一示例性实施例示出的从待处理图像中分离出的目标对象的图像的形状。如图13所示,图13上半部分示出了从各种角度对目标对象进行采集获得的待处理图像,图13下半部分示出了从各个待处理图像中分离出来的目标对象的图像的形状。很明显,从不同的角度对目标对象进行采集,可以获得不同的形状。
步骤S015,根据所述目标对象的图像确定所述第一待贴片图像。
在一些实施例中,目标对象的图像就可以是第一待贴片图像,也可以是第一待贴片图像中的一部分(例如,第一待贴片图像不仅包括目标对象的图像,还会包括一些设定的背景),第一待贴片图像还可以是目标对象图像中的一部分(例如,目标对象是一张人脸,而第一待贴片图像应该是该人脸图像中的眼睛部分)。应该理解的是,本公开对第一待贴片图像中的内容不作限制,技术人员可以根据自己的需求获取第一待贴片图像。
需要注意的是,若第一待贴片图像就是根据标准图确定的目标对象的图像时,标准图的边的个数也应该是N;如果第一待贴片图像不是目标对象的图像,本公开对标准图的边的个数就不做限制。
本实施例,通过图像匹配技术确定了目标对象的标准图,并通过标准图的顶点特征点从待处理图像中确定了目标的对象的图像。该方法相比于图像分割方法,可以从背景不明显的待处理图像中准确的分割出目标对象的图像。
图14是图10中步骤S12在一示例性实施例中的流图。参考图14,上述步骤S14可以包括以下步骤。
在步骤S0121中,对所述待处理图像进行特征提取处理,以获得所述待处理图像的特征点。
在一些实施例中,可以使用特征提取算法对待处理图像进行特征提取,例如SIFT(Scale-invariant features transform,尺度不变特征变换)、SURF(Speeded Up RobustFeatures加速稳健特征)等。通过上述图像特征提取算法可以从待处理图像中提取出一些主要特征。
在步骤S0122中,根据所述待处理图像的特征点确定与所述待处理图像匹配的标准图。
在一些实施例中,可以通过待处理图像的特征在标准图库中确定与待处理图像匹配的标准图。可以理解的是标准图库中的标准图均包括了多个特征点,通过例如SIFT等图像匹配算法可以将标准图的特征点与待处理图像的特征点做匹配,以确定所述待处理图像的标准图。
本实施例通过图像匹配技术可以准确的在标准图库中确定目标对象的标准图。
图15是图10中步骤S14在一示例性实施例中的流程图。参考图15,上述步骤S14可以包括以下步骤。
在步骤S0141中,获取包括目标对象的待处理图像。
在步骤S0142中,确定与所述目标对象匹配的标准图,所述标准图包括顶点特征点。
在步骤S0143中,将与所述标准图的多个顶点匹配的特征点按序连接,以在所述待处理图像中确定目标对象。
在一些实施例中,目标对象的图像可以是第一待贴片图像,也可以是第一待贴片图像中的一部分(例如,第一待贴片图像不仅包括目标对象的图像,还会包括一些设定的背景),第一待贴片图像还可以是目标对象图像中的一部分(例如,目标对象是一张人脸,而第一待贴片图像应该是该人脸图像中的眼睛部分)。应该理解的是,本公开对第一待贴片图像中的内容不作限制,技术人员可以根据自己的需求获取第一待贴片图像。
在步骤S0144中,给所述目标对象的图像增加背景以生成所述第一待贴片图像,所述目标对象在所述第一待贴片图像的预设位置处。
在一些实施例中,第一待贴片图像可以是既包括目标对象又包括背景图像的图像。例如,假设在一场景下希望在目标对象图像旁边贴图,那就需要在目标对象周边添加背景。可以理解的是,本公开对背景的颜色、大小、种类、透明度等都不做限制。
在一些实施例中,采用上述图像处理方法可以渲染出入图15A所示的图像。图15A是根据一示例性实施例实处的一种图像渲染后示意图。
如图15A所示,如果纹理图像1503的贴图位置不仅仅限于目标对象图像1501之内,则需要为目标对象1501增添背景1502。当然,一般来说也需要为纹理图像1503增添透明背景,以使得纹理图像1503能够贴到合适的位置。
在一些实施例中,本实施例中的预设位置可以根据实际需求进行设置。例如可以将目标对象图像设置在在第一待贴片图像的正中间位置、靠左位置或靠右位置等,本公开对此不做限制。
本实施例提供的技术方案,可以对目标对象的图像进行处理以获得技术人员需要的待贴片图像。
图16是图5中步骤S01在一示例性实施例中的流程图。参考图16,上述步骤S01可以包括以下步骤。
在步骤S015中,获取包括目标对象的待处理图像。
在步骤S016中,通过图像识别技术在所述待处理图像中确定目标对象的图像,以确定所述第一待贴片图像。
本实施例提供的技术方案,通过图像识别技术(例如使用图像分割技术对灰度图进行边缘识别处理)从待处理图像中确定目标对象的图像。相比于通过标注图在待处理图像中确定目标对象的图像,节约CPU运算资源存,提高了图像识别速度。
图17是图5中步骤S02在一示例性实施例中的流程图。
在一些实施例中,所述第一n边形可以是三角形,所述第一待贴片图像包括目标顶点,所述目标顶点可以是第一待贴片图像的任意顶点,本公开对此不作限制。
参考图17,上述步骤S02可以包括以下步骤。
在步骤S021中,对所述第一待贴片图像的各个边分别进行m等分,获得各个边上的m等分点,m为大于1的正整数。
在一些实施例中,所述待贴片图像可以是三边形、四边形、五边形.......本公开对此不作限制。
如图18,若待贴片图像是三边形可以采用如图18(a)所示方法对各个边进行m等分(此处m=1,2,3.......),若待贴片图像是五边形可以采用如图18(b)所示方法对该五边形的各个边进行m等分(此处m=1,2,3.......)。可以理解的是,本公开对图像分割方法并不做限制。
在步骤S022中,将所述第一待贴片图像的各个边上的m等分点与所述目标顶点连接,以获得所述第一n边形。
如图18所示,对第一待贴片图像的各个边进行m等分之后,可以将所述第一待贴片图像的各个边上的m等分点与所述目标顶点连接,以获得所述第一n边形。
在一些实施例中,目标顶点可以是第一待贴片图像的任一顶点,本公开对此不作限制。
应该理解的是,任意可以将第一待贴片图像分割为第一n边形的方法都在本公开的保护范围之内。
需要说明的是,本公开需要对第一待贴片图像和第一纹理图像采用相同的分割方法,所以第一待贴片图像中的目标顶点和第一纹理图像的目标顶点也应该是对应的。
本实施例提供了一种图像分割方法,该方法既可以保证将第一待贴片图像分割为任意个数的第一n边形,又因为第一n边形的个数可控,保证本方法能够针对不同规格的硬件设备随时优化图像贴图技术(即针对不同的硬件设备确定第一n边形的个数,以使得图片在不同设备上的渲染效果相同)。
图19是图5中步骤S02在一示例性实施例中的流程图。
在一些实施例中,所述第一n边形为第一三角形,所述第一待贴片图像为四边形,所述四边形包括目标对边。
参考图19,上述步骤S02可以包括以下步骤。
在步骤S023中,对所述第一待贴片图像的目标对边分别进行m等分,获得所述目标对边上的m等分点,m为大于1的正整数。
如图20(a)所示,可以对第一待贴片图像ABCD的某一对边(例如AB和CD)进行m等分,获得如图20(b)所示图像。
在步骤S024中,将所述第一待贴片图像的目标对边上的m等分点对应连接,以获得多个目标四边形。
如图20(c)所示,可以将对边AB和CD上的m等分点对应连接,以获得对应的目标四边形。应该理解的是,对第一待贴片图像进行分割过程中产生目标四边形可以是一种近似的平行四边形,本公开对此不作限制。
在步骤S025中,将所述多个目标四边形的对角连接,以获得所述第一三角。
在一些实施例中,可以将目标平行四边形的一个对角连接,也可以将两个对角都连接,技术人员可以根据实际需求进行设置,本公开对此不作限制。
本实施例提供了一种图像分割方法,该方法既可以第一待贴片图像(四边形)分割为任意个数的第一n边形,又因为第一n边形的个数可控,保证本方法能够针对不同规格的硬件设备随时优化图像贴图技术(即针对不同的硬件设备确定第一n边形的个数,以使得图片在不同设备上的渲染效果相同)。
图21是根据一示例性实施例实处的一种图像处理方法。参考图21,上述图像处理方法可以包括以下步骤。
在一些实施例中,不仅可以将纹理图像贴图至第一待贴片图像,还可以将纹理视频贴图至第一待贴片图像。
在步骤S05中,获取第二纹理图像,所述第二纹理图像和所述第一纹理图像均来自目标纹理视频。
在一些实施例中,如果要将目标纹理视频贴图至第一待贴片图像,可以将目标纹理图像按照时间拆成一帧帧的图像,并将上述一帧帧的图像按照时间依次映射至第一待贴片图像。
也就是说,在将第一目标纹理图像映射至第一待贴片图像后,可以从目标纹理视频中获取下一帧图像(可以假设该下一帧图像是第二纹理图像)。可以理解的是,可以直接从原始的目标纹理视频中获取第一目标纹理图像的下一帧图像,也可以对目标纹理视频进行抽样(比如按照某个帧率进行抽样)以获得下一帧图像,本公开对此不作限制。
在步骤S06中,对所述第二纹理图像进行分割处理,以获得所述第二纹理图像的第三n边形,所述第一n边形和所述第三n边形具有第二目标映射关系。
在一些实施例中,可以按照第一待贴片图像的分割方法对第二纹理图像进行分割,以获得第三n边形。其中,第三n边形与第一n边形的边的个数相同,且第三n边形和第一n边形具有第二目标映射关系。
在步骤S07中,将各个第三n边形按照所述第二目标映射关系映射至对应第一n边形,以对所述第一待贴片图像进行视频纹理贴图处理。
可以理解的是,在贴完第二纹理图像后还可以继续在目标纹理视频中获取下一帧图像,以继续完成目标纹理视频的贴片操作。
本实施例提供的技术方案可以将目标纹理视频贴图至待贴片图像上,最终获得的视觉效果是仿佛待贴片图像中的目标对象动了起来。
图22是根据一示例性实施例示出的一种图像处理方法。参考图22,上述图像处理方法可以包括以下步骤。
在一些实施例中,不仅可以将目标纹理视频向第一待贴片图像上进行贴图,还可以实现目标纹理视频向待贴片视频上进行贴图。例如,用户在通过移动设备扫描目标对象时,用户不仅可以通过移动设备实时看到目标对象还可实时看见贴到目标对象图像上的目标纹理视频。
参考图22,上述图像处理方法可以包括以下步骤。
在步骤S08中,获取第二待贴片图像,所述第一待贴片图像和所述第二待贴片图像均由目标设备扫描获得,所述第二待贴片图像是所述第一待贴片图像的下一帧图像。
在一些实施例中,用户在通过移动设备扫描目标的对象时,由于移动设备是按照目标帧率对目标对象进行扫描,所以可以将用户通过移动设备看到的画面认为是待贴片的视频。
在一些实施例中,第一待贴片图像和第二待贴片图像均可以是移动设备扫描目标对象获得的,其中第一待贴片图像可以是第二待贴片图像的上一帧图像。
在步骤S09中,获获取第二纹理图像,所述第二纹理图像和所述第一纹理图像均来自目标纹理视频,所述第二纹理图像是所述第一纹理图像的下一帧图像。
在一些实施例中,可以根据移动设备的目标帧率对目标纹理视频进行采样,以将采样得到的一帧帧图像按照时间贴到移动设备扫描获得的一帧帧图像上。也就是说,假设移动设备每秒获得30帧图像,对目标纹理视频进行采样后每秒也会有30帧图像,可以将目标纹理视频的30帧图像按照时间顺序依次映射到移动设备扫描获得的30张图片上。
在步骤S10中,根据上述任一图像处理方法将所述第二纹理图像映射至所述第二待贴片图像。
在一些实施例中,在将第一目标纹理图像映射至第一待贴片图像后,可以根据本公开实施例提供的图像处理方法将第二纹理图像映射到第二待贴片图像中。
在步骤S11中,通过目标渲染框架将贴图后的第一待贴片图和第二待贴片图像依次渲染至目标屏幕中进行显示,以对所述目标设备获取的动态图像进行视频纹理贴图处理。
在一些实施例中,当对第一贴片图像或第二贴片图像完成贴图后,可以使用目标渲染框架将第一待贴片图像渲染至屏幕中以进行显示。
图23是图22中步骤S08在一示例性实施例示出的流程图。如图23所示,上述图像处理方法可以包括以下步骤。
在图22所示方法中,由于移动设备的设动,通过移动设备在不同时刻获取的待处理图像中的目标对象的顶点的坐标值是不同的。一般来说,可以根据标准图从待处理图像中确定目标顶点,但是这种方法需要每次重新根据标准图在待处理图像中确定目标对象的顶点,该方法占用内存较大,耗时较长。所以,一种时间复杂度较低,内存占用较少的顶点识别方法对本方案至关重要。
由于当前时刻获得的待处理图像和上一时刻获得的待处理图像本质上是同一物品,所以无需每次都重新确定目标对象的标准图,并根据标准图确定目标对象的顶点。
本实施例提供了以下方法在待处理图像中快速准确确定目标对象的顶点。
在步骤S081中,通过所述目标设备对目标对象位置进行扫描,以获取当前时刻待处理图像。
在步骤S082中,获取上一时刻待处理图像,所述上一时刻待处理图像包括目标对象的多个目标顶点。
在一些实施例中,一般已知上一时刻获取的待处理图像中的目标顶点信息(例如位置坐标信息)。
在步骤S083中,对上一时刻待目标对象的多个目标顶点进行处理,以获得当前时刻待处理图像中目标对象的多个目标顶点。
在一些实施例中,可以通过时间复杂度较低的光流追踪方法对上一时刻获得的待处理图像中目标对象的目标顶点进行处理,以确定当前时刻待处理图像中目标对象的多个目标顶点。
光流追踪算法是一种时间复杂度较低的算法,对于对实时性要求较高的应用场景具有很高的应用价值。
下面讲对光流追踪算法进行简要说明。
首先根据光流追踪的一般假设,即特征点的像素亮度不随时间变化而变化,转换为计算机视觉就是特征点的灰度值不会随时间变化而变化。于是得到方程:
I(x+Δx,y+Δy,t+Δt)=I(x,y,t) (7)
其中I(x,y,t)代表t时刻(x,y)位置处的灰度值,Δx,Δy,Δt代表x,y,t的偏移量。
左边泰勒展开,消去重复的因子并且除以时间增量可以依次获得公式(8)~(10):
I为t时刻(x,y)处的光强度,或者灰度值。而Vx,Vy为对应图像上(x,y)点在x轴和y轴上的移动速率,Ix,Iy,It为I在各个轴上的偏导数,对公式(10)进行处理后可以获得公式(10):
IxVx+IyVy=-It (11)
这个方程被称为光流方程,但是由于条件不够多,这个方程无定解。
光流追踪方法假设两个相邻帧的图像内容位移很小,且位移在所研究点p的邻域内为大致为常数。所以,可以假设光流方程在以p点为中心的窗口内对所有的像素都成立。将光流方程作用在特征点附近的一块区域上,得到足够多的方程,写成矩阵的形式得:
方程的未知变量数小于方程的数量,因此该方程是有解的,可以使用最小平方法(最小二乘法)得到近似解,得到Vx、Vy的值,即为在t时刻特征点(x,y)的二维位移矢量。
有了二维位移适量,就可以根据上一时刻待处理图像的多个目标顶点确定当前时刻目标对象的目标顶点信息。
在步骤S084中,根据当前时刻目标对象的多个目标顶点在当前时刻待处理图像中确定所述第二待贴片图像。
在一些实时中,可以根据目标对象的目标顶点在当前时刻的待处理图像中确定第二待贴片图像。
图24是根据一示例性实施例示出的一种图像处理系统。如图24所示,该该系统在获得图片识别服务下发的首帧待贴片图像后无需使用标准图对接下来的待贴片图像进行顶点确定处理,仅需要使用光流追踪算法对上一帧图像的顶点进行处理,即可得到当前帧中的顶点信息,然后就可以根据当前帧(例如是平行四边形)的顶点进行图像分割处理,以将纹理图像贴图至待贴片图像。本实施例提供的技术方案采用光流追踪方法对上一帧图像的顶点进行追踪以确定下一帧图像的顶点信息,相比于根据标准图像确定每一帧图像的顶点信息,可以极大地提高贴图速度,节约了CPU运算资源。
图25是根据一示例性实施例示出的一种图像处理系统。参考图25,在该系统中目标对象2501通过目标设备2502对画作进行扫描以获得待处理图像(可以理解待处理图像中不仅包括目标对象还包括背景信息);目标设备2502将待处理图像上传至服务器2503,以便服务器从待处理图像中确定目标对象图像;服务器2503将纹理图以及待贴片图像和纹理图中的顶点位置信息返回至目标设备2502;目标设备2502通过本公开提供的图像处理方法直接将纹理图像映射至待贴片图像上,并通过目标渲染框架将待贴片图像想染至目标设备2502的屏幕上。
相比于图4所示图像处理系统,本实施例提供的图像处理系统,无需使用PNP算法获取纹理图像和待贴片图像之间的MVP矩阵,不仅简化了增强现实场景下的步骤,还极大地节约了CPU运算资源。本方案可以将大部分的GPU运算损耗(即通过确定MVP矩阵导致的CPU损耗)转移到GPU渲染损耗上,以避免图像上屏渲染过程中由于CPU资源过少而导致的掉帧或拖帧现象。
图26是根据一示例性实施例示出的一种图像处理装置的框图。参照图26,本公开实施例提供的图像处理装置2600可以包括:图像获取模块2601、第一分割模块2602、第二分割模块2603以及贴图模块2603。
其中,所述图像获取模块2601可以配置为获取第一待贴片图像和第一纹理图像,所述第一待贴片图像和所述第一纹理图像均为N边形,N为大于2的正整数;所述第一分割模块2602可以配置为对所述第一待贴片图像进行分割处理,以获得所述第一待贴片图像的第一n边形,n为大于2的正整数;所述第二分割模块2603可以配置为对所述第一纹理图像进行分割处理,以获得所述第一纹理图像的第二n边形,所述第一n边形和所述第二n边形具有第一目标映射关系;所述贴图模块2604可以配置为将各个第二n边形按照所述第一目标映射关系映射至对应第一n边形,以对所述第一待贴片图像进行纹理贴图处理。
在一些实施例中,所述第一n边形为第一三角形,所述第一待贴片图像包括目标顶点,其中所述第一分割模块2602可以包括:第一等分单元和第一连接单元。
其中,所述第一等分单元可以配置为对所述第一待贴片图像的各个边分别进行m等分,获得各个边上的m等分点,m为大于1的正整数;所述第一连接单元可以配置为将所述第一待贴片图像的各个边上的m等分点与所述目标顶点连接,以获得所述第一n边形。
在一些实施例中,所述第一n边形为第一三角形,所述第一待贴片图像为四边形,所述四边形包括目标对边。其中,所述第一分割单元还可以包括:第二分割单元、第二连接单元以及对角连接单元。
其中,所述第二分割单元可以配置为对所述第一待贴片图像的目标对边分别进行m等分,获得所述目标对边上的m等分点,m为大于1的正整数;所述第二连接单元可以配置为将所述第一待贴片图像的目标对边上的m等分点对应连接,以获得多个目标四边形;所述对角连接单元可以配置为将所述多个目标四边形的对角连接,以获得所述第一三角形。
在一些实施例中,所述图像获取模块2601可以包括:图像获取单元、标准图确定单元、目标特征点确定单元以及第一按序连接单元、第一待贴片图像确定单元。
其中,所述图像获取单元可以配置为获取包括目标对象的待处理图像;所述标准图确定单元可以配置为确定与所述目标对象匹配的标准图,所述标准图包括顶点特征点;在述待所述目标特征点确定单元可以配置为在所述待处理图像中确定与所述标准图的顶点特征点匹配的目标特征点;所述第一按序连接单元可以配置为将所述目标特征点按序连接,在所述待处理图像中确定所述目标对象的图像;所述第一待贴片图像确定单元可以配置为根据所述目标对象的图像确定所述第一待贴片图像。
在一些实施例中,所述标准图确定单元可以包括:特征提取子单元和特征匹配子单元。
其中,所述特征提取自单元可以配置为对所述待处理图像进行特征提取处理,以获得所述待处理图像的特征点;所述特征匹配子单元可以配置为根据所述待处理图像的特征点确定与所述待处理图像匹配的标准图。
在一些实施例中,所述第一待贴片图像确定单元可以包括:背景添加子单元。
其中,所述背景添加子单元可以配置为给所述目标对象增加背景以生成所述第一待贴片图像,所述目标对象在所述第一待贴片图像的预设位置处。
在一些实施例中,所述图像获取模块2601还可以包括:待处理图像获取单元、图像识别单元以及第一待贴片图像确定单元。
其中,所述待处理图像获取单元可以配置为获取包括目标对象的待处理图像;所述图像识别单元可以配置为通过图像识别技术在所述待处理图像中确定所述目标对象的图像;所述第一待贴片图像确定单元可以配置为根据所述目标对象的图像确定所述第一待贴片图像。
在一些实施例中,所述图像处理装置2600还可以图像渲染装置,其中所述图像渲染装置可以配置为通过目标渲染框架对贴图后的第一n边形进行渲染,以在目标屏幕上进行显示。
在一些实施例中,所述图像处理装置2600还可以包括:第二纹理图像获取模块、纹理图像分割模块和第一映射模块。
其中,所述第二纹理图像获取模块可以配置为获取第二纹理图像,所述第二纹理图像和所述第一纹理图像均来自目标纹理视频;所述纹理图像分割模块可以配置为对所述第二纹理图像进行分割处理,以获得所述第二纹理图像的第三n边形,所述第一n边形和所述第三n边形具有第二目标映射关系;所述第一映射模块可以配置为将各个第三n边形按照所述第二目标映射关系映射至对应第一n边形,以对所述第一待贴片图像进行视频纹理贴图处理。
在一些实施例中,所述图像处理装置2600还可以包括:第二待贴片图像获取模块、第二纹理图像确定模块、第二映射模块以及第二渲染模块。
其中,所述第二待贴片图像获取模块可以配置为获取第二待贴片图像,所述第一待贴片图像和所述第二待贴片图像均由目标设备采集,所述第二待贴片图像是所述第一待贴片图像的下一帧图像;所述第二纹理图像确定模块可以配置为获取第二纹理图像,所述第二纹理图像和所述第一纹理图像均来自目标纹理视频,所述第二纹理图像是所述第一纹理图像的下一帧图像;所述第二映射模块可以配置为根据上述图像处理方法将所述第二纹理图像映射至所述第二待贴片图像;所述第二渲染模块可以配置为通过目标渲染框架将贴图后的第一待贴片图和第二待贴片图像依次渲染至目标屏幕中进行显示,以对所述目标设备获取的动态图像进行视频纹理贴图处理。
在一些实施例中,所述第二待贴片图像获取模块可以包括:图像采集单元、上一时刻目标顶点获取单元、当前时刻目标顶点获取单元、目标对象确定单元以及第二待贴片图像获取单元。
其中,所述图像采集单元可以配置为通过所述目标设备对目标对象进行图像采集,获取当前时刻待处理图像;所述上一时刻目标顶点获取单元可以配置为获取所述目标设备采集的上一时刻待处理图像,所述上一时刻待处理图像包括目标对象的顶点特征点信息;所述当前时刻目标顶点获取单元可以配置为对上一时刻待目标对象的顶点特征点信息进行处理,获取当前时刻待处理图像中目标对象的顶点特征点信息;所述目标对象确定单元可以配置为根据当前时刻目标对象的顶点特征点信息在当前时刻待处理图像中确定当前时刻目标对象的图像;所述第二待贴片图像获取单元可以配置为根据当前时刻目标对象的图像确定所述第二待贴片图像。
由于本公开的示例实施例的图像处理装置2600的各个功能模块与上述图像处理方法的示例实施例的步骤对应,因此在此不再赘述。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者智能设备等)执行根据本公开实施例的方法,例如图5的一个或多个所示的步骤。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其他实施例。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不限于这里已经示出的详细结构、附图方式或实现方法,相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。