CN113645414B - 水波纹特效视频生成方法、装置、电子设备及存储介质 - Google Patents

水波纹特效视频生成方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113645414B
CN113645414B CN202010346270.3A CN202010346270A CN113645414B CN 113645414 B CN113645414 B CN 113645414B CN 202010346270 A CN202010346270 A CN 202010346270A CN 113645414 B CN113645414 B CN 113645414B
Authority
CN
China
Prior art keywords
image
ripple
frame
water ripple
video
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
CN202010346270.3A
Other languages
English (en)
Other versions
CN113645414A (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202010346270.3A priority Critical patent/CN113645414B/zh
Publication of CN113645414A publication Critical patent/CN113645414A/zh
Application granted granted Critical
Publication of CN113645414B publication Critical patent/CN113645414B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2621Cameras specially adapted for the electronic generation of special effects during image pickup, e.g. digital cameras, camcorders, video cameras having integrated special effects capability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Abstract

本公开关于一种水波纹特效视频生成方法、装置、电子设备及存储介质,所述方法包括:检测到目标用户账户的待处理视频的触发操作,获取待处理视频中每帧图像的各个像素坐标信息;检测到目标用户账户输入的位置指令操作,选取水波纹中心坐标信息;确定待处理视频中每帧图像的各个像素坐标点信息的偏移量;基于水波纹中心坐标信息,按照确定的偏移量对每帧图像的各个像素坐标点信息进行位置偏移并添加水波纹光效,生成水波纹特效视频。本公开对水波纹的传播进行了近似处理,基于选取的水波纹中心坐标信息,按照确定的偏移量对待处理视频中每帧图像的各个像素坐标点信息进行位置偏移,相对传统流体力学复杂的迭代计算,减少了计算量,实现了实时渲染。

Description

水波纹特效视频生成方法、装置、电子设备及存储介质
技术领域
本公开涉及视觉技术领域,尤其涉及一种水波纹特效视频生成方法、装置、电子设备及存储介质。
背景技术
随着智能移动终端软硬件技术的发展,短视频的移动端渲染越来越流行。人们对于视频特效的需求日益提升。一些移动终端中,常在待机界面、图片浏览产生的一些水波纹特效,以提高用户体验,但是,这些水波特效是通过像素的水平移动产生的类似水波纹的特效,并非是立体的水波纹特效。
相关技术中,虽然通过流体力学方程可以模拟生成水波纹特效,但是其计算度复杂,还需要借助拥有高性能的中央处理器(CPU,Central Processing Unit/Processor)和图形处理器(GPU,Graphics Processing Unit)的计算机才能完成。也就是说,由于生成水波纹视频特效对设备性能要求高,计算复杂,并不适用于移动终端。
因此,如何在移动终端上实现水波纹的视频特效,是目前有待解决的技术问题。
发明内容
本公开提供一种水波纹特效视频生成方法、装置、电子设备及存储介质,以至少解决相关技术中由于制作水波纹特效视频的计算量大,不能在移动终端上实现水波纹特效视频,导致用户体验差的技术问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种水波纹特效视频生成方法,包括:
检测到目标用户账户的待处理视频的触发操作,获取所述待处理视频中每帧图像的各个像素坐标信息;
检测到所述目标用户账户输入的位置指令操作,选取水波纹中心坐标信息,所述水波纹中心坐标信息为所述待处理视频中每帧图像上的同一像素坐标信息;
确定所述待处理视频中每帧图像的各个像素坐标点信息的偏移量;
基于所述水波纹中心坐标信息,按照所述偏移量对所述每帧图像中对应的各个像素坐标点信息进行位置偏移,得到偏移后每帧图像的各个像素坐标信息;
对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频。
可选的,所述确定所述待处理视频中每帧图像的各个像素坐标点信息的偏移量包括:
确定水波纹的近似函数;
根据所述水波纹的近似函数计算每帧图像的各个像素坐标点信息的偏移量。
可选的,所述根据所述水波纹的近似函数计算每帧图像的各个像素坐标点信息的偏移量,包括:
对所述水波纹的近似函数求导,得到水波纹导函数;
沿波的传播方向估算所述水波纹导函数所呈现的波形图像上各个位置的光线偏折量;
根据所述每帧图像的各个位置的光线偏折量以及水波纹中心坐标信息,建立极坐标系;
根据建立的所述极坐标系计算每帧图像的各个像素坐标点信息的偏移量。
可选的,按照如下公式建立极坐标系:
f(x0,y0)=(Δr*cosθ,Δr*sinθ)
其中,
Figure DEST_PATH_1
表示光线垂直于水面的偏折角度;
Figure BDA0002470268690000031
表示某一时刻光沿半径方向的偏折量;其中,K为系数,用于调节水波纹的疏密程度和扩散程度;
Figure BDA0002470268690000032
r表示水波纹的半径,(x0,y0)表示偏移前每帧图像的各个像素坐标,f代表关于各个像素坐标(x0,y0)偏移量的函数,(cx, cy)表示为水波纹的中心坐标。
可选的,在所述对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效前,所述方法还包括:
根据所述水波纹的近似函数计算每帧图像的各个像素坐标点信息对应的水波纹光效的颜色值。
可选的,所述对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频,包括:
将偏移后的每帧图像的各个像素坐标点信息的颜色值与对应坐标点的水波纹光效的颜色值进行叠加,生成水波纹特效视频。
根据本公开实施例的第二方面,提供一种水波纹特效视频生成装置装置,包括;
获取模块,被配置为执行检测到目标用户账户的待处理视频的触发操作,获取视频中每帧图像的各个像素坐标信息;
选取模块,被配置为执行检测到所述目标用户账户输入的位置指令操作,选取水波纹中心坐标信息,所述水波纹中心坐标信息为所述视频中每帧图像上的同一像素坐标信息;
确定模块,被配置为执行确定所述待处理视频中每帧图像的各个像素坐标点信息的偏移量;
偏移模块,被配置为执行基于所述水波纹中心坐标信息,按照所述偏移量对所述每帧图像中对应的各个像素坐标点信息进行位置偏移,得到偏移后每帧图像的各个像素坐标信息;
生成模块,被配置为执行对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频。
可选的,所述确定模块包括:
近似函数确定模块,被配置为执行确定水波纹的近似函数;
偏移量确定模块,被配置为执行根据所述水波纹的近似函数计算每帧图像的各个像素坐标点信息的偏移量。
可选的,所述偏移量确定模块包括:
求导模块,被配置为执行对所述水波纹的近似函数求导,得到水波纹导函数;
估算模块,被配置为执行沿波的传播方向估算所述水波纹导函数所呈现的波形图像上各个位置的光线偏折量;
建立模块,被配置为执行根据所述每帧图像的各个位置的光线偏折量以及水波纹中心坐标信息,建立极坐标系;
偏移量计算模块,被配置为执行根据建立的所述极坐标系计算每帧图像的各个像素坐标点信息的偏移量。
可选的,所述建立模块通过下述公式建立极坐标系:
f(x0,y0)=(Δr*cosθ,Δr*sinθ)
其中,
Figure 844052DEST_PATH_1
表示光线垂直于水面的的篇折角度;
Figure BDA0002470268690000042
表示某一时刻光沿半径方向的偏移量;其中,K为系数,用于调节水波纹的疏密程度和扩散程度;
Figure BDA0002470268690000043
r表示水波纹的半径;(x0,y0)表示偏移前每帧图像的各个像素坐标,f代表各个像素坐标(x0,y0)偏移量的函数,(cx,cy) 表示为水波纹的中心坐标。
可选的,所述装置还包括:
颜色值计算模块,被配置为执行在所述生成模块添加水波纹光效前,根据所述水波纹的近似函数计算每帧图像的各个像素坐标点信息对应的水波纹光效的颜色值。
可选的,所述生成模块,具体被配置为将偏移后的每帧图像的各个像素坐标点信息的颜色值与对应坐标点的水波纹光效的颜色值进行叠加,生成水波纹特效视频。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行上述任一种水波纹特效视频生成方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备执行上述任一种水波纹特效视频生成方法。
根据本公开实施例的第五方面,提供根据一种计算机程序产品,当所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行上述任一种水波纹特效视频生成方法。
本公开的实施例提供的技术方案至少可以包括以下有益效果:
本公开实施例中,根据目标用户账户的待处理视频的触发操作,获取该待处理视频中每帧图像的各个像素坐标信息,以及在检测到所述目标用户账户输入的位置指令操作时,选取水波纹中心坐标信息,所述水波纹中心坐标信息为所述待处理视频中每帧图像上的同一像素坐标信息,然后确定所述待处理视频中每帧图像的各个像素坐标点信息的偏移量,并基于所述水波纹中心坐标信息,按照所述偏移量对所述每帧图像的各个像素坐标点信息进行位置偏移,得到偏移后每帧图像的各个像素坐标信息;并对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频。也就是说,本公开中,对水波纹的传播进行了近似处理,选取水波纹中心坐标点,基于选取的水波纹中心坐标点按照确定的各个像素坐标点信息的偏移量对待处理视频中每帧图像的各个像素坐标点信息进行位置偏移,相对于传统的流体力学复杂的迭代计算而言,减少了计算量,实现了在移动终端上对水波纹特效进行实时渲染,提高了用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种水波纹特效视频生成方法的流程图。
图2是根据一示例性实施例示出的一种水波纹特效视频生成方法的另一流程图。
图3是根据一示例性实施例示出的一种水波纹特效视频生成方法的又一流程图。
图4是根据一示例性实施例示出的一种水波纹导函数的图形的示意图。
图5是根据一示例性实施例示出的一种不同位置处的光线偏折量的示意图。
图6是根据一示例性实施例示出的一种水波纹三维示意图。
图7是根据一示例性实施例示出的一幅图像的示意图。
图8是在图7所示的图像中添加网络格点后的示意图。
图9是图8扭曲后的图像示意图。
图10是图9添加光效后示意图。
图11是根据一示例性实施例示出的一种水波纹特效视频生成装置的框图。
图12是根据一示例性实施例示出的一种水波纹特效视频生成装置的另一框图。
图13是根据一示例性实施例示出的一种水波纹特效视频生成装置的又一框图。
图14是根据一示例性实施例示出的一种电子设备的结构框图。
图15是根据一示例性实施例示出的一种用于水波纹特效视频生成的装置的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种水波纹特效视频生成方法的流程图,如图1所示,水波纹特效视频生成方法包括以下步骤:
在步骤101中,检测到目标用户账户的待处理视频的触发操作,获取待处理视频中每帧图像的各个像素坐标信息;
在步骤102中,检测到所述目标用户账户输入的位置指令操作,选取水波纹中心坐标信息,所述水波纹中心坐标信息为所述待处理视频中预设位置的坐标信息;
在步骤103中,确定所述待处理视频中每帧图像的各个像素坐标点信息的偏移量;
在步骤104中,基于所述水波纹中心坐标信息,按照所述偏移量对所述每帧图像中对应的各个像素坐标点信息进行位置偏移,得到偏移后每帧图像的各个像素坐标信息;
在步骤105中,对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频。
本公开所述的水波纹特效视频生成方法可以应用于终端、服务器等,在此不作限制,其终端实施设备可以是智能手机,笔记本电脑、平板电脑等电子设备,在此不作限制。
下面结合图1,对本公开实施例提供的一种水波纹特效视频生成方法的具体实施步骤进行详细说明。
首先,执行步骤101,检测到目标用户账户的待处理视频的触发操作,获取视频中每帧图像的各个像素坐标信息;
该步骤中,待处理视频可以是用户上传的视频,也可以是用户正在拍摄的视频等,本实施例不做限制。该待处理视频就是为了用来制作水波纹特效的视频。触发操作,可以是目标用户账户上传待制作水波纹特效的待处理视频的触发操作,或者是目标用户账户通过制作水波纹特效软件上传的触发操作,根据该触操作,获取该待处理视频中每帧图像的各个像素坐标信息。需要说明的是,图像都是由像素组成的,像素坐标信息是像素在图像中的位置信息。比如,图像中某个点的像素坐标信息为(1000,500),则表示横向坐标第1000点与纵向坐标500点相交的位置。
其获取的方式有多种,比如,可以将每帧图像保存为bmp格式的,然后用代码打开文件,将文件的数据载入内存,保存为一个二维数组,通过二维数据,就可以读取每帧图像中的每一个像素坐标信息。
需要说明的是,获取待处理视频中每帧图像的各个像素坐标信息的过程,对于本领域技术人员已是熟知技术,在此不再赘述。
其次,执行步骤102,检测到所述目标用户账户输入的位置指令操作,选取水波纹中心坐标信息,所述水波纹中心坐标信息为所述待处理视频中每帧图像上的同一像素坐标信息;
该步骤中,在检测到所述目前用户账户在所述待处理视频上选取的水波纹中心坐标的位置指令操作时,根据所述位置指令操作,选择水波纹中心坐标信息,该水波纹中心坐标信息可以为所述待处理视频中每帧图像上的同一坐标信息;需要说明的是,该实施例中,如果需要在待处理视频中生成多个水波纹特效,该步骤中,还需要根据位置指令选取多个水波纹特效中每个水波纹中心坐标信息。
再次,执行步骤103,确定所述待处理视频中每帧图像的各个像素坐标点信息的偏移量;
该步骤中,一种确定方式为:先确定水波纹的近似函数;然后,根据所述水波纹的近似函数计算每帧图像的各个像素坐标点信息的偏移量。其确定的具体实现过程,详见下述如图2所示的实施例。
再次,执行步骤104,基于所述水波纹中心坐标信息,按照所述偏移量对所述每帧图像的各个像素坐标点信息进行位置偏移,得到偏移后每帧图像的各个像素坐标信息;
该步骤中,以水波纹中心坐标信息为基准,按照各个像素坐标信息对应的偏移量对应每帧图像的各个像素坐标点信息进行位置偏移,即图像扭曲,从而得到偏移后每帧图像的各个像素坐标信息。其中,按照各个像素坐标信息对所述每帧图像的各个像素坐标点信息进行位置偏移的具体过程,详见下述实施例。
最后,执行步骤105,对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频。
该步骤中,将偏移后的每帧图像的各个像素坐标点信息的颜色值与对应水波纹光效的各个坐标点的颜色值进行叠加,生成水波纹特效视频,并将生成的所述水波纹特效视频展示给所述目标用户账户。
进一步,在上述实施例的基础上,所述方法还可以包括:展示所述水波纹特效视频,即将生成的水波纹特效视频展示给用户。
本公开实施例中,根据目标用户账户上传待处理视频的触发操作,获取视频中每帧图像的各个像素坐标信息,以及在检测到所述目标用户账户输入的位置指令操作时,选取水波纹中心坐标信息,然后基于所述水波纹中心坐标信息,按照确定的待处理视频中每帧图像的各个像素坐标点信息的偏移量对所述每帧图像的各个像素坐标点信息进行位置偏移,得到偏移后每帧图像的各个像素坐标信息;并对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频。也就是说,本公开中,对水波纹的传播进行了近似处理,选取水波纹中心坐标点,基于选取的水波纹中心坐标信息,按照确定的各个像素坐标点信息的偏移量对待处理视频中每帧图像的各个像素坐标点信息进行位置偏移,相对于传统的流体力学复杂的迭代计算而言,减少计算量,实现了在移动终端上对水波纹特效进行实时渲染,提高了用户体验。
图2是根据一示例性实施例示出的一种水波纹特效视频生成方法的另一流程图,所述方法还可以包括:
步骤201:检测到目标用户账户的待处理视频的触发操作,获取所述待处理视频中每帧图像的各个像素坐标信息;
步骤202:检测到所述目标用户账户输入的位置指令操作,选取水波纹中心坐标信息,所述水波纹中心坐标信息为所述待处理视频中每帧图像上的同一像素坐标信息;
该实施例中,步骤201至步骤202与步骤101和步骤102相同,其实现过程详见上述,在此不再赘述。
步骤203:确定水波纹的近似函数;
该步骤中,由于水波的本质是带阻尼的简谐波,中心为波源,向四周扩散,并在传播过程中不断衰减,阻尼方程本身为一个微分方程,如下:f=- λdr/dt,其中,λ为波长,dr表示r的微分,dt表示t的微分。
求解微分方程比较复杂,且往往没有解析解,只有数值解,即没有特定的表达式,所以本公开从波的传播特性入手,给出一个近似于波的函数,即经典的sinc函数,其表达式为:f=-sinakr/kr,其中,k为系数,用于决定波形的疏密。
具体如图3所示,为本公开提供的一种近似于波的函数的图形示意图,在图3中,k的取值以10为例,但在实际应用中,并不限于此,此处只是举例说明。由于图3所述的图形与水波纹的形状类似,故,本公开采用此函数进行函数近似,作为水波纹的近似函数,简称为水波纹函数。
步骤204:根据所述水波纹的近似函数计算每帧图像的各个像素坐标点信息的偏移量;
该步骤具体包括:先对所述水波纹的近似函数求导,得到水波纹导函数;然后,沿波的传播方向估算所述水波纹导函数所呈现的波形图像上各个位置的光线偏折量,再后,根据所述每帧图像的各个位置的光线偏折量以及水波纹中心坐标信息,建立极坐标系,最后,根据建立的所述极坐标系计算每帧图像的各个像素坐标点信息的偏移量。
其中,对所述水波纹的近似函数求导,得到水波纹导函数,为了便于理解,具体如图4所示,根据步骤203近似得到了水波纹函数,即水面的函数,根据光的折射定律,考察其中一根光线垂直射入水面后的折射光线的近似情况,具体如图4所示:包括:光线,水波纹,θ1,θ2,n1和n2,水波纹函数的倒数。满足折射定律:
Figure BDA0002470268690000111
已知,空气的折射率为n1=1,水的折射率大于n2>1,根据上述公式可知,θ1>θ2,故此处光线向左偏折了Δr,即光线偏折量,如果可以计算出Δr,就可以算出经过水波纹之后的图像。下面进行近似估计,根据上述公式,可知,θ1越大,那么θ2就越大,就越偏折,而θ1的大小则与光线与水面的夹角关联,光线始终竖直,则水面的斜率越大,θ1也就越大。经过上述分析,可以知道Δr与水波纹函数的斜率呈正相关,于是,可以对水波纹函数求导,即得到上图4所示的水波纹函数的导数(即水波纹导函数),然后,根据水波纹函数的导数,来估计光线的偏折量Δr。也就是说,沿波的传播方向估算所述水波纹导函数所呈现的波形图像上各个位置的光线偏折量Δr,即:
Figure BDA0002470268690000112
基于上述公式,可以得到波形图像上各个位置处的光线偏折量,具体如图5所示。
基于上述对折射光线的近似计算,近似得到了偏折量与水波纹函数的导函数正相关的结论,但只是得到了水波纹的一个截面,即一维函数,而本公开需要得到三维函数,如下述公式所示,其对应的水波纹三维示意如图6所示。
Figure BDA0002470268690000121
基于此,需要根据所述每帧图像的各个位置的光线偏折量以及水波纹中心坐标信息,建立极坐标系,也就是将上述的一维图形,绕z轴旋转即可得到三维图形。一维图形的情况是:光线的偏折是沿波的传播方向,而三维图形的情况也是如此,只不过此时波向四周传播,所以光线的偏折方向也向四周各个方向传播。为了便于描述,需要建立一个偏折量的极坐标系:
Figure BDA0002470268690000122
此时的偏折方向为θ方向,则偏折后的坐标为:
Figure BDA0002470268690000123
计算出了偏折后的x1和y1的坐标,即沿波的传播方向估算所述水波纹导函数所呈现的波形图像上各个位置的光线偏折量,就可以重建被水波纹折射后的图像,其坐标关系满足上述公式。
步骤205:基于所述水波纹中心坐标信息,按照所述偏移量对所述每帧图像的各个像素坐标点信息进行位置偏移,得到偏移后每帧图像的各个像素坐标信息;
该步骤中先根据所述每帧图像的各个位置的光线偏折量以及水波纹中心坐标信息,建立偏移量的极坐标系;然后,在根据建立的所述极坐标系计算每帧图像的各个像素坐标点信息的偏移量。
其中,建立偏移量的极坐标系的公式如下:
f(x0,y0)=(Δr*cosθ,Δr*sinθ)
其中,
Figure 823509DEST_PATH_1
表示光线垂直于水面的偏折角度;
Figure BDA0002470268690000131
表示,某一时刻光沿半径方向的偏折量;其中,K为系统,用于调节水波纹的疏密程度和扩散程度,其中,可以设置kt=at,其中,a为参数,由用户自行设置,反映波纹传播速度,t代表时间,下同;
Figure BDA0002470268690000132
r表示水波纹的半径,(x0,y0)表示偏移前每帧图像的各个像素坐标,f代表关于各个像素坐标(x0,y0)偏移量的函数,(cx, cy)表示为水波纹的中心坐标。
步骤206:对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频。
该步骤中,在添加对应坐标点的水波纹光效前,需要先根据所述水波纹的近似函数计算每帧图像的各个像素坐标点信息对应的水波纹光效的颜色值,所述水波纹光效的颜色值为灰度值255,然后,将偏移后的每帧图像的各个像素坐标点信息的颜色值与对应水波纹光效的各个坐标点的颜色值进行叠加,生成水波纹特效视频。
需要说明的是,近似函数自身没有颜色值,但是,根据近似函数可以计算出像素的坐标点信息,利用像素的坐标点信息可以计算出水波纹光效的颜色值,也就是说,图像中的任何像素点的灰度值均为0或者255,分别代表黑色和白色,光效就是灰度值255显示的白色。
本公开实施例中,根据目标用户账户的待处理视频的触发操作,获取待处理视频中每帧图像的各个像素坐标信息,以及在检测到所述目标用户账户输入的位置指令操作时,选取水波纹中心坐标信息,然后,确定水波纹的近似函数;根据所述水波纹的近似函数计算每帧图像的各个像素坐标点信息的偏移量,然后基于所述水波纹中心坐标信息,按照所述偏移量按照所述偏移量对所述每帧图像中对应的各个像素坐标点信息进行位置偏移;并对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频。也就是说,本公开中,利用水波纹导函数所呈现的波形图像上各个位置的光线偏折量以及选择的水波纹中心坐标信息,估算待处理视频中每帧图像的各个像素坐标点信息进行位置偏移,以及水波纹光效的添加,生成了水波纹特效视频,即本公开通过函数的近似方法,对水波纹的传播进行了近似处理,相比于流体力学复杂的迭代计算方程而言,不但降低了计算量,而且,对可以在移动终端上对水波纹特效进行实时渲染,提高了用户体验。
进一步,本公开中,在对水波纹函数的求解时,而是从水波纹的形状特性出发,选择已有的sinc函数进行近似;与现有的相关技术中,对流体力学的阻尼方程进行迭代求解过程,减少了计算量。
另外,本公开中,考虑到光在水波纹表面进行折射时,没有通过传统的折射定律进行复杂求解,而是将偏折量与水波纹函数的导函数联系起来,通过其导函数求解每个像素坐标点的偏折量;减少了计算量,提高了计算效率。
以及在考虑水波纹传播时,不是从流体力学的角度进行迭代计算,而是根据其传播特性,考察其作为波的性质和衰减的因素,合理地构建水波纹的传播函数,进行实时计算,实现了在中低端手机上实时渲染水波纹特效的目的。
可选的,在另一实施例中,该实施例在上述实施例的基础上,终端为了获取水波纹特效视频,可以通过向服务器发送目标用户账户上传视频的触发操作请求,触发所述服务器获取视频中每帧图像的各个像素坐标信息,所述视频为用来制作水波纹特效的视频,并返回;和/或
终端通过向服务器发送目标用户账户输入的位置指令操作请求,触发所述服务器选取水波纹中心坐标信息,所述水波纹中心坐标信息为所述视频中任一像素坐标信息,并返回;和/或
终端通过向服务器发送位置偏移请求;触发所述服务器基于所述水波纹中心坐标信息对所述每帧图像的各个像素坐标点信息进行位置偏移,得到偏移后每帧图像的各个像素坐标信息;和/或
终端通过向服务器发送添加水波纹光效请求,触发所述服务器对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频,进一步,还可以展示所述水波纹特效视频。
具体的,服务器可以将视频中每帧图像的各个像素坐标信息,选取水波纹中心坐标信息,偏移后每帧图像的各个像素坐标信息以及添加对应坐标点的水波纹光效,生成水波纹特效视频发送给目标用户账户所在的终端。
为了便于理解,下面以具体实例来说明。
本公开提供的一种水波纹特效视频生成方法,可以通过图像扭曲(像素坐标点的位置偏移)和添加光效来完成,以一幅图像为例,具体如图7所示。
首先,本公开中,为了便于理解图像扭曲,在图7所示的图像中添加网络格点,添加网络格点后的图像如图8所示,由图8可知,网络格点从图7 到图8经历像素坐标点的偏移,而每个像素坐标点的偏移量是可以预先根据水波纹近似函数计算出来的,设图7中各个像素坐标为(x0,y0),图8中的各个像素坐标为(x,y),则偏移量满足:
(Δx,Δy)=(x,y)-(x0,y0)=f(x0,y0)
根据前面所推导的,设水波纹中心的坐标为(cx,cy),建立极坐标系:
f(x0,y0)=(Δr*cosθ,Δr*sinθ),其中,
Figure 603246DEST_PATH_1
表示光线垂直于水面的偏折角度;
Figure BDA0002470268690000153
表示,某一时刻光沿半径方向的偏移量;其中,K为系统,用于调节水波纹的疏密程度和扩散程度;
Figure BDA0002470268690000154
r表示水波纹的半径,(x0,y0)表示偏移前每帧图像的各个像素坐标,f代表关于各个像素坐标(x0,y0)偏移量的函数, (cx,cy)表示为水波纹的中心坐标。
基于上述,得到偏移后的像素坐标公式为:
Figure BDA0002470268690000151
所以,根据上述公式,就知道把原图像中的某一像素坐标点该偏移到什么位置上,从而实现了图像扭曲,其对图8扭曲后的图像如图9所示。
其次,就是在扭曲后的图像上添加对应坐标点的水波纹光效:
由图9可知,如果只对图像进行了扭曲,其效果并不是很显著,因此,还需要对扭曲后的图像添加水波纹光效,其添加水波纹光效后如图10所示,相比于传统的光照模型,进行了简化。具体的,可以通过下述公式来添加水波纹光效。
I=I0+I1
其中,I0为图像扭曲后的各个像素坐标点的颜色值(即图8颜色),I1为水波纹的光效图的颜色值(即图9的颜色),I为添加水波纹光效图后各个像素坐标点的颜色值(即图10的颜色)。需要说明的是,图像中的任何像素点的灰度值均为0或者255,分别代表黑色和白色。图像的二值图,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。
其中,根据所述水波纹的近似函数计算每帧图像的各个像素坐标点信息对应的水波纹光效的颜色值,即I1满足下述公式:
Figure BDA0002470268690000161
该实施例汇总,系数K以取0,2,A以为0,8为例,但在实际应用中,并不限于此。
本公开中,可以通过函数近似的方式,对水波纹的传播进行了近似处理,相对于传统的水波纹特效,大大降低了计算量,实现在移动终端上对水波纹特效进行实时渲染,提高了用户体验。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本实施公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
图11是根据一示例性实施例示出的一种水波纹特效视频生成方法的又一示意图,所述方法应用于服务器,至少包括下述一个步骤:
步骤1101:响应于接收到目标用户账户的待处理视频的触发操作请求,获取所述待处理视频中每帧图像的各个像素坐标信息;其中,所述待处理视频为用来制作水波纹特效的视频;
步骤1102:响应于接收到所述目标用户账户输入的位置指令操作请求,选取水波纹中心坐标信息,所述水波纹中心坐标信息为所述待处理视频中每帧图像上的同一像素坐标信息;
步骤1103:响应于接收到确定偏移量的请求,确定所述待处理视频中每帧图像的各个像素坐标点信息的偏移量;
步骤1104:响应于接收到位置偏移请求,基于所述水波纹中心坐标信息,按照所述偏移量对所述每帧图像的各个像素坐标点信息进行位置偏移,得到偏移后每帧图像的各个像素坐标信息;
步骤1105:响应于接收到添加水波纹光效请求,对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频。进一步,还还可以展示所述水波纹特效视频。
关于该实施例的具体详见,详见上述,在此不再赘述。
本公开实施例中,响应于接收到目标用户账户上传视频的触发操作请求,获取视频中每帧图像的各个像素坐标信息,以及在检测到所述目标用户账户输入的位置指令操作时,选取水波纹中心坐标信息,响应于接收到确定偏移量的请求,确定所述待处理视频中每帧图像的各个像素坐标点信息的偏移量,然后基于所述水波纹中心坐标信息,按照所述偏移量对所述每帧图像的各个像素坐标点信息进行位置偏移,得到偏移后每帧图像的各个像素坐标信息;并对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频,并展示所述水波纹特效视频。也就是说,本公开中,对水波纹的传播进行了近似处理,选取水波纹中心坐标点,并基于水波纹中心坐标点对视频中每帧图像的各个像素坐标点信息进行位置偏移,相对于传统的流体力学复杂的迭代计算而言,大大简化计算量,实现了再移动终端上对水波纹特效进行实时渲染,提高了用户体验。同时可以通过服务器处理获取视频中每帧图像的各个像素坐标信息、偏移量的计算以及按照偏移量对各个像素坐标点信息进行位置偏移,来降低自身设备的处理资源消耗,提高处理效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本实施公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
图12是根据一示例性实施例示出的一种水波纹特效视频生成装置的框图,所述装置包括:获取模块1201,选取模块1202,确定模块1203,偏移模块1204和生成模块1205,其中,
该获取模块1201,被配置为执行检测到目标用户账户的待处理视频的触发操作,获取视频中每帧图像的各个像素坐标信息;
该选取模块1202,被配置为执行检测到所述目标用户账户输入的位置指令操作,选取水波纹中心坐标信息,所述水波纹中心坐标信息为所述视频中每帧图像上的同一像素坐标信息;
该确定模块1203,被配置为执行确定所述待处理视频中每帧图像的各个像素坐标点信息的偏移量;
该偏移模块1204,被配置为执行基于所述水波纹中心坐标信息,按照所述偏移量对所述每帧图像中对应的各个像素坐标点信息进行位置偏移,得到偏移后每帧图像的各个像素坐标信息;
该生成模块1205,被配置为执行对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述装置还可以包括:展示模块,被配置为执行展示所述生成模块生成的水波纹特效视频。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述确定模块1203包括:近似函数确定模块1301和偏移量确定模块1302,其结构示意如图如图13所示,
该近似函数确定模块1301,被配置为执行确定水波纹的近似函数;
该偏移量确定模块1302,被配置为执行根据所述水波纹的近似函数计算每帧图像的各个像素坐标点信息的偏移量。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述偏移量确定模块包括:求导模块,估算模块,建立模块和偏移量计算模块,其中,
该求导模块,被配置为执行对所述水波纹的近似函数求导,得到水波纹导函数;
该估算模块,被配置为执行沿波的传播方向估算所述水波纹导函数所呈现的波形图像上各个位置的光线偏折量;
该建立模块,被配置为执行根据所述每帧图像的各个位置的光线偏折量以及水波纹中心坐标信息,建立极坐标系;
该偏移量计算模块,被配置为执行根据建立的所述极坐标系计算每帧图像的各个像素坐标点信息的偏移量。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述建立模块通过下述公式建立极坐标系:
f(x0,y0)=(Δr*cosθ,Δr*sinθ)
其中,
Figure 998455DEST_PATH_1
表示光线垂直于水面的的篇折角度;
Figure BDA0002470268690000192
表示某一时刻光沿半径方向的偏移量;其中,K为系数,用于调节水波纹的疏密程度和扩散程度;
Figure BDA0002470268690000193
r表示水波纹的半径,(x0,y0)表示偏移前每帧图像的各个像素坐标,f代表各个像素坐标(x0,y0)偏移量的函数,(cx,cy) 表示为水波纹的中心坐标。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述装置还可以包括:颜色值计算模块,其中,
该颜色值计算模块,被配置为执行在所述生成模块添加水波纹光效前,根据所述水波纹的近似函数计算每帧图像的各个像素坐标点信息对应的水波纹光效的颜色值。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述生成模块,具体被配置为将偏移后的每帧图像的各个像素坐标点信息的颜色值与对应坐标点的水波纹光效的颜色值进行叠加,生成水波纹特效视频。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述装置还包括:第一触发模块,和/或第二触发模块,和/或第三触发模块和/或第四触发模块,其中,
第一触发模块,被配置为执行通过向服务器发送目标用户账户的待处理视频的触发操作请求,触发所述服务器获取所述待处理视频中每帧图像的各个像素坐标信息,并返回;和/或
第二触发模块,被配置为执行通过向服务器发送目标用户账户输入的位置指令操作请求,触发所述服务器选取水波纹中心坐标信息,所述水波纹中心坐标信息为所述待处理视频中每帧图像上的同一像素坐标信息,并返回;和/或
第四触发模块,被配置为执行通过向服务器偏移量的确定请求,触发所述服务器确定所述待处理视频中每帧图像的各个像素坐标点信息的偏移量;并返回,和/或
第四触发模块,被配置为执行通过向服务器发送位置偏移请求;触发所述服务器基于所述水波纹中心坐标信息,按照所述偏移量对所述每帧图像的各个像素坐标点信息进行位置偏移,得到偏移后每帧图像的各个像素坐标信息;并返回,和/或
第五触发模块,被配置为执行通过向服务器发送添加水波纹光效请求,触发所述服务器对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频。
可选的,在示例性实施例中,本公开还提供一种水波纹特效视频生成装置,包括下述至少一个模块:获取模块、选取模块,偏移模块和生成模块,其中,
获取模块,被配置为执行响应于接收到目标用户账户的待处理视频的触发操作请求,获取所述待处理视频中每帧图像的各个像素坐标信息;
选取模块,被配置为执行响应于接收到所述目标用户账户输入的位置指令操作请求,选取水波纹中心坐标信息,所述水波纹中心坐标信息为所述待处理视频中每帧图像上的同一像素坐标信息;
确定模块,被配置为执行响应于接收到确定偏移量请求,确定所述待处理视频中每帧图像的各个像素坐标点信息的偏移量;
偏移模块,被配置为执行响应于接收到位置偏移请求,基于所述水波纹中心坐标信息,按照所述偏移量对所述每帧图像的各个像素坐标点信息进行位置偏移,得到偏移后每帧图像的各个像素坐标信息;
生成模块,被配置为执行响应于接收到添加水波纹光效请求,对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频,并展示所述水波纹特效视频。
可选的,在示例性实施例中,本公开还提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上所述的水波纹特效视频生成方法。
可选的,在示例性实施例中,本公开还提供一种存储介质,包括:当所述存储介质中的指令由电子设备执行时,使得所述电子设备能够执行如上所述的水波纹特效视频生成方法。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,相关之处参见方法实施例的部分说明即可,此处将不做详细阐述说明。
在示例性实施例中,上述指令可由装置的处理器执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图14是根据一示例性实施例示出的一种电子设备1400的框图。例如,电子设备1400可以为移动终端也可以为服务器,本公开实施例中以电子设备为移动终端为例进行说明。例如,电子设备1400可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图14,电子设备1400可以包括以下一个或多个组件:处理组件 1402,存储器1404,电力组件1406,多媒体组件1408,音频组件1410,输入/输出(I/O)的接口1412,传感器组件1414,以及通信组件1416。
处理组件1402通常控制电子设备1400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1402可以包括一个或多个处理器1420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1402可以包括一个或多个模块,便于处理组件1402 和其他组件之间的交互。例如,处理组件1402可以包括多媒体模块,以方便多媒体组件1408和处理组件1402之间的交互。
存储器1404被配置为存储各种类型的数据以支持在设备1400的操作。这些数据的示例包括用于在电子设备1400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1406为电子设备1400的各种组件提供电力。电源组件1406 可以包括电源管理系统,一个或多个电源,及其他与为电子设备1400生成、管理和分配电力相关联的组件。
多媒体组件1408包括在所述电子设备1400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1408包括一个前置摄像头和/或后置摄像头。当设备1400 处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1410被配置为输出和/或输入音频信号。例如,音频组件1410 包括一个麦克风(MIC),当电子设备1400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1404或经由通信组件1416发送。在一些实施例中,音频组件1410还包括一个扬声器,用于输出音频信号。
I/O接口1412为处理组件1402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1414包括一个或多个传感器,用于为电子设备1400提供各个方面的状态评估。例如,传感器组件1414可以检测到设备1400的打开/ 关闭状态,组件的相对定位,例如所述组件为电子设备1400的显示器和小键盘,传感器组件1414还可以检测电子设备1400或电子设备1400一个组件的位置改变,用户与电子设备1400接触的存在或不存在,电子设备1400 方位或加速/减速和电子设备1400的温度变化。传感器组件1414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1414还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1416被配置为便于电子设备1400和其他设备之间有线或无线方式的通信。电子设备1400可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件1416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1416还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID) 技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备1400可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述所示的水波纹特效视频生成方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1404,上述指令可由电子设备1400的处理器 1420执行以完成上述所示的水波纹特效视频生成方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,当计算机程序产品中的指令由电子设备1400的处理器1404执行时,使得电子设备400执行上述所示的水波纹特效视频生成方法。
图15是根据一示例性实施例示出的一种用于水波纹特效视频生成的装置1500的框图。例如,装置1500可以被提供为一服务器。参照图15,装置 1500包括处理组件1522,其进一步包括一个或多个处理器,以及由存储器 1532所代表的存储器资源,用于存储可由处理组件1522的执行的指令,例如应用程序。存储器1532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1522被配置为执行指令,以执行上述水波纹特效视频生成方法。
装置1500还可以包括一个电源组件1526被配置为执行装置1500的电源管理,一个有线或无线网络接口1550被配置为将装置1500连接到网络,和一个输入输出(I/O)接口1558。装置1500可以操作基于存储在存储器1532的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM, FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (10)

1.一种水波纹特效视频生成方法,其特征在于,包括:
检测到目标用户账户的待处理视频的触发操作,获取所述待处理视频中每帧图像的各个像素坐标信息;
检测到所述目标用户账户输入的位置指令操作,选取水波纹中心坐标信息,所述水波纹中心坐标信息为所述待处理视频中每帧图像上的同一像素坐标信息;
确定水波纹的近似函数;
对所述水波纹的近似函数求导,得到水波纹导函数;
沿波的传播方向估算所述水波纹导函数所呈现的波形图像上各个位置的光线偏折量;
根据所述每帧图像的各个位置的光线偏折量以及所述水波纹中心坐标信息,建立极坐标系;
根据建立的所述极坐标系、所述波形图像上各个位置的光线偏折量和所述波形图像上各个位置的偏折角度,计算所述每帧图像的各个像素坐标点信息的偏移量,所述波形图像上各个位置的偏折角度是根据所述水波纹中心坐标和所述波形图像上各个位置的坐标进行计算得到的;
基于所述水波纹中心坐标信息,按照所述偏移量对所述每帧图像中对应的各个像素坐标点信息进行位置偏移,得到偏移后每帧图像的各个像素坐标信息;
对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频。
2.根据权利要求1所述的水波纹特效视频生成方法,其特征在于,按照如下公式计算所述偏移量:
f(x0,y0)=(Δr*cosθ,Δr*sinθ)
其中,
Figure DEST_PATH_DEST_PATH_1
表示光线垂直于水面的偏折角度;
Figure FDA0003736504710000021
表示某一时刻光沿半径方向的偏折量;其中,K为系数,用于调节水波纹的疏密程度和扩散程度;
Figure FDA0003736504710000022
r表示水波纹的半径,(x0,y0)表示偏移前每帧图像的各个像素坐标,f代表关于各个像素坐标(x0,y0)偏移量的函数,(cx,cy)表示为水波纹的中心坐标。
3.根据权利要求1所述的水波纹特效视频生成方法,其特征在于,在所述对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效前,所述方法还包括:
根据所述水波纹的近似函数计算每帧图像的各个像素坐标点信息对应的水波纹光效的颜色值。
4.根据权利要求3所述的水波纹特效视频生成方法,其特征在于,所述对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频,包括:
将偏移后的每帧图像的各个像素坐标点信息的颜色值与对应坐标点的水波纹光效的颜色值进行叠加,生成水波纹特效视频。
5.一种水波纹特效视频生成装置,其特征在于,包括:
获取模块,被配置为执行检测到目标用户账户的待处理视频的触发操作,获取视频中每帧图像的各个像素坐标信息;
选取模块,被配置为执行检测到所述目标用户账户输入的位置指令操作,选取水波纹中心坐标信息,所述水波纹中心坐标信息为所述视频中每帧图像上的同一像素坐标信息;
近似函数确定模块,被配置为确定水波纹的近似函数;
求导模块,被配置为对所述水波纹的近似函数求导,得到水波纹导函数;
估算模块,被配置为沿波的传播方向估算所述水波纹导函数所呈现的波形图像上各个位置的光线偏折量;
建立模块,被配置为根据所述每帧图像的各个位置的光线偏折量以及所述水波纹中心坐标信息,建立极坐标系;
偏移量计算模块,被配置为根据建立的所述极坐标系、所述波形图像上各个位置的光线偏折量和所述波形图像上各个位置的偏折角度,计算所述每帧图像的各个像素坐标点信息的偏移量,所述波形图像上各个位置的偏折角度是根据所述水波纹中心坐标和所述波形图像上各个位置的坐标进行计算得到的;
偏移模块,被配置为执行基于所述水波纹中心坐标信息,按照所述偏移量对所述每帧图像中对应的各个像素坐标点信息进行位置偏移,得到偏移后每帧图像的各个像素坐标信息;
生成模块,被配置为执行对偏移后的每帧图像的各个像素坐标点信息添加对应坐标点的水波纹光效,生成水波纹特效视频。
6.根据权利要求5所述的水波纹特效视频生成装置,其特征在于,所述偏移量计算模块通过下述公式计算所述偏移量:
f(x0,y0)=(Δr*cosθ,Δr*sinθ)
其中,
Figure 586880DEST_PATH_DEST_PATH_1
表示光线垂直于水面的偏折 角度;
Figure FDA0003736504710000032
表示某一时刻光沿半径方向的偏移量;其中,K为系数,用于调节水波纹的疏密程度和扩散程度;
Figure FDA0003736504710000033
r表示水波纹的半径;(x0,y0)表示偏移前每帧图像的各个像素坐标,f代表各个像素坐标(x0,y0)偏移量的函数,(cx,cy)表示为水波纹的中心坐标。
7.根据权利要求5所述的水波纹特效视频生成装置,其特征在于,所述装置还包括:
颜色值计算模块,被配置为执行在所述生成模块添加水波纹光效前,根据所述水波纹的近似函数计算每帧图像的各个像素坐标点信息对应的水波纹光效的颜色值。
8.根据权利要求7所述的水波纹特效视频生成装置,其特征在于,所述生成模块,具体被配置为将偏移后的每帧图像的各个像素坐标点信息的颜色值与对应坐标点的水波纹光效的颜色值进行叠加,生成水波纹特效视频。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至4任一项所述的水波纹特效视频生成方法。
10.一种存储介质,其特征在于,包括:当所述存储介质中的指令由电子设备执行时,使得所述电子设备能够执行如权利要求1至4任一项所述的水波纹特效视频生成方法。
CN202010346270.3A 2020-04-27 2020-04-27 水波纹特效视频生成方法、装置、电子设备及存储介质 Active CN113645414B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010346270.3A CN113645414B (zh) 2020-04-27 2020-04-27 水波纹特效视频生成方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010346270.3A CN113645414B (zh) 2020-04-27 2020-04-27 水波纹特效视频生成方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113645414A CN113645414A (zh) 2021-11-12
CN113645414B true CN113645414B (zh) 2022-09-30

Family

ID=78415209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010346270.3A Active CN113645414B (zh) 2020-04-27 2020-04-27 水波纹特效视频生成方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113645414B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814006A (zh) * 2010-04-28 2010-08-25 中兴通讯股份有限公司 一种实现水波纹特效的方法和装置
CN109151573B (zh) * 2018-09-30 2021-06-15 Oppo广东移动通信有限公司 视频增强控制方法、装置以及电子设备
CN110917617B (zh) * 2019-11-15 2023-10-24 瑞立视视觉创意科技(深圳)有限公司 水波纹图像的生成方法、装置、设备及存储介质
CN110944230B (zh) * 2019-11-21 2021-09-10 北京达佳互联信息技术有限公司 视频特效的添加方法、装置、电子设备及存储介质
CN111008928B (zh) * 2019-11-26 2024-03-29 杭州小影创新科技股份有限公司 一种实现图像雨滴滴落、划动波纹特效的方法及系统

Also Published As

Publication number Publication date
CN113645414A (zh) 2021-11-12

Similar Documents

Publication Publication Date Title
CN108182730B (zh) 虚实对象合成方法及装置
CN110675310B (zh) 视频处理方法、装置、电子设备及存储介质
CN109889724B (zh) 图像虚化方法、装置、电子设备及可读存储介质
CN109345485B (zh) 一种图像增强方法、装置、电子设备及存储介质
CN107977934B (zh) 图像处理方法及装置
CN106778773B (zh) 图片中目标物的定位方法及装置
CN108154465B (zh) 图像处理方法及装置
US11030733B2 (en) Method, electronic device and storage medium for processing image
CN110944230B (zh) 视频特效的添加方法、装置、电子设备及存储介质
CN110933334B (zh) 视频降噪方法、装置、终端及存储介质
CN112785672B (zh) 图像处理方法及装置、电子设备和存储介质
CN113888392A (zh) 一种图像渲染方法、装置、电子设备及存储介质
CN110782532B (zh) 图像生成方法、生成装置、电子设备及存储介质
CN110796012B (zh) 图像处理方法、装置、电子设备及可读存储介质
CN109784327B (zh) 边界框确定方法、装置、电子设备及存储介质
CN107730443B (zh) 图像处理方法、装置及用户设备
US9665925B2 (en) Method and terminal device for retargeting images
CN107292901B (zh) 边缘检测方法及装置
CN113645414B (zh) 水波纹特效视频生成方法、装置、电子设备及存储介质
CN112565625A (zh) 视频处理方法、装置及介质
CN111325674A (zh) 图像处理方法、装置及设备
CN113160099B (zh) 人脸融合方法、装置、电子设备、存储介质及程序产品
CN111223114B (zh) 一种图像区域的分割方法、装置及电子设备
CN110312117B (zh) 数据刷新方法及装置
CN118014869A (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