一种基于人脸照片生成个性卡通动态图的方法与流程

文档序号:11865994阅读:4647来源:国知局
一种基于人脸照片生成个性卡通动态图的方法与流程

本发明涉及图像处理领域,尤其涉及一种基于人脸照片生成个性卡通动态图的方法。



背景技术:

似颜绘是通过绘画的方式,将真人的相貌和心情结合起来,在纸上画出接近真人的头像。似颜绘最初起源于欧洲,传到日本后,结合日本的浮世绘演变而来,似颜绘在日本非常流行,更广泛的被用于指具有讽刺意味的肖像漫画。以漫画形式表现的似颜绘正作为一种新兴的潮流事物发展起来。影视明星陈小春的似颜绘如图1所示。

一般而言,现有的似颜绘都需要专门的画师通过手绘的形式来制作,而进入互联网快消时代以来,通过程序和算法来生成似颜绘的形式日益丰富,其中包括似颜绘的一个分支,即将真人照片与卡通图像结合,以达到个性表达的目的。巴萨球星真人照片与卡通图像结合的似颜绘如图2所示。

目前真人照片和卡通图像的结合存在许多问题,如可选素材少,素材组合自由度低;脸部轮廓截取不精确;不支持头像的位移与旋转;生成速度慢;无法生成动态图片;图像质量低等等。

因此,本领域的技术人员致力于开发一种基于人脸照片生成个性卡通动态图的方法,实现精确快速地选取和生成卡通动态图图像。



技术实现要素:

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如何基于人脸照片实现精确快速地选取和生成卡通动态图图像。

为实现上述目的,本发明提供了一种基于人脸照片生成个性卡通动态图的方法,包括以下步骤:

步骤1、在画布上建立一个坐标系;

步骤2、将所述人脸照片和卡通图像放置在不同的图层;

步骤3、采用蒙版方式提取最佳人脸轮廓;

步骤4、采用逐行扫描方式生成背景透明的静态所述最佳人脸轮廓;

步骤5、采用帧拼接方式生成个性卡通动态图。

进一步地,所述坐标系为640*640。

进一步地,所述帧拼接的帧数为6帧。

进一步地,所述蒙版方式提取还包括移动、缩放和旋转操作。

进一步地,所述逐行扫描方式具体为:

步骤3.1、将蒙版每一行描述为包含若干起始和结束点的点集;

步骤3.2、从所述最佳人脸轮廓的底部开始往上扫描,如果第1行全部为透明像素,则描述为(1,N),代表第一行从第1个像素到第N个像素全部置为透明;

步骤3.3、以此类推,如果第N行从第1个像素到第X个像素为透明,第X个像素到第Y个像素为蒙版区域,第Y个像素到第Z个像素为透明,则该行描述为(1,X),(Y,Z);

步骤3.4、根据蒙版的逐行扫描描述,将所述最佳人脸轮廓从底部开始往上:第1行全部置为透明像素,第N行从第1个像素开始到第X个像素置为透明,第Y个像素到第Z个像素置为透明;

步骤3.5、置换后最终图像就是要截取的所述最佳人脸轮廓。

进一步地,所述帧拼接具体为:

步骤5.1、在卡通素材的第1帧,将所述人脸照片中心点摆放在(X1,Y1)坐标位置,放大P1倍,并顺时针旋转Q1度;

步骤5.2、在卡通素材的其他帧做相同的变换,所述X、Y、P、Q的值不完全相同;

步骤5.3、将全部帧按照顺序进行轮播,输出所述个性卡通动态图。

进一步地,所述蒙版包含不同性别、脸型和发型。

进一步地,所述帧拼接的帧图像和帧拼接的方法存储于服务端。

进一步地,所述步骤5.3中,所述轮播的帧切换间隔按照动作幅度设置。

进一步地,所述帧切换间隔为0.1~0.5秒。

本发明所述的基于人脸照片生成个性卡通动态图的方法,能够取得更丰富的卡通素材选取空间和组合方式;能够截取更精准的脸部轮廓,消除残缺和多余截取;能够通过头像的位移和旋转达到更生动的表达;能够具有更快的生成速度;能够支持动态卡通图像的生成而且清晰度支持高分屏手机不失真。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1是影视明星陈小春似颜绘;

图2是影视明星刘德华真人照片与卡通图像结合版似颜绘;

图3是本发明的一个较佳实施例的流程示意图;

图4是本发明的一个较佳实施例的采用遮罩蒙版图层示例;

图5是本发明的一个较佳实施例的各种遮罩模板;

图6是本发明的一个较佳实施例的人脸照片与遮罩图层的最佳匹配示例。

具体实施方式

下面结合附图和实施例对本发明所示技术方案作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分。在不冲突的情况下,本发明申请中的实施例及实施例中的特征可以相互组合。

图3是本发明所述的生成卡通人脸动态图的方法的一个实施例的流程图。本实施例主要以该方法应用于具有一定运算能力及拍照或存储功能的终端中来举例说明,该终端可以包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。

传统的画师在绘制似颜绘的过程中都需要一个画板和画纸,而在数字生成的领域,我们称这个画纸为“画布”,任何图像都是由这个画布上的像素点以一定的色值和透明度相组合而形成,要进行任何的图像生成,都需要在这个画布上进行处理。

如图4所示,在画布上建立一个坐标系,本实施例以640*640的点阵为例。

将真人人脸照片和卡通图层分别置于不同的图层上,并将卡通图层放置在真人人脸照片图层之上,起到遮罩后叠加的作用。

普通拍摄的人像照片,因为包含身躯、四肢、背景等内容,不适宜与卡通素材直接结合,本发明所述的生成卡通人脸动态图的方法实现了遮罩截取的方式,通过提供数十种不同性别,脸型,发型的遮罩模板,如图5所示,来从真人照片中截取最合适的人脸轮廓。

因真实照片的像素、尺寸、人脸大小、比例、以及角度等均存在差异,在实际运用过程中,单纯通过遮罩有可能选出过大、过小、过偏的人脸轮廓,因此本发明所述的生成卡通人脸动态图的方法在遮罩的基础上额外提供旋转、平移与缩放,如图6所示,以达到最佳脸部轮廓选取的目的。

在实际应用中,我们只需要用到遮罩图层以内的部分,而将遮罩图层以外的部分全部置为透明像素,因人脸照片为位图,一般传统的算法是采用蒙版矩阵的方式:

1.将蒙版描述为一个二维矩阵,包含640*640个数值。

2.根据蒙版的轮廓,将每个数值置为0或1,即蒙版以内为1,蒙版以外为0。

3.将真实人脸照片的每个点的alpha(透明度)值乘以该二维矩阵对应的数值。

4.最终图像就是需要截取的人脸轮廓。

上述传统算法对于每一个蒙版,需要的存储空间比较大,每个蒙版的数值矩阵需要几百千字节的存储空间,而且每次截取操作都需要做数十万次取值和乘法运算,存 储和运算效率均比较低下,本发明所述的生成卡通人脸动态图的方法采用了一种改进型的“逐行扫描算法”:

1.将蒙版每一行描述为包含若干起始和结束点的点集,一共是640个点集。

2.从底部开始往上扫描,如果第1行全部为透明像素,则描述为(1,640),代表第一行从第1个像素到第640个像素全部置为透明。

3.以此类推,如果第N行从第1个像素到第X个像素为透明,第X个像素到第Y个像素为蒙版区域,第Y个像素到第Z个像素为透明,则该行描述为(1,X),(Y,Z)。

4.根据蒙版的逐行扫描描述,将真实人脸照片从底部开始往上:第1行全部置为透明像素,第N行从第1个像素开始到第X个像素置为透明,第Y个像素到第Z个像素置为透明。

5.置换后最终图像就是要截取的人脸轮廓。

上述逐行扫描算法将640*640的二维矩阵描述为一个640行的点阵,将离散型的大量运算缩减为批量操作型的少量运算,大大的提高了存储效率和运算效率。

任何动画要表现运动或变化,至少前后要给出两个不同的关键状态,而中间状态的变化和衔接电脑可以自动完成,在动画中,表示关键状态的帧动画叫做关键帧动画,所谓关键帧动画,就是给需要动画效果的属性,准备一组与时间相关的值,这些值都是在动画序列中比较关键的帧中提取出来的,而其他时间帧中的值,可以用这些关键值,采用特定的插值方法计算得到,从而达到比较流畅的动画效果。

在实际应用中,帧数越多,则动画越流畅,但越难以从网络加载;帧数越少,则动画越卡顿,但越容易从网络加载。本发明所述的生成卡通人脸动态图的方法采用6帧关键帧作为实现,经试验,能在流畅性和网络加载速度中达到最好的平衡。

动画加载所需要的时间比静态图片要长,在网络应用中,有时候只需要用到动画中的某一个帧作为预加载图形,本发明所述的生成卡通人脸动态图的方法采用“最佳展示帧”的方式,即对于每一个动态图片,都描述一个最佳展示帧。

“frame_info”:{

“total_frames”:6,

“best_frame”:3

}

前述获取的经过处理后的人脸照片,需要拼接到卡通素材里面最终生成个性卡通动态图,而“帧拼接描述”就是本发明所述的生成卡通人脸动态图的方法所采用的一种告诉计算机如何去拼接的计算机描述语言,在640*640坐标系里面,该描述语言主要由位置、大小、旋转角度所构成,有了这些数据,计算机就能像真人画师一样去自动生成个性卡通动态图了。一个典型的“帧拼接描述”如下:

“composition”:[{

“frame”:1,

“pos_x”:150,

“pos_y”:240,

“scale”:1.5,

“rotate”:90,

},{

“frame”:1,

“pos_x”:150,

“pos_y”:240,

“scale”:1.5,

“rotate”:90,

}]

在卡通素材的第1帧,将真人照片中心点摆放在(150,240)坐标位置,放大1.5倍,并顺时针旋转90度;在卡通素材的第2帧,将真人照片中心点摆放在(180,240)坐标位置,放大1.2倍,并顺时针旋转180度;在卡通素材的其他帧,直接叠合不做变换。通过帧拼接描述,原本在卡通动态图重头一成不变的人脸,现在可以实现移动,放大缩小,缩小等特效,使得最后出来的个性卡通动态图更加生动传神。

传统的生成技术,均在本地完成拼接与计算,而本发明所述的生成卡通人脸动态图的方法革新性的将前述的卡通动态图的帧图像以及与之对应的“帧拼接描述”存储于服务端,这样做的优势是:在实际运行中,可以实时的变换最终的个性卡通动态图的效果,通过帧的变换可以实现色彩、内容等的变换,而通过“帧拼接描述”的变化可以实现人脸动作幅度、频度、角度等的变换。

通过素材库的扩充,本发明所述的生成卡通人脸动态图的方法可以实现最终个性卡通动态图主题的变换,不仅真人照片不是一成不变,用以拼接的卡通素材也具备多样性,技术使用者可以在不同主题间进行选择,比如可以给真人变换一套真人头像加钢铁侠身体与背景的个性卡通动态图,也可以变换一套真人头像奥特曼身体与背景的个性卡通动态图,丰富多样,按需选择。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本发明所述的生成卡通人脸动态图的方法领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1