本公开涉及计算机领域,尤其涉及一种图像处理方法、装置、电子设备及存储介质。
背景技术:
随着图像处理技术的不断发展,账户可以利用终端拍摄图像并查看图像。相关技术中,为了能够动态的查看图像,终端在采集静态图像的同时,还采集预设时长的视频,并将采集到的静态图像与预设时长的视频进行合并,以生成一张动态图像。这样一来,在账户触发终端显示该动态图像的情况下,终端播放预设时长的视频,能够以动态的形式向账户显示图像。
但是,上述方法仍具有一定的局限性,比如,为了动态的显示图像,终端需要提前拍摄预设时长的视频并生成动态的图像。对于终端预先拍摄生成的静态图像或者接收其他设备发送的静态图像,并不能适用于上述方法,终端只能以静态的形式向账户显示,显示形式过于简单、直接。
技术实现要素:
本公开提供一种图像处理方法、装置、电子设备及存储介质,以至少解决相关技术中,图像显示形式过于简单、直接的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种图像处理方法,包括:获取待处理图像中多个锚点的锚点位置,以及,至少一个移动向量;移动向量用于表征待处理图像中可调整点位的起点以及终点;将获取到的多个锚点位置转换为多个锚点向量,并合并多个锚点向量以及至少一个移动向量,以生成向量数组;锚点向量的起点和终点均为锚点向量对应的锚点;根据向量数组和三角形剖分算法,将待处理图像分割为多个三角形,以获取顶点索引数组;每个三角形中顶点的顶点为锚点或者可调整点位的起点,顶点索引数组包括多个三角形的顶点在向量数组中对应的位置;根据向量数组、顶点索引数组以及时长系数,分别确定多个三角形的顶点的目标位置,以及,多个三角形的顶点的目标颜色;时长系数用于表征显示周期内图像的显示顺序;根据确定到的目标位置以及目标颜色,对待处理图像进行渲染,得到多个目标图像;在显示周期内按照显示顺序显示多个目标图像。
可选的,上述“合并多个锚点向量以及至少一个移动向量,以生成向量数组”,包括:获取每一个待处理向量的起点坐标中的坐标值以及终点坐标中的坐标值;待处理向量为多个锚点向量以及至少一个移动向量中的任意一个向量;合并获取到的坐标值,以生成向量数组;向量数组中连续的预设数量个坐标值对应于一个待处理向量。
可选的,上述图像处理方法还包括:确定目标图像的开始显示时长,目标图像的开始显示时长包括在显示周期内,开始显示目标图像所需要的时长;确定目标图像的开始显示时长与显示周期的比值,为目标图像的时长系数。
可选的,上述“根据向量数组、顶点索引数组以及时长系数,确定多个三角形的顶点的目标位置”,包括:根据顶点索引数组,从向量数组中确定目标顶点的起点坐标以及终点坐标;目标顶点为多个三角形中的任意一个顶点;根据目标图像的时长系数、目标顶点的起点坐标以及终点坐标,确定目标顶点在目标图像中的目标位置。
可选的,上述“目标顶点在目标图像中的目标位置”,满足以下公式一:
(xm,ym)={[xa×(1-v) xb×v)],[ya×(1-v) yb×v]}公式一
其中,xm为目标顶点在目标图像中的横坐标,ym为目标顶点在目标图像中的纵坐标,xa为目标顶点的起点坐标中横坐标,v为目标图像的时长系数,xb为目标顶点的终点坐标中的横坐标,ya为目标顶点的起点坐标中的纵坐标,yb为目标顶点的终点坐标中的纵坐标。
可选的,上述“根据向量数组、顶点索引数组以及时长系数,确定多个三角形的顶点的目标颜色”,包括:根据顶点索引数组,从向量数组中确定目标顶点的起点坐标以及终点坐标;目标顶点为多个三角形中的任意一个顶点;根据目标顶点的起点坐标,从待处理图像中获取目标顶点的起点颜色值,以及根据目标顶点的终点坐标,从待处理图像中获取目标顶点的终点颜色值;根据目标图像的时长系数、目标顶点的起点颜色值以及终点颜色值,确定目标顶点在目标图像中的目标颜色值。
可选的,上述“目标顶点在目标图像中的目标颜色值”,满足以下公式二:
xn=[xp×(1-v) xq×v]公式二
其中,xn为目标顶点在目标图像中的目标颜色值,xp为目标顶点的起点颜色值,v为目标图像的时长系数,xq为目标顶点的终点颜色值。
根据本公开实施例的第二方面,提供一种图像处理装置,包括获取单元、生成单元、确定单元、处理单元以及显示单元;获取单元,用于获取待处理图像中多个锚点的锚点位置,以及,至少一个移动向量;移动向量用于表征待处理图像中可调整点位的起点以及终点;生成单元,用于将获取单元获取到的多个锚点位置转换为多个锚点向量,并合并多个锚点向量以及至少一个移动向量,以生成向量数组;锚点向量的起点和终点均为锚点向量对应的锚点;获取单元,还用于根据向量数组和三角形剖分算法,将待处理图像分割为多个三角形,以获取顶点索引数组;每个三角形中顶点的顶点为锚点或者可调整点位的起点,顶点索引数组包括多个三角形的顶点在向量数组中对应的位置;确定单元,用于根据向量数组、顶点索引数组以及时长系数,分别确定多个三角形的顶点的目标位置,以及,多个三角形的顶点的目标颜色;时长系数用于表征显示周期内图像的显示顺序;处理单元,用于根据确定单元确定到的目标位置以及目标颜色,对待处理图像进行渲染,得到多个目标图像;显示单元,用于在显示周期内按照显示顺序显示处理单元得到的多个目标图像。
可选的,上述生成单元,具体用于:获取每一个待处理向量的起点坐标中的坐标值以及终点坐标中的坐标值;待处理向量为多个锚点向量以及至少一个移动向量中的任意一个向量;合并获取到的坐标值,以生成向量数组;向量数组中连续的预设数量个坐标值对应于一个待处理向量。
可选的,上述确定单元,具体用于:确定目标图像的开始显示时长,目标图像的开始显示时长包括在显示周期内,开始显示目标图像所需要的时长;确定目标图像的开始显示时长与显示周期的比值,为目标图像的时长系数。
可选的,上述确定单元,具体用于:根据顶点索引数组,从向量数组中确定目标顶点的起点坐标以及终点坐标;目标顶点为多个三角形中的任意一个顶点;根据目标图像的时长系数、目标顶点的起点坐标以及终点坐标,确定目标顶点在目标图像中的目标位置。
可选的,上述目标顶点在目标图像中的目标位置,满足以下公式一:
(xm,ym)={[xa×(1-v) xb×v)],[ya×(1-v) yb×v]}公式一
其中,xm为目标顶点在目标图像中的横坐标,ym为目标顶点在目标图像中的纵坐标,xa为目标顶点的起点坐标中横坐标,v为目标图像的时长系数,xb为目标顶点的终点坐标中的横坐标,ya为目标顶点的起点坐标中的纵坐标,yb为目标顶点的终点坐标中的纵坐标。
可选的,上述确定单元,具体用于:根据顶点索引数组,从向量数组中确定目标顶点的起点坐标以及终点坐标;目标顶点为多个三角形中的任意一个顶点;根据目标顶点的起点坐标,从待处理图像中获取目标顶点的起点颜色值,以及根据目标顶点的终点坐标,从待处理图像中获取目标顶点的终点颜色值;根据目标图像的时长系数、目标顶点的起点颜色值以及终点颜色值,确定目标顶点在目标图像中的目标颜色值。
可选的,上述述目标顶点在目标图像中的目标颜色值,满足以下公式二:
xn=[xp×(1-v) xq×v]公式二
其中,xn为目标顶点在目标图像中的目标颜色值,xp为目标顶点的起点颜色值,v为目标图像的时长系数,xq为目标顶点的终点颜色值。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器、用于存储处理器可执行的指令的存储器;其中,处理器被配置为执行指令,以实现如第一方面所提供的图像处理方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,包括指令,当指令由处理器执行时,使得处理器执行如第一方面提供的图像处理方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括指令,指令被处理器执行时,实现如第一方面提供的图像处理方法。
本公开提供的技术方案至少带来以下有益效果:本公开考虑到在确定向量数组以及获取顶点索引数组之后,根据向量数组、顶点索引数组以及时长系数,能够确定待处理图像中多个三角形的顶点在多个目标图像中的目标位置以及目标颜色,进而能够根据确定到的目标位置以及目标颜色,渲染待处理图像,进而能够得到并显示多个目标图像。由于多个目标图像能够在显示周期内按照显示顺序进行显示,因此,可以给账户一种动态显示图像的效果,能够使静态图像的显示过程更加生动活泼。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种图像处理系统的结构示意图;
图2是根据一示例性实施例示出的一种图像处理方法的流程示意图之一;
图3是根据一示例性实施例示出的一种待处理图像中锚点的示意图;
图4是根据一示例性实施例示出的一种图像处理方法的流程示意图之二;
图5是根据一示例性实施例示出的一种图像处理方法的流程示意图之三;
图6是根据一示例性实施例示出的一种图像处理方法的流程示意图之四;
图7是根据一示例性实施例示出的一种图像处理装置的结构示意图;
图8是根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
另外,在本公开实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本公开实施例的描述中,“多个”是指两个或多于两个。
本公开实施例提供的图像处理方法可以适用于图像处理系统。图1示出了该图像处理系统的一种结构示意图。如图1所示,图像处理系统10用于对静态图像进行处理并显示处理得到的图像,图像处理系统10包括图像处理装置11以及电子设备12。图像处理装置11与电子设备12连接。图像处理装置11与电子设备12之间可以采用有线方式连接,也可以采用无线方式连接,本公开实施例对此不作限定。
图像处理装置11可以用于与电子设备12进行数据交互,例如,从电子设备12中获取待处理图像,向电子设备12发送经处理得到的多个目标图像。
图像处理装置11还可以用于对获取到的待处理图像进行处理,例如,确定待处理图像中的锚点的位置相连,以生成向量数组。
电子设备12可以用于与图像处理装置11进行数据交互,例如,接收图像处理装置11发送的多个目标图像,并在预设时长内按照预设的显示顺序显示多个目标图像。
电子设备12还可以用于接收账户对待处理图像的触发操作。
可选的,该电子设备可以是物理机,例如:台式电脑,又称台式机或桌面机(desktopcomputer)、手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobilepersonalcomputer,umpc)、上网本、个人数字助理(personaldigitalassistant,pda)等终端设备,该电子设备还可以为服务器,也可以为多个服务器组成的服务器群。
可选的,上述图像处理装置也可以通过部署在物理机上的虚拟机(virtualmachine,vm),实现上述图像处理装置所要实现的功能。
需要说明的,图像处理装置11和电子设备12可以为相互独立的设备,也可以集成于同一设备中,本公开对此不作具体限定。
当图像处理装置11和电子设备12集成于同一设备时,图像处理装置11和电子设备12之间的通信方式为该设备内部模块之间的通信。这种情况下,二者之间的通信流程与“图像处理装置11和电子设备12之间相互独立的情况下,二者之间的通信流程”相同。
在本公开提供的以下实施例中,本公开以图像处理装置11和电子设备12相互独立设置为例进行说明。
下面结合上述图1,对本公开实施例提供的图像处理方法进行描述。
如图2所示,本公开实施例提供的图像处理方法包括下述s201-s207。
s201、图像处理装置获取待处理图像中多个锚点的锚点位置,以及,至少一个移动向量。
其中,多个锚点为待处理图像中无需调整位置以及颜色的点位,移动向量用于表征待处理图像中可调整点位的起点以及终点,至少一个移动向量中每一个移动向量包括一个起点坐标以及一个终点坐标。可调整点位为待处理图像中需要调整位置以及颜色的点位。
需要说明的,本公开实施例中涉及的待处理图像为一个静态图像,可以是由电子设备拍摄生成的,也可以是电子设备接收其它设备发送的。本公开实施例中涉及的锚点位置、起点坐标以及终点坐标,均可以为待处理图像中用于表征位置的坐标。本公开实施例中涉及的坐标为二维的坐标,包括一个点位的横坐标以及纵坐标。
可以理解的,多个锚点具体可以为待处理图像中固定物体的轮廓上的锚点,也可以为待处理图像的顶点。
示例性的,在一个涉及人物头像的待处理图像中,锚点可以为人物头像中以及轮廓上的锚点,移动向量中的起点可以为人物的发丝、背景中动态物体上的点位。
作为另外一种示例,图3示出了一个待处理图像中多个锚点与至少一个移动向量的示意图,如图3所示,待处理图像中包括锚点1(x1,y1),移动向量中的起点2(x2,y2)以及移动向量的终点3(x3,y3)。图3仅示例性的示出了锚点1、移动向量的起点2以及终点3,在实际应用过程中,待处理图像中存在更多的锚点(如图3中的白色点位)以及更多的移动向量的起点(如图3中的黑色点位)。
以下示出了本公开实施例中图像处理装置获取多个锚点的锚点位置的两种实现方式。
作为一种可能的实现方式,图像处理装置从电子设备中获取待处理图像,并利用预设的机器学习算法,提取待处理图像中每一个锚点,并进一步确定每一个锚点的锚点位置。
具体的,图像处理装置可以利用机器学习算法解析待处理图像,提取待处理图像中的锚点,并进一步的确定每一个锚点的锚点位置。
此步骤中利用机器学习算法的对图像进行处理的实现方式,具体可以参照现有技术中的描述,此处不再赘述。
作为另外一种可能的实现方式,图像处理装置从电子设备中获取待处理图像以及响应于账户对待处理图像中锚点的触发操作,确定待处理图像中每一个锚点,并进一步的确定每一个锚点的锚点位置。
具体的,图像处理装置11可以根据账户的触发操作的时间长短、力度大小、是否存在滑动动作等参数,确定触发操作的类型。
其中,触发操作的操作类型包括第一操作类型,第一操作类型用于由账户选择锚点。
示例性的,第一操作类型可以包括点选操作。
需要说明的,账户对待处理图像的触发操作,可以通过触摸显示屏幕执行触发,也可以通过鼠标、键盘、手写笔等外接设备执行触发,本公开实施例对此不作限定。
以下示出了本公开实施例中图像处理装置获取至少一个移动向量的多种实现方式。
作为一种可能的实现方式,图像处理装置从电子设备中获取待处理图像,并利用预设的机器学习算法,提取待处理图像中每一个可调整点位的起点以及终点,并进一步的根据提取到的起点以及终点,确定该可调整点位的移动向量。
此步骤中利用机器学习算法的对图像进行处理的实现方式,具体可以参照现有技术中的描述,此处不再赘述。
作为第二种可能的实现方式,图像处理装置从电子设备中获取待处理图像以及响应于账户对待处理图像中锚点的触发操作,确定待处理图像中至少一个可调整点位的起点以及终点,并进一步的根据可调整点位的起点以及终点,确定移动向量。
其中,触发操作的操作类型还包括第二操作类型,第二操作类型用于由账户在待处理图像中选择可调整点位的起点以及终点。
示例性的,第二操作类型可以包括滑动操作。
需要说明的,账户对待处理图像的触发操作,可以通过触摸显示屏幕执行触发,也可以通过鼠标、键盘、手写笔等外接设备执行触发,本公开实施例对此不作限定。
作为第三种可能的实现方式,图像处理装置还可以从电子设备中获取账户在电子设备中输入的至少一个移动向量。
s202、图像处理装置将获取到的多个锚点位置转换为多个锚点向量,并合并多个锚点向量以及至少一个移动向量,以生成向量数组。
其中,锚点向量包括一个起点以及一个终点。锚点向量的起点和终点均为锚点向量对应的锚点。锚点向量中的起点坐标以及终点坐标均为锚点的锚点位置,向量数组中包括多个锚点向量中的锚点位置以及至少一个移动向量中起点坐标以及终点坐标。
可以理解的,本公开实施例中的静态向量,与移动向量的数据格式相同,都包括一个起始位置以及一个结束位置。
作为一种可能的实现方式,图像处理装置确定锚点的锚点位置,并确定锚点的锚点位置为锚点向量的起点坐标以及终点坐标,并进一步的根据确定到的起点坐标以及终点坐标,确定锚点向量。
示例性的,在一个锚点的锚点位置为(x1,y1)的情况下,其对应的锚点向量的起点坐标为(x1,y1),其对应的锚点向量的终点坐标为(x1,y1),其对应的静态向量为[(x1,y1),(x1,y1)]。
可以理解的,采用此步骤,任意一个买单向量中的起点坐标与终点坐标相同。
进一步的,图像处理装置多个锚点向量中的锚点位置的坐标值与至少一个移动向量中起点坐标的坐标值以及中点坐标的坐标值进行合并,以得到向量数组。
需要说明的,本公开实施例中对向量数组中多个静态向量与至少一个移动向量之间的合并顺序不做限定。
示例性的,结合图3,向量数组可以为[x1,y1,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,……]。
其中,x1为锚点1的锚点位置的横坐标,y1为锚点1的纵坐标,x2为一个移动向量的起点2的横坐标,y2为该移动向量的起点2的纵坐标,x3为该移动向量的终点3的横坐标,y3为该移动向量的终点3的纵坐标,x4为另外一个移动向量的起点4的横坐标,y4为该移动向量的起点4的纵坐标,x5为该移动向量的终点5的横坐标,y5为该移动向量的终点5的纵坐标。
此步骤的具体实现方式,可以参照本公开的后续描述,此处不再赘述。
s203、图像处理装置11根据向量数组和三角形剖分算法,将待处理图像分割为多个三角形,以获取顶点索引数组。
其中,每个三角形中顶点的顶点为锚点或者可调整点位的起点,顶点索引数组包括多个三角形的顶点在向量数组中对应的位置。每个三角形中顶点的顶点坐标包括锚点位置或者可调整点位的起点坐标。
作为一种可能的实现方式,图像处理装置11将向量数组中的数据代入到三角形剖分算法中,利用三角形剖分算法、待处理图像中的锚点以及移动向量中的起点,将待处理图像分割为多个三角形,并进一步确定每个三角形的顶点的顶点坐标在向量数组中对应的位置。
示例性的,针对上述示例中给出的向量数组,对于一个三角形,其顶点坐标分别为((x1,y1),(x2,y2)以及(x4,y4),则其顶点的位置信息在向量数组中对应的位置分别为0,1,4,5,8以及9,则三角形剖分算法输出的顶点索引数组为[0,1,4,5,8,9……]。
可以理解的,经三角形剖分算法获取得到的多个三角形,每个三角形的顶点满足外接空圆准则,能够对待处理图像进行均匀、合理的分割,以使得后期的多个目标图像的显示具备一定的连续性。
s204、图像处理装置确定时长系数。
其中,时长系数用于表征显示周期内图像的显示顺序,在显示周期内包括多个目标图像的情况下,每个目标图像的时长系数用于表征该目标图像在上述显示周期内的显示顺序。
可以理解的,时长系数反映了可调整点位在目标图像中位置以及颜色的变化情况。一个目标图像对应于一个时长系数。
需要说明的,显示周期可以由运维人员预先在图像处理装置11中预先设置,可以理解为后续的多个目标图像的显示时长。显示顺序也可以由运维人员预先在图像处理装置11中预先设置。时长系数为大于或等于0且小于或等于1的系数。时长系数越接近1,则表明该时长系数对应的目标图像在显示周期内显示的越晚,同时也表明该目标图像内的可调整点位移动的距离越远,颜色色差越大。相反的,时长系数越接近0,则表明该时长系数对应的目标图像在显示周期内显示的越早,同时也表明该目标图像内的可调整点位移动的距离越近,颜色色差越小。
在另一种情况下,时长系数也可以由运维人员预先在图像处理装置中预先设置。
s205、图像处理装置根据向量数组、顶点索引数组以及时长系数,分别确定多个三角形的顶点的目标位置,以及,多个三角形的顶点的目标颜色。
其中,目标颜色包括三角形的顶点在目标图像中的颜色值。
作为一种可能的实现方式,图像处理装置将待处理图像、向量数组、顶点索引数组以及目标图像的时长系数,输入到开放式图形库中,以获取开放式图像库输出的三角形的顶点在目标图像中的目标位置,以及,三角形的顶点的目标颜色。
需要说明的,开放式图形库可以利用drawelements函数获取顶点索引数组中的数据进行绘制,开放式图形库可以通过glbuffersubdata函数获取向量数组,开放式图形库可以通过senduinformf函数获取时长系数,开放式图形库可以通过glvertexattribpointer函数确定目标图像中三角形的顶点的位置信息。
此步骤中以及本公开实施例中后续关于开放式图形库的具体实现方式,可以参照现有技术,本公开中不再赘述。
此步骤中的具体实现方式,具体还可以参照本公开实施例的后续描述,此处不再进行赘述。
s206、图像处理装置根据确定到的目标位置以及目标颜色,对待处理图像进行渲染,得到多个目标图像。
其中,多个目标图像均与待处理图像对应,且用于在显示周期内按照显示顺序显示。
作为一种可能的实现方式,对于多个目标图像中的任意一个图像,图像处理装置11可以利用开放式图形库,根据开放式图形库确定得到的多个三角形的顶点在目标图像中的目标位置以及目标颜色,对待处理图像进行渲染,以输出目标图像。
可以理解的,图像处理装置利用上述图像处理方法,可以获取显示周期内的多个目标图像。
s207、图像处理装置在显示周期内按照显示顺序显示多个目标图像。作为一种可能的实现方式,图像处理装置向电子设备发送多个目标图像。
相应的,电子设备在接收到多个目标图像之后,按照预设的显示顺序,在显示周期内显示多个目标图像。
需要说明的,图像处理装置还可以在向电子设备发送多个目标图像时,向电子设备发送预设的显示周期以及每个目标图像的显示顺序。预设的显示周期以及每个目标图像的显示顺序,也可以由运维人员预先在电子设备中设置。
本公开提供的技术方案至少带来以下有益效果:本公开考虑到在确定向量数组以及获取顶点索引数组之后,根据向量数组、顶点索引数组以及时长系数,能够确定待处理图像中多个三角形的顶点在多个目标图像中的目标位置以及目标颜色,进而能够根据确定到的目标位置以及目标颜色,渲染待处理图像,进而能够得到并显示多个目标图像。由于多个目标图像能够在显示周期内按照显示顺序进行显示,因此,可以给账户一种动态显示图像的效果,能够使静态图像的显示过程更加生动活泼。
在一种设计中,为了能够生成向量数组,如图4所示,本公开实施例提供的s202,具体包括s2021-s2022。
s2021、图像处理装置获取每一个待处理向量的起点数据中的坐标值以及终点坐标中的坐标值。
其中,待处理向量为多个锚点向量以及至少一个移动向量中的任意一个向量。
示例性的,在一个锚点向量为[(x1,y1),(x1,y1)]的情况下,图像处理装置获取到的起点坐标为(x1,y1),其坐标值为x1及y1,终点坐标为(x1,y1),其坐标值为x1及y1。在一个移动向量为[(x2,y2),(x3,y3)]的情况下,图像处理装置获取到的起点坐标为(x2,y2),其坐标值为x2及y2,终点坐标为(x3,y3)其坐标值为x3及y3。
s2022、图像处理装置合并获取到的坐标值,以生成向量数组。
其中,向量数组中连续的预设数量个坐标值对应于一个待处理向量。
需要说明的,在向量数组中,从第一个数值开始,连续的四个数值表示一个待处理向量。
示例性的,以上述示出的向量数组[x1,y1,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,……]为例,其中,x1,y1,x1,y1表示图3中的锚点1的锚点向量,x2,y2,x3,y3以及x4,y4,x5,y5分别表示移动向量。
需要说明的,在合并过程中,图像处理装置可以按照预设的排序规则,将待处理向量进行合并,也可以按照随机的排序规则,将待处理向量进行合并。
本公开提供的技术方案至少带来以下有益效果:能够对获取到的所有待处理向量的坐标值进行合并,以获取到能够满足开放式图形库所需要的向量数组。
在一种设计中,为了能够确定时长系数,如图5所示,本公开实施例提供的s204,具体可以包括下述s2041-s2042。
s2041、图像处理装置确定目标图像的开始显示时长。
其中,目标图像的开始显示时长包括在显示周期内,开始显示目标图像所需要的时长。
作为一种可能的实现方式,图像处理装置获取显示周期的时长,以及显示周期内多个目标图像的数量,并进一步的根据多个目标图像的数量与显示周期的时长的比值,确定相邻两个目标图像之间的时间间隔。
需要说明的,显示周期的时长以及现实周期内多个目标图像的数量,可以由运维人员预先在图像处理装置中进行设置。
进一步的,图像处理装置对多个目标图像进行排序,并获取每一个目标图像的显示顺序,并确定上述时间间隔与每一个目标图像的显示顺序的乘积,为目标图像的开始显示时长。
s2042、图像处理装置确定目标图像的开始显示时长与显示周期的比值,为目标图像的时长系数。
作为一种可能的实现方式,图像处理装置在确定目标图像的开始显示时长之后,计算目标图像的开始显示时长与显示周期的时长的比值,并将计算结果作为目标图像的时长系数。
本公开提供的技术方案至少带来以下有益效果:能够根据目标图像之间的时间间隔确定开始显示时长,并进一步的根据开始显示时长确定目标图像对应的时长系数,可以使后续每个目标图像中的可调整点位处于位置以及颜色变化的状态,能够向账户展示动态图像的效果。
在一种设计中,为了能够确定多个三角形的顶点在目标图像中的目标位置,如图6所示,本公开实施例提供的s205,具体包括s2051-s2052。
s2051、图像处理装置根据顶点索引数组,从向量数组中确定目标顶点的起点坐标以及终点坐标。
其中,目标顶点为多个三角形中的任意一个顶点。目标顶点的起点坐标为目标顶点在待处理向量中的起点坐标,目标顶点的终点坐标为目标顶点在待处理图像中的起点坐标。
作为一种可能的实现方式,图像处理装置根据目标顶点在顶点索引数组中的数值,从向量数组中确定目标顶点在待处理向量的起点坐标以及终点坐标。
s2052、图像处理装置根据目标图像的时长系数、目标顶点的起点坐标以及终点坐标,确定目标顶点在目标图像中的目标位置。
作为一种可能的实现方式,针对目标图像中的目标顶点,图像处理装置将目标图像的时长系数,目标顶点在待处理图像中起点坐标的坐标值以及终点坐标的坐标值,输入到预设的公式中,以确定目标顶点在目标图像中的目标位置的坐标值。
在一种情况下,目标顶点在目标图像中的目标位置,满足以下公式一:
(xm,ym)={[xa×(1-v) xb×v)],[ya×(1-v) yb×v]}公式一
其中,xm为目标顶点在目标图像中的横坐标,ym为目标顶点在目标图像中的纵坐标,xa为目标顶点的起点坐标中的横坐标,v为第一目标图像的时长系数,xb为目标顶点的终点坐标中的横坐标,ya为目标顶点的起点坐标中的纵坐标,yb为目标顶点的终点坐标中的纵坐标。
需要说明的,上述公式一可以作为开放式图形库中确定目标顶点在目标图像中的位置的执行函数。
本公开提供的技术方案至少带来以下有益效果:给出了一种具体可以确定目标顶点在目标图像中的目标位置的实现方法,能够为后续渲染过程提供数据基础,以保证待处理图像动态显示的准确性。
在一种设计中,为了能够确定多个三角形的顶点在目标图像中的目标颜色,如图6所示,本公开实施例提供的s205,在s2051之后,具体还包括下述s2053-s2054。
s2053、图像处理装置根据目标顶点的起点坐标,从待处理图像中获取目标顶点的起点颜色值,以及,根据目标顶点的终点坐标,从待处理图像中获取目标顶点的终点颜色值。
其中,目标顶点的起点颜色值为目标顶点在待处理向量中的起点在待处理图像中的颜色值,目标顶点的终点颜色值为目标顶点对应的待处理向量中的顶点在待处理图像中的颜色值。
作为一种可能的实现方式,图像处理装置根据目标顶点的起点,从待处理图像中提取目标顶点的起点颜色值,以及,图像处理装置根据目标顶点的终点,从待处理图像中提取目标顶点的终点颜色值。
需要说明的,本公开实施例中所涉及的颜色值,具体可以为rgb色彩模式中的一个色值或多个色值的组合。
此步骤中从待处理图像中提取颜色值的实现方式,可以参照现有技术,此处不再进行赘述。
s2054、图像处理装置根据目标图像的时长系数、目标顶点的起点颜色值以及终点颜色值,确定目标顶点在目标图像中的目标颜色值。
作为一种可能的实现方式,图像处理装置将目标图像的时长系数,目标顶点的起点颜色值以及终点颜色值,输入预设的公式中,以得到目标顶点在目标图像中的目标颜色的颜色值。
需要说明的,目标顶点在目标图像中的目标颜色的颜色值,包括rgb色彩模式中一个色值或者多个色值的组合。
在一种情况下,本公开实施例提供的目标顶点在目标图像中的目标颜色值满足以下公式二:
xn=[xp×(1-v) xq×v]公式二
其中,xn为目标顶点在目标图像中的颜色值,xp为目标顶点的起点颜色值,v为第一目标图像的时长系数,xq为目标顶点的终点颜色值。
在一种情况下,上述公式二还可以作为开放式图形库中确定目标顶点在目标图像中的目标颜色值的执行函数。
可以理解的,通过上述公式二,开放式图形库可以目标顶点的起始位置的颜色与结束位置的颜色融合,以得到目标顶点在目标图像中的目标颜色,并按照目标顶点的颜色绘制目标图像。
本公开提供的技术方案至少带来以下有益效果:给出了一种具体可以确定目标顶点在目标图像中的目标颜色的实现方法,能够为后续渲染过程提供数据基础,以保证待处理图像动态显示的准确性。
另外,本公开还提供一种图像处理装置,参照图7所示,该图像处理装置11包括获取单元111、生成单元112、确定单元113、处理单元114以及显示单元115。
获取单元111,用于获取待处理图像中多个锚点的锚点位置,以及,至少一个移动向量。移动向量用于表征待处理图像中可调整点位的起点以及终点。例如,结合图2,获取单元111可以用于执行s201。
生成单元112,用于将获取单元111获取到的多个锚点位置转换为多个锚点向量,并合并多个锚点向量以及至少一个移动向量,以生成向量数组。锚点向量的起点和终点均为锚点向量对应的锚点。例如,结合图2,生成单元112可以用于执行s202。
获取单元111,还用于根据向量数组和三角形剖分算法,将待处理图像分割为多个三角形,以获取顶点索引数组。每个三角形中顶点的顶点为锚点或者可调整点位的起点,顶点索引数组包括多个三角形的顶点在向量数组中对应的位置。例如,结合图2,获取单元111可以用于执行s203。
确定单元113,用于根据向量数组、顶点索引数组以及时长系数,分别确定多个三角形的顶点的目标位置,以及,多个三角形的顶点的目标颜色。时长系数用于表征显示周期内图像的显示顺序。例如,结合图2,确定单元113可以用于执行s205。
处理单元114,用于根据确定单元113确定到的目标位置以及目标颜色,对待处理图像进行渲染,得到多个目标图像。例如,结合图2,处理单元114可以用于执行s206。
显示单元115,用于在显示周期内按照显示顺序显示处理单元114得到的多个目标图像。例如,结合图2,显示单元115可以用于执行s207。
可选的,如图7所示,本公开实施例提供的生成单元112,具体用于:
获取每一个待处理向量的起点坐标中的坐标值以及终点坐标中的坐标值。待处理向量为多个锚点向量以及至少一个移动向量中的任意一个向量。例如,结合图4,生成单元112可以用于执行s2021。
合并获取到的坐标值,以生成向量数组。向量数组中连续的预设数量个坐标值对应于一个待处理向量。例如,结合图4,生成单元112可以用于执行s2022。
可选的,如图7所示,本公开实施例提供的确定单元113,具体用于:
确定目标图像的开始显示时长,目标图像的开始显示时长包括在显示周期内,开始显示目标图像所需要的时长。例如,结合图5,确定单元113可以用于执行s2041。
确定目标图像的开始显示时长与显示周期的比值,为目标图像的时长系数。例如,结合图5,确定单元113可以用于执行s2042。
可选的,如图7所示,本公开实施例提供的确定单元113,具体用于:
根据顶点索引数组,从向量数组中确定目标顶点的起点坐标以及终点坐标。目标顶点为多个三角形中的任意一个顶点。例如,结合图6,确定单元113可以用于执行s2051。
根据目标图像的时长系数、目标顶点的起点坐标以及终点坐标,确定目标顶点在目标图像中的目标位置。例如,结合图6,确定单元113可以用于执行s2052。
可选的,如图7所示,本公开实施例提供的目标顶点在目标图像中的目标位置,满足以下公式一:
(xm,ym)={[xa×(1-v) xb×v)],[ya×(1-v) yb×v]}公式一
其中,xm为目标顶点在目标图像中的横坐标,ym为目标顶点在目标图像中的纵坐标,xa为目标顶点的起点坐标中横坐标,v为目标图像的时长系数,xb为目标顶点的终点坐标中的横坐标,ya为目标顶点的起点坐标中的纵坐标,yb为目标顶点的终点坐标中的纵坐标。
可选的,如图7所示,本公开实施例提供的确定单元113,具体用于:
根据顶点索引数组,从向量数组中确定目标顶点的起点坐标以及终点坐标。目标顶点为多个三角形中的任意一个顶点。例如,结合图6,确定单元113可以用于执行s2051。
根据目标顶点的起点坐标,从待处理图像中获取目标顶点的起点颜色值,以及根据目标顶点的终点坐标,从待处理图像中获取目标顶点的终点颜色值。例如,结合图6,确定单元113可以用于执行s2052。
根据目标图像的时长系数、目标顶点的起点颜色值以及终点颜色值,确定目标顶点在目标图像中的目标颜色值。例如,结合图6,确定单元113可以用于执行s2053。
可选的,如图7所示,本公开实施例提供的目标顶点在目标图像中的目标颜色值满足以下公式二:
xn=[xp×(1-v) xq×v]公式二
其中,xn为目标顶点在目标图像中的目标颜色值,xp为目标顶点的起点颜色值,v为目标图像的时长系数,xq为目标顶点的终点颜色值。
关于上述实施例中的装置,其中各个模块或单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是本公开提供的一种电子设备的结构示意图,该电子设备用于执行本公开实施例提供的图像处理方法。如图8,该电子设备30可以包括至少一个处理器301以及用于存储处理器可执行指令的存储器303。其中,处理器301被配置为执行存储器303中的指令,以实现上述实施例中的图像处理方法。
另外,电子设备30还可以包括通信总线302以及至少一个通信接口304。
处理器301可以是一个处理器(centralprocessingunits,cpu),微处理单元,asic,或一个或多个用于控制本公开方案程序执行的集成电路。
通信总线302可包括一通路,在上述组件之间传送信息。
通信接口304,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radioaccessnetwork,ran),无线局域网(wirelesslocalareanetworks,wlan)等。
存储器303可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、只读光盘(compactdiscread-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。
其中,存储器303用于存储执行本公开方案的指令,并由处理器301来控制执行。处理器301用于执行存储器303中存储的指令,从而实现本公开方法中的功能。
作为一种示例,结合图8,图像处理装置中的获取单元111、生成单元112、确定单元113、处理单元114以及显示单元115实现的功能与图8中的处理器301的功能相同。
在具体实现中,作为一种实施例,处理器301可以包括一个或多个cpu,例如图8中的cpu0和cpu1。
在具体实现中,作为一种实施例,电子设备30可以包括多个处理器,例如图8中的处理器301和处理器307。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,电子设备30还可以包括输出设备305和输入设备306。输出设备305和处理器301通信,可以以多种方式来显示信息。例如,输出设备305可以是液晶显示器(liquidcrystaldisplay,lcd),发光二级管(lightemittingdiode,led)显示设备,阴极射线管(cathoderaytube,crt)显示设备,或投影仪(projector)等。输入设备306和处理器301通信,可以以多种方式接受账户的输入。例如,输入设备306可以是鼠标、键盘、触摸屏设备或传感设备等。
本领域技术人员可以理解,图8中示出的结构并不构成对电子设备30的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
另外,本公开还提供一种计算机可读存储介质,包括指令,当指令由处理器执行时,使得处理器执行如上述实施例所提供的图像处理方法。
另外,本公开还提供一种计算机程序产品,包括计指令,指令被处理器执行时实现如上述实施例所提供的图像处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
1.一种图像处理方法,其特征在于,包括:
获取待处理图像中多个锚点的锚点位置,以及,至少一个移动向量;所述移动向量用于表征所述待处理图像中可调整点位的起点以及终点;
将获取到的多个锚点位置转换为多个锚点向量,并合并所述多个锚点向量以及所述至少一个移动向量,以生成向量数组;所述锚点向量的起点和终点均为所述锚点向量对应的锚点;
根据所述向量数组和三角形剖分算法,将所述待处理图像分割为多个三角形,以获取顶点索引数组;每个三角形中顶点的顶点为所述锚点或者所述可调整点位的起点,所述顶点索引数组包括所述多个三角形的顶点在所述向量数组中对应的位置;
根据所述向量数组、所述顶点索引数组以及时长系数,分别确定所述多个三角形的顶点的目标位置,以及,所述多个三角形的顶点的目标颜色;所述时长系数用于表征显示周期内图像的显示顺序;
根据确定到的所述目标位置以及所述目标颜色,对所述待处理图像进行渲染,得到多个目标图像;
在所述显示周期内按照所述显示顺序显示所述多个目标图像。
2.根据权利要求1所述的图像处理方法,其特征在于,所述合并所述多个锚点向量以及所述至少一个移动向量,以生成向量数组,包括:
获取每一个待处理向量的起点坐标中的坐标值以及终点坐标中的坐标值;所述待处理向量为所述多个锚点向量以及所述至少一个移动向量中的任意一个向量;
合并获取到的坐标值,以生成所述向量数组;所述向量数组中连续的预设数量个坐标值对应于一个所述待处理向量。
3.根据权利要求1所述的图像处理方法,其特征在于,所述方法还包括:
确定目标图像的开始显示时长,所述目标图像的开始显示时长包括在所述显示周期内,开始显示所述目标图像所需要的时长;
确定所述目标图像的开始显示时长与所述显示周期的比值,为所述目标图像的时长系数。
4.根据权利要求1-3任一项所述的图像处理方法,其特征在于,根据所述向量数组、所述顶点索引数组以及时长系数,确定所述多个三角形的顶点的目标位置,包括:
根据所述顶点索引数组,从所述向量数组中确定目标顶点的起点坐标以及终点坐标;所述目标顶点为所述多个三角形中的任意一个顶点;
根据目标图像的时长系数、所述目标顶点的起点坐标以及终点坐标,确定所述目标顶点在所述目标图像中的目标位置。
5.根据权利要求4所述的图像处理方法,其特征在于,所述目标顶点在所述目标图像中的目标位置,满足以下公式一:
(xm,ym)={[xa×(1-v) xb×v)],[ya×(1-v) yb×v]}公式一
其中,xm为所述目标顶点在所述目标图像中的横坐标,ym为所述目标顶点在所述目标图像中的纵坐标,xa为所述目标顶点的起点坐标中横坐标,v为所述目标图像的时长系数,xb为所述目标顶点的终点坐标中的横坐标,ya为所述目标顶点的起点坐标中的纵坐标,yb为所述目标顶点的终点坐标中的纵坐标。
6.根据权利要求1-3任一项所述的图像处理方法,其特征在于,根据所述向量数组、所述顶点索引数组以及所述时长系数,确定所述多个三角形的顶点的目标颜色,包括:
根据所述顶点索引数组,从所述向量数组中确定目标顶点的起点坐标以及终点坐标;所述目标顶点为所述多个三角形中的任意一个顶点;
根据所述目标顶点的起点坐标,从所述待处理图像中获取所述目标顶点的起点颜色值,以及根据所述目标顶点的终点坐标,从所述待处理图像中获取所述目标顶点的终点颜色值;
根据目标图像的时长系数、所述目标顶点的起点颜色值以及终点颜色值,确定所述目标顶点在所述目标图像中的目标颜色值。
7.一种图像处理装置,其特征在于,包括获取单元、生成单元、确定单元、处理单元以及显示单元;
所述获取单元,用于获取待处理图像中多个锚点的锚点位置,以及,至少一个移动向量;所述移动向量用于表征所述待处理图像中可调整点位的起点以及终点;
所述生成单元,用于将所述获取单元获取到的多个锚点位置转换为多个锚点向量,并合并所述多个锚点向量以及所述至少一个移动向量,以生成向量数组;所述锚点向量的起点和终点均为所述锚点向量对应的锚点;
所述获取单元,还用于根据所述向量数组和三角形剖分算法,将所述待处理图像分割为多个三角形,以获取顶点索引数组;每个三角形中顶点的顶点为所述锚点或者所述可调整点位的起点,所述顶点索引数组包括所述多个三角形的顶点在所述向量数组中对应的位置;
所述确定单元,用于根据所述向量数组、所述顶点索引数组以及时长系数,分别确定所述多个三角形的顶点的目标位置,以及,所述多个三角形的顶点的目标颜色;所述时长系数用于表征显示周期内图像的显示顺序;
所述处理单元,用于根据所述确定单元确定到的所述目标位置以及所述目标颜色,对所述待处理图像进行渲染,得到多个目标图像;
所述显示单元,用于在所述显示周期内按照所述显示顺序显示所述处理单元得到的所述多个目标图像。
8.一种电子设备,其特征在于,包括:处理器、用于存储所述处理器可执行的指令的存储器;其中,所述处理器被配置为执行指令,以实现如权利要求1-6中任一项所述的图像处理方法。
9.一种计算机可读存储介质,其特征在于,包括指令,当所述指令由处理器执行时,使得所述处理器执行如权利要求1-6中任一项所述的图像处理方法。
10.一种计算机程序产品,包括指令,其特征在于,所述指令被处理器执行时实现权利要求1-6任一项所述的图像处理方法。
技术总结