CN110944230B - 视频特效的添加方法、装置、电子设备及存储介质 - Google Patents
视频特效的添加方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110944230B CN110944230B CN201911150797.2A CN201911150797A CN110944230B CN 110944230 B CN110944230 B CN 110944230B CN 201911150797 A CN201911150797 A CN 201911150797A CN 110944230 B CN110944230 B CN 110944230B
- Authority
- CN
- China
- Prior art keywords
- portrait
- edge information
- preset
- video
- current frame
- 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
Links
- 230000000694 effects Effects 0.000 title claims abstract description 154
- 238000000034 method Methods 0.000 title claims abstract description 62
- 239000003086 colorant Substances 0.000 claims description 46
- 239000011159 matrix material Substances 0.000 claims description 40
- 238000012545 processing Methods 0.000 claims description 24
- 230000009466 transformation Effects 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 19
- 101100328883 Arabidopsis thaliana COL1 gene Proteins 0.000 claims description 12
- 101100328890 Arabidopsis thaliana COL3 gene Proteins 0.000 claims description 12
- 101100328886 Caenorhabditis elegans col-2 gene Proteins 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000000926 separation method Methods 0.000 claims description 5
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 22
- 230000001795 light effect Effects 0.000 description 14
- 230000011218 segmentation Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 5
- 230000002238 attenuated effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/254—Analysis of motion involving subtraction of images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/162—Detection; Localisation; Normalisation using pixel segmentation or colour matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/165—Detection; Localisation; Normalisation using facial parts and geometric relationships
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/167—Detection; Localisation; Normalisation using comparisons between temporally consecutive images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio 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/272—Means for inserting a foreground image in a background image, i.e. inlay, outlay
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Geometry (AREA)
- Image Processing (AREA)
Abstract
本公开关于一种视频特效的添加方法、装置、电子设备及存储介质,该方法包括:对待添加视频特效的视频中的当前帧进行人像前景和背景的分离,得到所述当前帧的人像前景;根据当前帧的人像前景与前一帧的人像前景,确定当前帧中的人像边缘信息;根据当前帧在待添加视频特效的视频中的播放时间以及预设波动参数,确定人像边缘信息对应的波动偏移,并为人像边缘信息添加波动偏移;将添加波动偏移后的人像边缘信息与视频中的当前帧进行叠加,得到添加特效后的当前帧。本公开减少了计算量,可以适用于手机等移动终端中。
Description
技术领域
本公开涉及视频处理技术,尤其涉及一种视频特效的添加方法、装置、电子设备及存储介质。
背景技术
随着智能手机软硬件技术的发展,实时渲染技术在移动端的应用越来越广。在视频特效方面,用户已不满足于传统的视频特效,希望手机端也能添加视频特效。
相关技术中,通过噪声扰动的特效渲染技术多应用在电脑大型游戏中。这种噪声扰动的特效渲染技术计算量较大,受限于手机的性能,往往无法直接迁移到手机端。
发明内容
本公开提供一种视频特效的添加方法、装置、电子设备及存储介质,以至少解决相关技术中添加视频特效时计算量较大的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种视频特效的添加方法,包括:
对待添加视频特效的视频中的当前帧进行人像前景和背景的分离,得到所述当前帧的人像前景;
根据所述当前帧的人像前景与前一帧的人像前景,确定所述当前帧中的人像边缘信息;
根据所述当前帧在所述待添加视频特效的视频中的播放时间以及预设波动参数,确定所述人像边缘信息对应的波动偏移,并为所述人像边缘信息添加所述波动偏移;
将添加波动偏移后的人像边缘信息与所述视频中的当前帧进行叠加,得到添加特效后的当前帧。
可选的,在所述根据所述当前帧在所述待添加视频特效的视频中的播放时间以及预设波动参数,确定所述人像边缘信息对应的波动偏移,并为所述人像边缘信息添加所送波动偏移之前,还包括:
为人像边缘信息中的人脸添加掩膜。
可选的,所述为人像边缘信息中的人脸添加掩膜,包括:
对所述人像前景进行人脸识别,确定人脸中心点;
根据所述人像前景中每一个像素点到人脸中心点的距离,确定作为掩膜的衰减矩阵;
将所述衰减矩阵与所述人像边缘信息进行相乘运算,得到添加了人脸掩膜的人像边缘信息。
可选的,所述对所述人像前景进行人脸识别,确定人脸中心点,包括:
对所述人像前景进行人脸识别,确定两只眼睛的中心点;
将所述两只眼睛的中心点连线的中点,作为人脸中心点。
可选的,所述根据所述人像前景中每一个像素点到人脸中心点的距离,确定作为掩膜的衰减矩阵,包括:
根据人像前景中每一个像素点到人脸中心点的距离,按照如下公式确定作为掩膜的衰减矩阵:
C(x,y)=e-αL
其中,(x,y)为人像前景中任意一个像素点的坐标,C(x,y)为衰减矩阵中坐标为(x,y)对应的衰减值,L是点(x,y)到人脸中心点的距离,α为预设衰减系数。
可选的,所述根据所述当前帧在所述待添加视频特效的视频中的播放时间以及预设波动参数,确定所述人像边缘信息对应的波动偏移,包括:
根据所述播放时间、预设振幅因子、预设时间频率因子和预设空间坐标因子,按照如下公式确定人像边缘信息中每一像素点对应的波动偏移:
Δx=A(sin(ωt)sin(kx)+cos(ωt)sin(ky))
Δy=A(sin(ωt)sin(ky)+cos(ωt)sin(kx))
其中,A为预设振幅因子,ω为预设时间频率因子,k为预设空间坐标因子,t为播放时间,x为当前像素点的横坐标,y为当前像素点的纵坐标,Δx是当前像素点横坐标的波动偏移量,Δy是当前像素点纵坐标的波动偏移量。
可选的,在将添加波动偏移后的人像边缘信息与所述视频中的当前帧进行叠加之前,还包括:
根据所述播放时间和关于播放时间的三角函数,确定颜色变换对应的插值系数;
根据所述插值系数,确定预设数量的输入颜色对应的输出颜色;
将所述输出颜色插入到所述添加波动偏移后的人像边缘信息中。
可选的,根据所述播放时间和关于播放时间的三角函数,确定颜色变换对应的插值系数,包括:
根据所述播放时间和关于播放时间的三角函数,按照如下公式确定插值系数:
r=sin(vt)
其中,r是插值系数,v是预设颜色变换速度,t是所述播放时间;
根据所述插值系数,按照如下公式确定预设数量的预设输入颜色对应的输出颜色,包括:
COLout=[COL1*r+COL2*(1-r)]*r+COL3*(1-r)
其中,COLout为输出颜色,COL1、COL2和COL3为三种输入颜色。
可选的,还包括:
根据预设颜色衰减系数和预设透明度衰减系数,分别对前一帧的人像边缘信息中的颜色和透明度进行衰减处理,并叠加到当前帧的人像边缘信息中。
可选的,在所述得到添加特效后的当前帧之后,还包括:
循环执行上述为当前帧添加特效的操作,直至处理完所述视频中的所有帧,得到添加特效的视频。
根据本公开实施例的第二方面,提供一种视频特效的添加装置,包括:
前景背景分离模块,被配置为对待添加视频特效的视频中的当前帧进行人像前景和背景的分离,得到所述当前帧的人像前景;
边缘信息确定模块,被配置为根据所述当前帧的人像前景与前一帧的人像前景,确定所述当前帧中的人像边缘信息;
波动偏移添加模块,被配置为根据所述当前帧在所述待添加视频特效的视频中的播放时间以及预设波动参数,确定所述人像边缘信息对应的波动偏移,并为所述人像边缘信息添加所述波动偏移;
波动特效添加模块,被配置为将添加波动偏移后的人像边缘信息与所述视频中的当前帧进行叠加,得到添加特效后的当前帧。
可选的,所述装置还包括:
掩膜添加模块,被配置为为人像边缘信息中的人脸添加掩膜。
可选的,所述掩膜添加模块包括:
人脸中心点确定单元,被配置为对所述人像前景进行人脸识别,确定人脸中心点;
衰减矩阵确定单元,被配置为根据所述人像前景中每一个像素点到人脸中心点的距离,确定作为掩膜的衰减矩阵;
掩膜添加单元,被配置为将所述衰减矩阵与所述人像边缘信息进行相乘运算,得到添加了人脸掩膜的人像边缘信息。
可选的,所述人脸中心点确定单元具体用于:
对所述人像前景进行人脸识别,确定两只眼睛的中心点;
将所述两只眼睛的中心点连线的中点,作为人脸中心点。
可选的,所述衰减矩阵确定单元具体用于:
根据人像前景中每一个像素点到人脸中心点的距离,按照如下公式确定作为掩膜的衰减矩阵:
C(x,y)=e-αL
其中,(x,y)为人像前景中任意一个像素点的坐标,C(x,y)为衰减矩阵中坐标点(x,y)对应的衰减值,L是点(x,y)到人脸中心点的距离,α为预设衰减系数。
可选的,所述波动偏移添加模块包括:
波动偏移确定单元,被配置为根据所述播放时间、预设振幅因子、预设时间频率因子和预设空间坐标因子,按照如下公式确定人像边缘信息中每一像素点对应的波动偏移:
Δx=A(sin(ωt)sin(kx)+cos(ωt)sin(ky))
Δy=A(sin(ωt)sin(ky)+cos(ωt)sin(kx))
其中,A为预设振幅因子,ω为预设时间频率因子,k为预设空间坐标因子,t为播放时间,x为当前像素点的横坐标,y为当前像素点的纵坐标,Δx是当前像素点横坐标的波动偏移量,Δy是当前像素点纵坐标的波动偏移量。
可选的,所述装置还包括:
插值系数确定模块,被配置为根据所述播放时间和关于播放时间的三角函数,确定颜色变换对应的插值系数;
输出颜色确定模块,被配置为根据所述插值系数,确定预设数量的输入颜色对应的输出颜色;
颜色插入模块,被配置为将所述输出颜色插入到所述添加波动偏移后的人像边缘信息中。
可选的,所述插值系数确定模块具体用于:
根据所述播放时间和关于播放时间的三角函数,按照如下公式确定插值系数:
r=sin(vt)
其中,r是插值系数,v是预设颜色变换速度,t是所述播放时间;
所述输出颜色确定模块具体用于:
根据所述插值系数,按照如下公式确定预设数量的预设输入颜色对应的输出颜色,包括:
COLout=[COL1*r+COL2*(1-r)]*r+COL3*(1-r)
其中,COLout为输出颜色,COL1、COL2和COL3为三种输入颜色。
可选的,所述装置还包括:
拖影添加模块,被配置为根据预设颜色衰减系数和预设透明度衰减系数,分别对前一帧的人像边缘信息中的颜色和透明度进行衰减处理,并叠加到当前帧的人像边缘信息中。
可选的,所述装置还包括:
循环控制模块,被配置为循环执行上述为当前帧添加特效的操作,直至处理完所述视频中的所有帧,得到添加特效的视频。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的视频特效的添加方法。
根据本公开实施例的第四方面,提供存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的视频特效的添加方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,该计算机程序产品包括可读性程序代码,该可读性程序代码由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的视频特效的添加方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开实施例通过对待添加视频特效的视频中的当前帧进行人像前景和背景的分离,得到当前帧的人像前景,根据当前帧的人像前景与前一帧的人像前景,确定当前帧中的人像边缘信息,根据当前帧在视频中的播放时间以及预设波动参数,确定人像边缘信息对应的波动偏移,并为人像边缘信息添加波动偏移,将添加波动偏移后的人像边缘信息与视频中的当前帧进行迭代,得到添加特效的当前帧,由于根据波的传播原理为人像边缘信息添加波动偏移,而不是直接使用噪声扰动添加特效,从而减少了计算量,可以适用于手机等移动终端中。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种视频特效的添加方法的流程图。
图2a是本公开中的人像前景背景分割前的图片;
图2b是本公开中的人像前景背景分割后得到的人像前景的图片;
图3a是本公开中的当前帧的示例图;
图3b是本公开中的时变分割后得到的当前帧的人像边缘信息的示例图;
图4是根据一示例性实施例示出的一种视频特效的添加方法的流程图;
图5是根据一示例性实施例示出的一种视频特效的添加方法的流程图;
图6a是本公开中的人像边缘信息的示例图;
图6b是本公开中的对人像边缘信息添加的掩膜的示例图;
图6c是本公开中的添加掩膜后的人像边缘信息的示例图;
图6d是本公开中的添加波动特效的人像边缘信息的示例图;
图6e是本公开中的添加颜色变换的人像边缘信息的示例图;
图6f是本公开中的添加拖影的人像边缘信息的示例图;
图6g是本公开中的将处理后的人像边缘信息添加到当前帧后的效果示例图;
图7是根据一示例性实施例示出的一种视频特效的添加方法的流程图;
图8是根据一示例性实施例示出的一种视频特效的添加装置的框图;
图9是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种视频特效的添加方法的流程图,如图1所示,视频特效的添加方法用于手机等电子设备中,包括以下步骤。
在步骤S11中,对待添加视频特效的视频中的当前帧进行人像前景和背景的分离,得到所述当前帧的人像前景。
可以通过摄像头拍摄要添加视频特效的视频,或者,还可以从用户指定的存储位置获取待添加视频特效的视频。待添加视频特效的视频是关于人物的视频,本公开是对人像边缘添加特效。
可以按照视频中每一帧的顺序,确定当前帧,在确定当前帧后,通过前景背景分离技术对当前帧进行人像前景和背景的分离,得到当前帧的人像前景,并保存当前帧的人像前景。图2a是公开中的人像前景背景分割前的图片,图2b是本公开中的人像前景背景分割后得到的人像前景的图片,如图2a和图2b所示,可以对如图2a所示的图片进行前景背景的分离,得到如图2b所示的人像前景。
在步骤S12中,根据所述当前帧的人像前景与前一帧的人像前景,确定所述当前帧中的人像边缘信息。
可以通过时变分割的方式确定当前帧中的人像边缘信息,即将当前帧的人像前景与前一帧的人像前景均转换为灰度图,转换为灰度图后,将当前帧的人像前景的灰度值与前一帧人像前景的灰度值进行相减运算,将得到的差值取绝对值,将该绝对值作为当前帧中的人像边缘信息。图3a是本公开中的当前帧的示例图,图3b是本公开中的时变分割后得到的当前帧的人像边缘信息的示例图,即通过将图3a所示的当前帧进行时变分割,得到如图3b所示的人像边缘信息。
在进行时变分割时,需要用到前一帧的人像前景,因此,可以使用队列来保存得到的各帧的人像前景,在进行时变分割时从队列中取出前一帧的人像前景,根据当前帧的人像前景与前一帧的人像前景,进行时变分割,得到当前帧对应的人像边缘信息。
需要说明的是,除了上述时变分割的方式可以提取边缘信息,也可以通过边缘提取计算进行提取,利用边缘提取技术,可以对静态图像添加光效渲染,但是边缘提取的算法复杂度较高,对电子设备的性能要求较高。
在步骤S13中,根据所述当前帧在所述待添加视频特效的视频中的播放时间以及预设波动参数,确定所述人像边缘信息对应的波动偏移,并为所述人像边缘信息添加所述波动偏移。
波动是由一点处的振动产生的,假设在原点处有振动y=f(t),此振动以速度v向x轴正方向传播,则在t时刻x处的振动方程为常见的振动方程为简谐振动f(t)=Asin(ωt),则波函数分析此一维波动函数A为振动强度,即波动的最大强度,t为时间,x是位移,ω和v分别是频率因子和传播速度,代表波振动的快慢和波传播的快慢。
由此可知,一维波动的强度与位移x和时间t都有关系,推广到二维,则二维波动与位移x和y都有关,也与时间t有关。因此,本公开从波的传播与叠加原理出发,并添加随机噪声模拟自然界的波动,根据当前帧在视频中的播放时间以及预设波动参数确定人像边缘信息中每一像素点对应的波动偏移,将该像素点对应的像素值添加到偏移后的像素点上。
在步骤S14中,将添加波动偏移后的人像边缘信息与所述视频中的当前帧进行叠加,得到添加特效后的当前帧。
对人像边缘信息添加视频特效后,将处理后的人像边缘信息与视频中的当前帧进行叠加,即可得到添加了人像边缘波动特效的当前帧。
本示例性实施例提供的视频特效的添加方法,通过对待添加视频特效的视频中的当前帧进行人像前景和背景的分离,得到当前帧的人像前景,根据当前帧的人像前景与前一帧的人像前景,确定当前帧中的人像边缘信息,根据当前帧在视频中的播放时间以及预设波动参数,确定人像边缘信息对应的波动偏移,并为人像边缘信息添加波动偏移,将添加波动偏移后的人像边缘信息与视频中的当前帧进行叠加,得到添加特效的当前帧,由于根据波的传播原理为人像边缘信息添加波动偏移,而不是直接使用噪声扰动添加特效,从而减少了计算量,可以适用于手机等移动终端中。
在上述技术方案的基础上,所述根据所述当前帧在所述视频中的播放时间以及预设波动参数,确定人像边缘信息对应的波动偏移,包括:根据所述播放时间、预设振幅因子、预设时间频率因子和预设空间坐标因子,按照如下公式确定人像边缘信息中每一像素点对应的波动偏移:
Δx=A(sin(ωt)sin(kx)+cos(ωt)sin(ky))
Δy=A(sin(ωt)sin(ky)+cos(ωt)sin(kx))
其中,A为预设振幅因子,ω为预设时间频率因子,k为预设空间坐标因子,t为播放时间,x为当前像素点的横坐标,y为当前像素点的纵坐标,Δx是当前像素点横坐标的波动偏移量,Δy是当前像素点纵坐标的波动偏移量。
自然界中,波的传播是随机的,为了增加波动特效的随机性,再将一维波动推广到二维时,使得二维波动不再是有规律的正弦波或余弦波,从而通过上式来确定波动偏移,可以使得波的传播比较随机,增加了波动特效的随机性。通过根据播放时间和像素点的位置确定波动偏移,从而进行波动光效的变换,实现了对特效的动态变换。
图4是根据一示例性实施例示出的一种视频特效的添加方法的流程图,如图4所示,视频特效的添加方法用于手机等电子设备中,包括以下步骤。
在步骤S41中,对待添加视频特效的视频中的当前帧进行人像前景和背景的分离,得到所述当前帧的人像前景。
在步骤S42中,根据所述当前帧的人像前景与前一帧的人像前景,确定所述当前帧中的人像边缘信息。
在步骤S43中,根据所述当前帧在所述待添加视频特效的视频中的播放时间以及预设波动参数,确定所述人像边缘信息对应的波动偏移,并为所述人像边缘信息添加所述波动偏移。
在步骤S44中,将添加波动偏移后的人像边缘信息与所述视频中的当前帧进行叠加,得到添加特效后的当前帧。
在步骤S45中,判断所述视频中的所有帧是否均处理完成,若是,则执行步骤S46,若否,则执行步骤S41。
判断视频中的所有帧是否都已经添加过特效,如果还有没添加特效的,则通过步骤S41到步骤S45分别对每一帧进行视频特效的添加,直至将所有帧均处理完成。
在步骤S46中,得到添加特效的视频。
本示例性实施例提供的视频特效的添加方法,通过对待添加视频特效的视频中的当前帧进行人像前景和背景的分离,得到当前帧的人像前景,根据当前帧的人像前景与前一帧的人像前景,确定当前帧中的人像边缘信息,根据当前帧在视频中的播放时间以及预设波动参数,确定人像边缘信息对应的波动偏移,并为人像边缘信息添加波动偏移,将处理后的人像边缘信息与视频中的当前帧进行叠加,得到添加特效的当前帧,循环执行上述为当前帧添加特效的操作,直至处理完视频中的所有帧,得到添加特效的视频,由于根据波的传播原理为人像边缘信息添加波动偏移,而不是直接使用噪声扰动添加特效,从而减少了计算量,可以适用于手机等移动终端中。
图5是根据一示例性实施例示出的一种视频特效的添加方法的流程图,如图5所示,视频特效的添加方法用于手机等电子设备中,包括以下步骤。
在步骤S51中,对待添加视频特效的视频中的当前帧进行人像前景和背景的分离,得到所述当前帧的人像前景。
在步骤S52中,根据所述当前帧的人像前景与前一帧的人像前景,确定所述当前帧中的人像边缘信息。
在步骤S53中,为人像边缘信息中的人脸添加掩膜。
其中,掩膜是由0和1组成的一个二进制图像。当在某一功能中应用掩膜时,1值区域被处理,被屏蔽的0值区域不被包括在计算中。
由于人脸的细节信息较强,而不希望在人脸上出现过多特效,导致人脸不清晰,因此,通过对人脸区域添加掩膜,可以避免将特效添加到人脸上。通过人脸识别,确定人像前景中的人脸位置,并根据所述人脸位置为人像边缘信息中的人脸添加掩膜,避免后续添加特效时添加到人脸上。
在一种可选的实施方式中,所述为人像边缘信息中的人脸添加掩膜,包括:对所述人像前景进行人脸识别,确定人脸中心点;根据所述人像前景中每一个像素点到人脸中心点的距离,确定作为掩膜的衰减矩阵;将所述衰减矩阵与所述人像边缘信息进行相乘运算,得到添加了人脸掩膜的人像边缘信息。
采用人脸检测检测所述人像前景中的人脸关键点,根据所述人脸关键点确定人脸中心点,以人脸中心点为中心,按照人像前景中每一个像素点到人脸中心点的距离进行衰减,得到作为掩膜的衰减矩阵,将所述衰减矩阵与人像边缘信息进行相乘运算,即为人像边缘信息添加了掩膜,得到添加了人脸掩膜的人像边缘信息。从而之后添加特效时,以该添加了人脸掩膜的人像边缘信息为基础进行添加,可以避免将特效添加到人脸上,而且衰减矩阵可以根据人脸的大小进行相应的调节,使之能够覆盖人脸。
在一种可选的实施方式中,所述对所述人像前景进行人脸识别,确定人脸中心点,包括:对所述人像前景进行人脸识别,确定两只眼睛的中心点;将所述两只眼睛的中心点连线的中点,作为人脸中心点。
可以通过人脸检测算法对所述人像前景进行人脸识别,得到人脸关键点,根据人脸关键点,确定两只眼睛的中心点,并将两只眼睛的中心点连线的中点,作为人脸中心点,通过这种方式确定人脸中心点,可以提高计算速度。
在一种可选的实施方式中,所述根据所述人像前景中每一个像素点到人脸中心点的距离,确定作为掩膜的衰减矩阵,包括:根据人像前景中每一个像素点到人脸中心点的距离,按照如下公式确定作为掩膜的衰减矩阵:
C(x,y)=e-αL
其中,(x,y)为人像前景中任意一个像素点的坐标,C(x,y)为衰减矩阵中坐标为(x,y)对应的衰减值,L是点(x,y)到人脸中心点的距离,α为预设衰减系数。
假设人脸中心点坐标为A(x0,y0),即人像边缘信息中的人脸中心点坐标也是A(x0,y0),人像边缘信息中每一个像素点B(x,y)到人脸中心点A(x0,y0)的距离为:L=|A-B|,通过上式可以对图6a所示的人像边缘信息确定衰减矩阵,得到的衰减矩阵对应的掩膜如图6b所示,使用此衰减矩阵与如图6a所示所述人像边缘信息进行相乘运算,即可得到一个脸部有衰减的边缘信息图像,即添加了人脸掩膜的人像边缘信息(如图6c所示)。
在步骤S54中,根据所述当前帧在所述待添加视频特效的视频中的播放时间以及预设波动参数,确定所述人像边缘信息对应的波动偏移,并为所述人像边缘信息添加所述波动偏移。
在步骤S55中,将添加波动偏移后的人像边缘信息与所述视频中的当前帧进行叠加,得到添加特效后的当前帧。
在步骤S56中,判断所述视频中的所有帧是否均处理完成,若是,则执行步骤S57,若否,则执行步骤S51。
判断视频中的所有帧是否都已经添加过特效,如果还有每添加特效的,则通过步骤S51到步骤S56进行视频特效的添加,直至将所有帧均处理完成。
在步骤S57中,得到添加特效的视频。
本示例性实施例公开的视频特效的添加方法,通过在对人像边缘信息添加波动特效之前,先为人像边缘信息中的人脸添加掩膜,可以避免后续添加特效时添加到人脸上,实现了对脸上特效的部分减弱。
图7是根据一示例性实施例示出的一种视频特效的添加方法的流程图,如图7所示,视频特效的添加方法用于手机等电子设备中,包括以下步骤。
在步骤S71中,对待添加视频特效的视频中的当前帧进行人像前景和背景的分离,得到所述当前帧的人像前景。
在步骤S72中,根据所述当前帧的人像前景与前一帧的人像前景,确定所述当前帧中的人像边缘信息。
在步骤S73中,为人像边缘信息中的人脸添加掩膜。
在步骤S74中,根据所述当前帧在所述待添加视频特效的视频中的播放时间以及预设波动参数,确定所述人像边缘信息对应的波动偏移,并为所述人像边缘信息添加所述波动偏移。
图6d是本公开中的添加波动特效的人像边缘信息的示例图。如图6c和图6d所示,图6c是对人像边缘信息添加了掩膜未添加特效时的效果,通过对图6c添加波动特效后,得到图6d所示的效果,即人像边缘能够进行波动变换。
在步骤S75中,根据所述播放时间和关于播放时间的三角函数,确定颜色变换对应的插值系数。
为人像边缘添加颜色变换特效,颜色变换特效随着时间的变化而发生变化,因此可以将关于播放时间的三角函数作为颜色变换对应的插值系数。
在一种可选的实施方式中,根据所述播放时间和关于播放时间的三角函数,确定颜色变换对应的插值系数,包括:根据所述播放时间和关于播放时间的三角函数,按照如下公式确定插值系数:
r=sin(vt)
其中,r是插值系数,v是预设颜色变换速度,t是所述播放时间。
将关于播放时间的三角函数作为颜色变换对应的插值系数,可以很好的体现颜色的变换规律,增加特效的效果。
在步骤S76中,根据所述插值系数,确定预设数量的输入颜色对应的输出颜色。
其中,输入颜色可以预先设定,预设数量也可以预先设置,如可以设置预设数量为3,输入颜色为黄、蓝、红;或者,可以设置预设数量为2,输入颜色为黄、绿;还可以有其他的设置方式,这里只是举例,不作为限定。
在一种可选的实施方式中,根据所述插值系数,按照如下公式确定预设数量的预设输入颜色对应的输出颜色,包括:
COLout=[COL1*r+COL2*(1-r)]*r+COL3*(1-r)
其中,COLout为输出颜色,COL1、COL2和COL3为三种输入颜色。
本示例性实施例以三种输入颜色为例,给出了确定输出颜色的具体方式。
在步骤S77中,将所述输出颜色插入到所述添加波动偏移后的人像边缘信息中。
以插值的方式将输出颜色插入到人像边缘信息中,从而实现了对特效的颜色变换。进行颜色变换时,可以以添加了波动特效的人像边缘信息为基础,进一步添加颜色变换,从而进一步增加特效的效果。
可以选取黄(RGB值为255、215、0)、蓝(RGB值为64、224、208)、红(RGB值为255、99、71)作为输入颜色,对图6d所示的波动边缘的人像边缘信息进行颜色变换,得到图6e所示的效果。图6e是本公开中的添加颜色变换的效果的示例图。
在步骤S78中,将添加波动偏移及输出颜色后的人像边缘信息与所述视频中的当前帧进行叠加,得到添加特效的当前帧。
在步骤S79中,判断所述视频中的所有帧是否均处理完成,若是,则执行步骤S710,若否,则执行步骤S71。
判断视频中的所有帧是否都已经添加过特效,如果还有没添加特效的,则通过步骤S71到步骤S79进行视频特效的添加,直至将所有帧均处理完成。
在步骤S710中,得到添加特效的视频。
本示例性实施例公开的视频特效的添加方法,通过根据播放时间和关于播放时间的三角函数确定颜色变换对应的插值系数,根据插值系数确定预设数量的输入颜色对应的输出颜色,将输出颜色插入到人像边缘信息中,实现了对人像边缘特效的颜色变换,使得特效效果更加丰富。
在上述技术方案的基础上,还可选包括:根据预设颜色衰减系数和预设透明度衰减系数,分别对前一帧的人像边缘信息中的颜色和透明度进行衰减处理,并叠加到当前帧的人像边缘信息中。
颜色和透明度对应的衰减方程为:
U=U0e-aT,Un/Un-1=e-a
其中,U0是初始光效强度,U是T时刻的光效强度,Un是视频中第n帧的光效强度,Un-1是视频中第n-1帧的光效强度,a是衰减系数。
在混合时,将前一帧的光效强度根据衰减系数进行衰减后,叠加到当前帧的光效中,即按照如下公式叠加:
Un=Un+Un-1
上式表示,第n帧的光效强度等于第n帧的光效强度与第n-1帧衰减后的光效强度之和。
对光效中的颜色和透明度分别进行上述衰减方程对应的衰减,即其中,RGBn是视频中第n帧的颜色,RGBn-1是视频中第n-1帧中的颜色,a1是预设颜色衰减系数,An是视频中第n帧的透明度,An-1是视频中的第n-1帧中的透明度,a2是预设透明度衰减系数。其中,预设颜色衰减系数与预设透明度衰减系数可以相同,也可以不同。例如,预设颜色衰减系数可以为0.8,预设透明度衰减系数可以为0.6。
根据预设颜色衰减系数对前一帧中的人像边缘信息中的颜色进行衰减后,叠加到当前帧的人像边缘信息中,根据预设透明度衰减系数,对前一帧中的人像边缘信息进行透明度衰减处理,叠加到当前帧的人像边缘信息中,从而得到添加了拖影的特效,进一步提升了特效效果。图6f是本公开中的添加拖影的人像边缘信息的示例图,对如图6e所示的颜色变换后的人像边缘信息进行添加拖影处理,得到如图6f所示的拖影效果。图6g是本公开中的将处理后的人像边缘信息添加到当前帧后的效果示例图,即图6g是将图6f得到的光效添加到当前帧后的效果,即包括波动光效、颜色变换和拖影的效果。
在进行拖影处理时,需要用到前一帧的人像边缘信息,因此,可以使用队列来保存得到的各帧的人像边缘信息,在进行时变分割时从队列中取出前一帧的人像边缘信息,对前一帧的人像边缘信息中的颜色和透明度进行衰减处理,叠加到当前帧的人像边缘信息中,得到当前帧的拖影效果。
图8是根据一示例性实施例示出的一种视频特效的添加装置的框图。参照图8,该装置包括视频获取模块81,前景背景分离模块82、边缘信息确定模块83、波动偏移添加模块84、波动特效添加模块85和循环控制模块86。
该前景背景分离模块81被配置为对待添加视频特效的视频中的当前帧进行人像前景和背景的分离,得到所述当前帧的人像前景;
该边缘信息确定模块82被配置为根据所述当前帧的人像前景与前一帧的人像前景,确定所述当前帧中的人像边缘信息;
该波动偏移添加模块83被配置为根据所述当前帧在所述待添加视频特效的视频中的播放时间以及预设波动参数,确定所述人像边缘信息对应的波动偏移,并为所述人像边缘信息添加所述波动偏移;
该波动特效添加模块84被配置为将添加波动偏移后的人像边缘信息与所述视频中的当前帧进行叠加,得到添加特效后的当前帧。
可选的,所述装置还包括:
掩膜添加模块,被配置为为人像边缘信息中的人脸添加掩膜。
可选的,所述掩膜添加模块包括:
人脸中心点确定单元,被配置为对所述人像前景进行人脸识别,确定人脸中心点;
衰减矩阵确定单元,被配置为根据所述人像前景中每一个像素点到人脸中心点的距离,确定作为掩膜的衰减矩阵;
掩膜添加单元,被配置为将所述衰减矩阵与所述人像边缘信息进行相乘运算,得到添加了人脸掩膜的人像边缘信息。
可选的,所述人脸中心点确定单元具体用于:
对所述人像前景进行人脸识别,确定两只眼睛的中心点;
将所述两只眼睛的中心点连线的中点,作为人脸中心点。
可选的,所述衰减矩阵确定单元具体用于:
根据人像前景中每一个像素点到人脸中心点的距离,按照如下公式确定作为掩膜的衰减矩阵:
C(x,y)=e-αL
其中,(x,y)为人像前景中任意一个像素点的坐标,C(x,y)为衰减矩阵中坐标为(x,y)对应的衰减值,L是点(x,y)到人脸中心点的距离,α为预设衰减系数。
可选的,所述波动偏移添加模块包括:
波动偏移确定单元,被配置为根据所述播放时间、预设振幅因子、预设时间频率因子和预设空间坐标因子,按照如下公式确定人像边缘信息中每一像素点对应的波动偏移:
Δx=A(sin(ωt)sin(kx)+cos(ωt)sin(ky))
Δy=A(sin(ωt)sin(ky)+cos(ωt)sin(kx))
其中,A为预设振幅因子,ω为预设时间频率因子,k为预设空间坐标因子,t为播放时间,x为当前像素点的横坐标,y为当前像素点的纵坐标,Δx是当前像素点横坐标的波动偏移量,Δy是当前像素点纵坐标的波动偏移量。
可选的,所述装置还包括:
插值系数确定模块,被配置为根据所述播放时间和关于播放时间的三角函数,确定颜色变换对应的插值系数;
输出颜色确定模块,被配置为根据所述插值系数,确定预设数量的输入颜色对应的输出颜色;
颜色插入模块,被配置为将所述输出颜色插入到所述添加波动偏移后的人像边缘信息中。
可选的,所述插值系数确定模块具体用于:
根据所述播放时间和关于播放时间的三角函数,按照如下公式确定插值系数:
r=sin(vt)
其中,r是插值系数,v是预设颜色变换速度,t是所述播放时间;
所述输出颜色确定模块具体用于:
根据所述插值系数,按照如下公式确定预设数量的预设输入颜色对应的输出颜色,包括:
COLout=[COL1*r+COL2*(1-r)]*r+COL3*(1-r)
其中,COLout为输出颜色,COL1、COL2和COL3为三种输入颜色。
可选的,所述装置还包括:
拖影添加模块,被配置为根据预设颜色衰减系数和预设透明度衰减系数,分别对前一帧的人像边缘信息中的颜色和透明度进行衰减处理,并叠加到当前帧的人像边缘信息中。
可选的,所述装置还包括:
循环控制模块,被配置为循环执行上述为当前帧添加特效的操作,直至处理完所述视频中的所有帧,得到添加特效的视频。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9是根据一示例性实施例示出的一种电子设备的框图。例如,电子设备900可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,个人数字助理等。
参照图9,电子设备900可以包括以下一个或多个组件:处理组件902,存储器904,电力组件906,多媒体组件908,音频组件910,输入/输出(I/O)的接口912,传感器组件914,以及通信组件916。
处理组件902通常控制电子设备900的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件902可以包括一个或多个处理器920来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件902可以包括一个或多个模块,便于处理组件902和其他组件之间的交互。例如,处理组件902可以包括多媒体模块,以方便多媒体组件908和处理组件902之间的交互。
存储器904被配置为存储各种类型的数据以支持在电子设备900的操作。这些数据的示例包括用于在电子设备900上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件906为电子设备900的各种组件提供电力。电源组件906可以包括电源管理系统,一个或多个电源,及其他与为电子设备900生成、管理和分配电力相关联的组件。
多媒体组件908包括在所述电子设备900和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件908包括一个前置摄像头和/或后置摄像头。当电子设备900处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件910被配置为输出和/或输入音频信号。例如,音频组件910包括一个麦克风(MIC),当电子设备900处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器904或经由通信组件916发送。在一些实施例中,音频组件910还包括一个扬声器,用于输出音频信号。
I/O接口912为处理组件902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件914包括一个或多个传感器,用于为电子设备900提供各个方面的状态评估。例如,传感器组件914可以检测到电子设备900的打开/关闭状态,组件的相对定位,例如所述组件为电子设备900的显示器和小键盘,传感器组件914还可以检测电子设备900或电子设备900一个组件的位置改变,用户与电子设备900接触的存在或不存在,电子设备900方位或加速/减速和电子设备900的温度变化。传感器组件914可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件914还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件914还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件916被配置为便于电子设备900和其他设备之间有线或无线方式的通信。电子设备900可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件916还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备900可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器904,上述指令可由电子设备900的处理器920执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括可读性程序代码,该可读性程序代码可由电子设备900的处理器920执行以完成上述视频特效的添加方法。可选地,该程序代码可以存储在电子设备900的存储介质中,该存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (22)
1.一种视频特效的添加方法,其特征在于,包括:
对待添加视频特效的视频中的当前帧进行人像前景和背景的分离,得到所述当前帧的人像前景;
根据所述当前帧的人像前景与前一帧的人像前景,确定所述当前帧中的人像边缘信息;
根据所述当前帧在所述待添加视频特效的视频中的播放时间、预设振幅因子、预设时间频率因子和预设空间坐标因子,确定所述人像边缘信息中每一像素点对应的横坐标的波动偏移量和纵坐标的波动偏移量,得到每一像素点对应的二维波动偏移,并为所述人像边缘信息添加所述二维波动偏移;
将添加二维波动偏移后的人像边缘信息与所述视频中的当前帧进行叠加,得到添加特效后的当前帧。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述当前帧在所述待添加视频特效的视频中的播放时间、预设振幅因子、预设时间频率因子和预设空间坐标因子,确定所述人像边缘信息中每一像素点对应的横坐标的波动偏移量和纵坐标的波动偏移量,得到每一像素点对应的二维波动偏移,并为所述人像边缘信息添加所送二维波动偏移之前,还包括:
为人像边缘信息中的人脸添加掩膜。
3.根据权利要求2所述的方法,其特征在于,所述为人像边缘信息中的人脸添加掩膜,包括:
对所述人像前景进行人脸识别,确定人脸中心点;
根据所述人像前景中每一个像素点到人脸中心点的距离,确定作为掩膜的衰减矩阵;
将所述衰减矩阵与所述人像边缘信息进行相乘运算,得到添加了人脸掩膜的人像边缘信息。
4.根据权利要求3所述的方法,其特征在于,所述对所述人像前景进行人脸识别,确定人脸中心点,包括:
对所述人像前景进行人脸识别,确定两只眼睛的中心点;
将所述两只眼睛的中心点连线的中点,作为人脸中心点。
5.根据权利要求3所述的方法,其特征在于,所述根据所述人像前景中每一个像素点到人脸中心点的距离,确定作为掩膜的衰减矩阵,包括:
根据人像前景中每一个像素点到人脸中心点的距离,按照如下公式确定作为掩膜的衰减矩阵:
C(x,y)=e-αL
其中,(x,y)为人像前景中任意一个像素点的坐标,C(x,y)为衰减矩阵中坐标为(x,y)对应的衰减值,L是点(x,y)到人脸中心点的距离,α为预设衰减系数。
6.根据权利要求1所述的方法,其特征在于,所述根据所述当前帧在所述待添加视频特效的视频中的播放时间、预设振幅因子、预设时间频率因子和预设空间坐标因子,确定所述人像边缘信息中每一像素点对应的横坐标的波动偏移量和纵坐标的波动偏移量,得到每一像素点对应的二维波动偏移,包括:
根据所述播放时间、预设振幅因子、预设时间频率因子和预设空间坐标因子,按照如下公式确定人像边缘信息中每一像素点对应的横坐标的波动偏移量和纵坐标的波动偏移量,得到每一像素点对应的二维波动偏移:
Δx=A(sin(ωt)sin(kx)+cos(ωt)sin(ky))
Δy=A(sin(ωt)sin(ky)+cos(ωt)sin(kx))
其中,A为预设振幅因子,ω为预设时间频率因子,k为预设空间坐标因子,t为播放时间,x为当前像素点的横坐标,y为当前像素点的纵坐标,Δx是当前像素点横坐标的波动偏移量,Δy是当前像素点纵坐标的波动偏移量。
7.根据权利要求1所述的方法,其特征在于,在将添加二维波动偏移后的人像边缘信息与所述视频中的当前帧进行叠加之前,还包括:
根据所述播放时间和关于播放时间的三角函数,确定颜色变换对应的插值系数;
根据所述插值系数,确定预设数量的输入颜色对应的输出颜色;
将所述输出颜色插入到所述添加波动偏移后的人像边缘信息中。
8.根据权利要求7所述的方法,其特征在于,根据所述播放时间和关于播放时间的三角函数,确定颜色变换对应的插值系数,包括:
根据所述播放时间和关于播放时间的三角函数,按照如下公式确定插值系数:
r=sin(vt)
其中,r是插值系数,v是预设颜色变换速度,t是所述播放时间;
根据所述插值系数,按照如下公式确定预设数量的预设输入颜色对应的输出颜色,包括:
COLout=[COL1*r+COL2*(1-r)]*r+COL3*(1-r)
其中,COLout为输出颜色,COL1、COL2和COL3为三种输入颜色。
9.根据权利要求7所述的方法,其特征在于,还包括:
根据预设颜色衰减系数和预设透明度衰减系数,分别对前一帧的人像边缘信息中的颜色和透明度进行衰减处理,并叠加到当前帧的人像边缘信息中。
10.根据权利要求1所述的方法,其特征在于,在所述得到添加特效后的当前帧之后,还包括:
循环执行上述为当前帧添加特效的操作,直至处理完所述视频中的所有帧,得到添加特效的视频。
11.一种视频特效的添加装置,其特征在于,包括:
前景背景分离模块,被配置为对待添加视频特效的视频中的当前帧进行人像前景和背景的分离,得到所述当前帧的人像前景;
边缘信息确定模块,被配置为根据所述当前帧的人像前景与前一帧的人像前景,确定所述当前帧中的人像边缘信息;
波动偏移添加模块,被配置为根据所述当前帧在所述待添加视频特效的视频中的播放时间、预设振幅因子、预设时间频率因子和预设空间坐标因子,确定所述人像边缘信息中每一像素点对应的横坐标的波动偏移量和纵坐标的波动偏移量,得到每一像素点对应的二维波动偏移,并为所述人像边缘信息添加所述二维波动偏移;
波动特效添加模块,被配置为将添加二维波动偏移后的人像边缘信息与所述视频中的当前帧进行叠加,得到添加特效后的当前帧。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
掩膜添加模块,被配置为为人像边缘信息中的人脸添加掩膜。
13.根据权利要求12所述的装置,其特征在于,所述掩膜添加模块包括:
人脸中心点确定单元,被配置为对所述人像前景进行人脸识别,确定人脸中心点;
衰减矩阵确定单元,被配置为根据所述人像前景中每一个像素点到人脸中心点的距离,确定作为掩膜的衰减矩阵;
掩膜添加单元,被配置为将所述衰减矩阵与所述人像边缘信息进行相乘运算,得到添加了人脸掩膜的人像边缘信息。
14.根据权利要求13所述的装置,其特征在于,所述人脸中心点确定单元具体用于:
对所述人像前景进行人脸识别,确定两只眼睛的中心点;
将所述两只眼睛的中心点连线的中点,作为人脸中心点。
15.根据权利要求13所述的装置,其特征在于,所述衰减矩阵确定单元具体用于:
根据人像前景中每一个像素点到人脸中心点的距离,按照如下公式确定作为掩膜的衰减矩阵:
C(x,y)=e-αL
其中,(x,y)为人像前景中任意一个像素点的坐标,C(x,y)为衰减矩阵中坐标点(x,y)对应的衰减值,L是点(x,y)到人脸中心点的距离,α为预设衰减系数。
16.根据权利要求11所述的装置,其特征在于,所述波动偏移添加模块包括:
波动偏移确定单元,被配置为根据所述播放时间、预设振幅因子、预设时间频率因子和预设空间坐标因子,按照如下公式确定人像边缘信息中每一像素点对应的横坐标的波动偏移量和纵坐标的波动偏移量,得到每一像素点对应的二维波动偏移:
Δx=A(sin(ωt)sin(kx)+cos(ωt)sin(ky))
Δy=A(sin(ωt)sin(ky)+cos(ωt)sin(kx))
其中,A为预设振幅因子,ω为预设时间频率因子,k为预设空间坐标因子,t为播放时间,x为当前像素点的横坐标,y为当前像素点的纵坐标,Δx是当前像素点横坐标的波动偏移量,Δy是当前像素点纵坐标的波动偏移量。
17.根据权利要求11所述的装置,其特征在于,所述装置还包括:
插值系数确定模块,被配置为根据所述播放时间和关于播放时间的三角函数,确定颜色变换对应的插值系数;
输出颜色确定模块,被配置为根据所述插值系数,确定预设数量的输入颜色对应的输出颜色;
颜色插入模块,被配置为将所述输出颜色插入到所述添加波动偏移后的人像边缘信息中。
18.根据权利要求17所述的装置,其特征在于,所述插值系数确定模块具体用于:
根据所述播放时间和关于播放时间的三角函数,按照如下公式确定插值系数:
r=sin(vt)
其中,r是插值系数,v是预设颜色变换速度,t是所述播放时间;
所述输出颜色确定模块具体用于:
根据所述插值系数,按照如下公式确定预设数量的预设输入颜色对应的输出颜色,包括:
COLout=[COL1*r+COL2*(1-r)]*r+COL3*(1-r)
其中,COLout为输出颜色,COL1、COL2和COL3为三种输入颜色。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
拖影添加模块,被配置为根据预设颜色衰减系数和预设透明度衰减系数,分别对前一帧的人像边缘信息中的颜色和透明度进行衰减处理,并叠加到当前帧的人像边缘信息中。
20.根据权利要求11所述的装置,其特征在于,所述装置还包括:
循环控制模块,被配置为循环执行上述为当前帧添加特效的操作,直至处理完所述视频中的所有帧,得到添加特效的视频。
21.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至10中任一项所述的视频特效的添加方法。
22.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至10中任一项所述的视频特效的添加方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911150797.2A CN110944230B (zh) | 2019-11-21 | 2019-11-21 | 视频特效的添加方法、装置、电子设备及存储介质 |
US17/073,472 US11410342B2 (en) | 2019-11-21 | 2020-10-19 | Method for adding special effect to video, electronic device and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911150797.2A CN110944230B (zh) | 2019-11-21 | 2019-11-21 | 视频特效的添加方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110944230A CN110944230A (zh) | 2020-03-31 |
CN110944230B true CN110944230B (zh) | 2021-09-10 |
Family
ID=69907393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911150797.2A Active CN110944230B (zh) | 2019-11-21 | 2019-11-21 | 视频特效的添加方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11410342B2 (zh) |
CN (1) | CN110944230B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113645414B (zh) * | 2020-04-27 | 2022-09-30 | 北京达佳互联信息技术有限公司 | 水波纹特效视频生成方法、装置、电子设备及存储介质 |
CN111783621B (zh) * | 2020-06-29 | 2024-01-23 | 北京百度网讯科技有限公司 | 人脸表情识别及模型训练的方法、装置、设备及存储介质 |
CN114257775B (zh) * | 2020-09-25 | 2023-04-07 | 荣耀终端有限公司 | 视频特效添加方法、装置及终端设备 |
CN112163554B (zh) * | 2020-10-15 | 2021-08-17 | 北京达佳互联信息技术有限公司 | 获取视频中的标记掩模的方法和装置 |
CN112860209B (zh) * | 2021-02-03 | 2024-07-12 | 宏晶微电子科技股份有限公司 | 视频叠加方法和装置、电子设备、计算机可读存储介质 |
CN114339448B (zh) * | 2021-12-31 | 2024-02-13 | 深圳万兴软件有限公司 | 光束视频特效的制作方法、装置、计算机设备及存储介质 |
CN116017020A (zh) * | 2022-12-22 | 2023-04-25 | 北京字跳网络技术有限公司 | 一种特效展示方法、装置、设备及存储介质 |
CN116193279A (zh) * | 2022-12-29 | 2023-05-30 | 影石创新科技股份有限公司 | 视频处理方法、装置、计算机设备和存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024261A (zh) * | 2010-12-29 | 2011-04-20 | 新奥特(北京)视频技术有限公司 | 一种噪声图像中边缘信息计算方法 |
US8116168B1 (en) * | 2008-06-18 | 2012-02-14 | Halliburton Energy Services, Inc. | Hybrid one-way and full-way wave equation migration |
CN102497493A (zh) * | 2011-12-06 | 2012-06-13 | 中国科学院半导体研究所 | 全高清视频信号处理电路及处理方法 |
RU2013123929A (ru) * | 2010-10-27 | 2014-12-10 | Конинклейке Филипс Электроникс Н.В. | Идентификация и уменьшение искажения изображения |
CN107645621A (zh) * | 2016-07-20 | 2018-01-30 | 阿里巴巴集团控股有限公司 | 一种视频处理的方法和设备 |
CN107682731A (zh) * | 2017-10-24 | 2018-02-09 | 北京奇虎科技有限公司 | 视频数据扭曲处理方法、装置、计算设备及存储介质 |
CN107770606A (zh) * | 2017-10-24 | 2018-03-06 | 北京奇虎科技有限公司 | 视频数据扭曲处理方法、装置、计算设备及存储介质 |
CN108900903A (zh) * | 2018-07-27 | 2018-11-27 | 北京市商汤科技开发有限公司 | 视频处理方法及装置、电子设备和存储介质 |
CN109035381A (zh) * | 2017-06-08 | 2018-12-18 | 福建天晴数码有限公司 | 基于ue4平台的卡通画头发渲染方法、存储介质 |
CN109087238A (zh) * | 2018-07-04 | 2018-12-25 | 北京市商汤科技开发有限公司 | 图像处理方法和装置、电子设备以及计算机可读存储介质 |
CN109697689A (zh) * | 2017-10-23 | 2019-04-30 | 北京京东尚科信息技术有限公司 | 存储介质、电子设备、视频合成方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR112012027770A2 (pt) * | 2010-05-11 | 2017-08-08 | Thomson Licensing | processamento de granulação de filme e ruído de conforto para vídeo 3 dimensional |
US11315173B2 (en) * | 2016-09-15 | 2022-04-26 | GlamST LLC | Applying virtual makeup products |
WO2018142756A1 (ja) * | 2017-01-31 | 2018-08-09 | 株式会社Nttドコモ | 情報処理装置及び情報処理方法 |
-
2019
- 2019-11-21 CN CN201911150797.2A patent/CN110944230B/zh active Active
-
2020
- 2020-10-19 US US17/073,472 patent/US11410342B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8116168B1 (en) * | 2008-06-18 | 2012-02-14 | Halliburton Energy Services, Inc. | Hybrid one-way and full-way wave equation migration |
RU2013123929A (ru) * | 2010-10-27 | 2014-12-10 | Конинклейке Филипс Электроникс Н.В. | Идентификация и уменьшение искажения изображения |
CN102024261A (zh) * | 2010-12-29 | 2011-04-20 | 新奥特(北京)视频技术有限公司 | 一种噪声图像中边缘信息计算方法 |
CN102497493A (zh) * | 2011-12-06 | 2012-06-13 | 中国科学院半导体研究所 | 全高清视频信号处理电路及处理方法 |
CN107645621A (zh) * | 2016-07-20 | 2018-01-30 | 阿里巴巴集团控股有限公司 | 一种视频处理的方法和设备 |
CN109035381A (zh) * | 2017-06-08 | 2018-12-18 | 福建天晴数码有限公司 | 基于ue4平台的卡通画头发渲染方法、存储介质 |
CN109697689A (zh) * | 2017-10-23 | 2019-04-30 | 北京京东尚科信息技术有限公司 | 存储介质、电子设备、视频合成方法及装置 |
CN107682731A (zh) * | 2017-10-24 | 2018-02-09 | 北京奇虎科技有限公司 | 视频数据扭曲处理方法、装置、计算设备及存储介质 |
CN107770606A (zh) * | 2017-10-24 | 2018-03-06 | 北京奇虎科技有限公司 | 视频数据扭曲处理方法、装置、计算设备及存储介质 |
CN109087238A (zh) * | 2018-07-04 | 2018-12-25 | 北京市商汤科技开发有限公司 | 图像处理方法和装置、电子设备以及计算机可读存储介质 |
CN108900903A (zh) * | 2018-07-27 | 2018-11-27 | 北京市商汤科技开发有限公司 | 视频处理方法及装置、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
基于DirectX的三维游戏特效技术的研究与实现;赵明;《中国优秀硕士学位论文全文数据库》;20090615;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US11410342B2 (en) | 2022-08-09 |
US20210158577A1 (en) | 2021-05-27 |
CN110944230A (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110944230B (zh) | 视频特效的添加方法、装置、电子设备及存储介质 | |
CN108182730B (zh) | 虚实对象合成方法及装置 | |
CN111462268B (zh) | 图像重建方法及装置、电子设备和存储介质 | |
CN109816764B (zh) | 图像生成方法及装置、电子设备和存储介质 | |
CN109859144B (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN107967459B (zh) | 卷积处理方法、装置及存储介质 | |
CN112465843A (zh) | 图像分割方法及装置、电子设备和存储介质 | |
CN108154466B (zh) | 图像处理方法及装置 | |
CN105631803B (zh) | 滤镜处理的方法和装置 | |
CN107341777B (zh) | 图片处理方法及装置 | |
CN110933334B (zh) | 视频降噪方法、装置、终端及存储介质 | |
CN112219224B (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN113139947B (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN111078170B (zh) | 显示控制方法、显示控制装置及计算机可读存储介质 | |
CN111583142A (zh) | 图像降噪方法及装置、电子设备和存储介质 | |
CN105183755B (zh) | 一种图片的显示方法及装置 | |
CN111935418B (zh) | 视频处理方法及装置、电子设备和存储介质 | |
CN107507128B (zh) | 图像处理方法及设备 | |
CN111861942A (zh) | 一种降噪方法及装置、电子设备和存储介质 | |
CN107730443B (zh) | 图像处理方法、装置及用户设备 | |
CN109145878B (zh) | 图像提取方法及装置 | |
CN109040837B (zh) | 视频处理方法及装置、电子设备和存储介质 | |
CN110415258A (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN113469876A (zh) | 图像风格迁移模型训练方法、图像处理方法、装置及设备 | |
WO2023045961A1 (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 |