发明内容
本发明提供一种图像特效的自动生成方法及装置,用以解决现有技术中存在无法自动生成图像特效的问题。
本发明方法,预先确定输入图像的至少两个特征点,设置替换图像以及该替换图像的有效像素,并标定与所述输入图像的特征点相对应的所述替换图像的特征点的位置,该方法包括:
A.对输入图像进行特征点定位,确定所述输入图像的特征点的位置;
B.根据所述输入图像的特征点位置和所述替换图像的特征点位置,通过仿射变换确定所述替换图像像素和所述输入图像像素的对应关系;
C.根据所述对应关系,利用所述替换图像的有效像素点的色彩值替换对应的所述输入图像上的像素点的色彩值。
所述预先设置替换图像的步骤包括:
从待选图像中分离出需要的图像,将该图像作为前景图像,并为所述前景图像设置色彩单一、均匀且与所述前景图像色彩不同的背景图像,将所述前景图像和所述背景图像构成所述替换图像。
所述预先设置替换图像的有效像素的步骤包括:
对所述替换图像的所有像素,将色彩值与所述背景图像的色彩值不相同的像素设置为有效像素。
步骤C包括:
根据所述对应关系,计算与所述输入图像的像素点相对应的所述替换图像的像素点的坐标,并根据该点坐标判断该点像素是否为所述预先设置的有效像素,如果是,则利用该点的色彩值替换与该点对应的所述输入图像的像素点的色彩值。
步骤C包括:
确定所述替换图像的有效像素所在的最小外接矩形范围,并根据所述对应关系,利用所述最小外接矩形范围内的有效像素点的色彩值替换对应的所述输入图像上的像素点的色彩值。
步骤C包括:
根据所述对应关系,将所述替换图像变换到所述输入图像的坐标空间,并利用所述变换后的替换图像的有效像素点的色彩值替换对应的所述输入图像上的像素点的色彩值。
步骤C之后还包括:
确定所述替换图像的有效像素和无效像素之间的相邻区域;
将与所述相邻区域中的每个点相对应的所述输入图像的像素点的色彩值和所述替换图像上的有效像素的色彩值进行加权平均;
将所述加权平均后的每个点的色彩值作为与所述相邻区域内的像素点对应的所述输入图像上的像素点的色彩值。
步骤C之后还包括:
根据与所述替换图像对应的所述输入图像上的区域的整体亮度,对所述替换图像的整体亮度进行调整。
本发明装置包括:
存储单元,用于存储预先确定的输入图像的至少两个特征点,并存储预先设置的替换图像、该替换图像的有效像素以及预先标定的与所述输入图像的特征点相对应的所述替换图像的特征点的位置;
定位单元,用于对输入图像进行特征点定位,确定所述输入图像的特征点的位置;
对应关系单元,用于根据所述输入图像的特征点位置和所述替换图像的特征点位置,通过仿射变换确定所述替换图像像素和所述输入图像像素的对应关系;
图像特效实现单元,用于根据所述对应关系,利用所述替换图像的有效像素点的色彩值替换对应的所述输入图像上的像素点的色彩值。
该装置还包括:
设置单元,用于从待选图像中分离出需要的图像,将该图像作为前景图像,并为所述前景图像设置色彩单一、均匀且与所述前景图像色彩不同的背景图像,将所述前景图像和所述背景图像构成所述替换图像。
所述设置单元,还用于对所述替换图像的所有像素,将色彩值与所述背景图像的色彩值不相同的像素设置为有效像素。
所述图像特效实现单元包括:
计算单元,用于根据所述对应关系,计算与所述输入图像的像素点相对应的所述替换图像的像素点的坐标;
判断单元,用于根据该点坐标判断该点像素是否为所述预先设置的有效像素,如果是,则利用该点的色彩值替换与该点对应的所述输入图像的像素点的色彩值。
所述图像特效实现单元包括:
确定范围单元,用于确定所述替换图像的有效像素所在的最小外接矩形范围;
实现单元,用于根据所述对应关系,利用所述最小外接矩形范围内的有效像素点的色彩值替换对应的所述输入图像上的像素点的色彩值。
所述图像特效实现单元包括:
变换单元,用于根据所述对应关系,将所述替换图像变换到所述输入图像的坐标空间;
替换单元,用于利用所述变换后的替换图像的有效像素点的色彩值替换对应的所述输入图像上的像素点的色彩值。
该装置还包括:
色彩调整单元,用于确定所述替换图像的有效像素和无效像素之间的相邻区域,将与所述相邻区域中的每个点相对应的所述输入图像的像素点的色彩值和所述替换图像上的有效像素的色彩值进行加权平均,并将所述加权平均后的每个点的色彩值作为与所述相邻区域内的像素点对应的所述输入图像上的像素点的色彩值。
该装置还包括:
亮度调整单元,用于根据与所述替换图像对应的所述输入图像上的区域的整体亮度,对所述替换图像的整体亮度进行调整。
本发明通过预先确定输入图像的至少两个特征点,设置替换图像以及该替换图像的有效像素,并标定与所述输入图像的特征点相对应的所述替换图像的特征点的位置;对所述输入图像进行特征点定位,确定所述输入图像的特征点的位置,根据所述输入图像的特征点位置和所述替换图像的特征点位置,通过仿射变换确定所述替换图像像素和所述输入图像像素的对应关系,根据所述对应关系,利用所述替换图像的有效像素点的色彩值替换对应的所述输入图像上的像素点的色彩值,实现图像特效。避免了现有技术无法自动生成图像特效的问题,满足了用户更多的娱乐需求,并且节省了人力,提高了图像特效的生成效率。
具体实施方式
本发明通过预先确定输入图像的至少两个特征点,设置替换图像以及该替换图像的有效像素,并标定与所述输入图像的特征点相对应的所述替换图像的特征点的位置,在此基础上的实际应用中,对所述输入图像进行特征点定位,确定所述输入图像的特征点的位置;根据所述输入图像的特征点位置和所述替换图像的特征点位置,通过仿射变换确定所述替换图像像素和所述输入图像像素的对应关系;根据所述对应关系,利用所述替换图像的有效像素点的色彩值替换对应的所述输入图像上的像素点的色彩值,从而,将替换图像添加到输入图像上,实现图像特效。避免了现有技术无法自动生成图像特效的问题,满足了用户更多的娱乐需求,并且节省了人力,提高了图像特效的生成效率。
本发明实施例旨在提供一种能自动为图像(包括视频图像)添加需要的趣味效果,实现完全自动地对输入图像添加特效,不需要人的手工干预。所得到的趣味效果依赖于替换图像的外观和形状,例如,如果替换图像包括一副眼镜,则达到的趣味效果为在输入的人脸图像上自动佩戴所述替换图像上的眼镜,如果替换图像包括一副明星脸,则达到的趣味效果为将输入图像中的人脸替换为替换图像上的明星脸,另外,还可以根据用户需要为输入图像中的人自动佩戴帽子、自动佩戴面具以及自动将人脸替换为各种动物脸等多种不同的趣味效果。
下面结合附图分别说明本发明提供的实施例是如何实现的。
参见图1,本发明装置实施例包括:设置单元11、存储单元12、定位单元13、对应关系单元14、图像特效实现单元15、色彩调整单元16和亮度调整单元17;
其中,所述图像特效实现单元15包括:计算单元151和判断单元152;
所述设置单元11,用于从待选图像中分离出需要的图像,将该图像作为前景图像,并为所述前景图像设置色彩单一、均匀且与所述前景图像色彩不同的背景图像,将所述前景图像和所述背景图像构成所述替换图像;还用于对所述替换图像的所有像素,将色彩值与所述背景图像的色彩值不相同的像素设置为有效像素;
该设置单元11,还可以用于预先确定输入图像的至少两个特征点(如选择人的双眼和/或嘴巴作为特征点),并标定与所述输入图像的特征点相对应的所述替换图像的特征点的位置;
所述存储单元12,用于存储所述预先确定的输入图像的至少两个特征点,并存储预先设置的替换图像、该替换图像的有效像素以及预先标定的与所述输入图像的特征点相对应的所述替换图像的特征点的位置。
在计算机中,图像一般采用一个二维矩阵来表示,但是,需要的替换图像外边缘往往不是一个完整的矩形,而且,替换图像内部可能会有镂空部分。
参见图2-A和图2-B,本实施例以眼镜替换图像为例,替换图像为矩形图像,该图像中的眼镜为需要替换到输入图像中的部分,该部分像素称为有效像素,而其他区域是不需要的部分,不会被替换到输入图像上去,该部分像素称为无效像素。
本实施例替换图像采用了一个二维矩形图像数据和一个同样大小的二值掩模矩形图像数据表示,其中,所述二维矩形图像数据称为色彩矩阵,包含矩形上的有效像素和无效像素的色彩值,如图2-A所示,为所述色彩矩阵图像示意图,图2-A中所示的眼镜框即为所述的前景图像,该眼镜框可以设置为红色;图2-A中除了眼镜框以外的部分即为所述的背景图像,该图像可以设置为灰色。所述二值掩模矩形图像数据称为掩模矩阵,该矩阵由1和0组成,用以表示所述替换图像的有效像素和无效像素,其中,用1表示有效像素,用0表示无效像素,如图2-B所示,为所述掩模矩阵图像示意图,由于图2-A中的眼镜框是需要被添加到输入图像的人脸上的,所以图2-B中所示的眼镜框部分为有效像素(白色部分);图2-B中除了眼镜框的部分为无效像素(黑色部分)。
所述替换图像的色彩矩阵可以采用图像处理软件或者手动编写程序来获取。如采用强大的图像处理软件(Photoshop)获取,该软件可以采用简单的操作就可以将需要的图像(如眼镜)从背景中分离出来,作为前景图像。然后将该前景图像放在一个背景图像上,背景图像的色彩为单一、均匀且是所述前景图像中不存在的颜色,并记录背景图像的色彩值。那么由所述前景图像和所述背景图像构成的二维矩形图像为所述替换图像,该图像数据为所述色彩矩阵。
对色彩矩阵中的所有像素,如果该像素的色彩值和所述记录的背景图像的色彩值相同,则设定为0,即无效像素,否则,设定为1,即有效像素。则,由0和1组成的二值掩模矩形图像数据为与所述色彩矩阵对应的掩模矩阵。
所述定位单元13,用于对输入图像进行特征点定位,确定所述输入图像的特征点的位置;
所述对应关系单元14,用于根据所述输入图像的特征点位置和所述替换图像的特征点位置,通过仿射变换确定所述替换图像像素和所述输入图像像素的对应关系;
所述图像特效实现单元15,用于根据所述对应关系,利用所述替换图像的有效像素点的色彩值替换对应的所述输入图像上的像素点的色彩值。
本实施例中采用仿射变换来确定所述替换图像和所述输入图像像素之间的对应关系,首先介绍一下仿射变换模型和仿射变换系数的求取方法。
本实施例采用包含放缩尺度(s),旋转角度(θ),水平平移(tx),垂直平移(ty)四个自由度的仿射变换模型,假设输入图像上的某点为(x,y),经过仿射变换到替换图像上一点(x′,y′),点(x,y)与点(x′,y′)互为对应点,则有下式:
其中,c=scosθ,d=ssinθ,当输入图像上存在两个点(x1,y1)和(x2,y2)分别与替换图像上的两个点(x1′,y1′)和(x2′,y2′)相对应时,根据式(1)可有:
记M=(c d tx ty)T,B=(x1′ y1′ x2′ y2′)T,
则当x1≠x2或者y1≠y2时,A必然为可逆矩阵。
则有下式:
M=A-1B (3)
由于本实施例采用的仿射变换模型具有四个参数,因而至少需要四个方程才可以确定所述仿射变换模型的四个参数。
在本实施例中,为了实现将眼镜带在输入图像的人脸上,所以选择输入图像最佳的特征点为左眼和右眼,即采用左眼(xl,yl)和右眼(xr,yr)作为选用的脸部特征点,则利用自动定位到的所述输入图像的左眼和右眼,以及对应的预先标定的所述替换图像的特征点(x1′,y1′)和(x2′,y2′),共可建立四个方程,可以求取四个仿射变换参数,从而得到所述替换图像和所述输入图像的对应关系。
在不同的应用中,需要选定不同的脸部特征点。特征点的选择原则为:首先,输入图像的特征点数目至少为两个,相应的替换图像的特征点数目也至少为两个,这样才能保证求得仿射变换的四个参数。当输入图像的特征点的数目大于2时,得到的方程数目大于变量的数目(4),此时,可以采用最小二乘方法求解。其次,应该选取如左眼、右眼或嘴巴等比较容易被自动定位的脸部特征点,这样自动定位算法能得到较好的定位结果,从而得到更好的处理效果。最后,替换图像的特征点应该处于替换图像的重要位置,从而当利用通过输入图像特征点和替换图像的特征点得到的仿射变换模型进行图像替换后,得到的图像特效具有更好的效果。
如选定左眼和右眼为特征点,在替换图像的色彩矩阵上标定左眼和右眼对应的位置,作为替换图像的特征点。
得到了替换图像的色彩矩阵、掩模矩阵和标定的特征点位置后,对于一个趣味图像特效,这些数据只需要预先设置一次,在实际应用时,这些数据将会被自动添加到输入图像或者视频上,得到预先设定的趣味效果。
所述定位单元13,通过图像采集设备采集到包含人脸的图像,自动采用眼睛定位算法确定左眼和右眼(即预先选择的两个特征点)的位置;
所述对应关系单元14,根据式(3),以及自动定位到的左眼和右眼的位置确定矩阵A的值,根据预先标定的替换图像上双眼位置确定矩阵B,计算从所述输入图像坐标到所述替换图像坐标的仿射变换参数,从而确定所述输入图像像素和所述替换图像像素的对应关系;
所述图像特效实现单元15,对于输入图像上的点,根据求得的仿射变换参数,求其在替换图像上的对应点的坐标,并根据该对应点的掩模矩阵值确定该点的色彩值是否需要被替换,如果该对应点的掩模矩阵值为真(1),则需要将所述输入图像该点的像素色彩值替换为所述替换图像上所述对应点的色彩矩阵的色彩值,否则,所述输入图像该点的像素色彩值保持不变。
其中,所述计算单元151,用于根据所述对应关系,计算与所述输入图像的像素点相对应的所述替换图像的像素点的坐标;
所述判断单元152,用于根据该点坐标判断该点像素是否为所述预先设置的有效像素,如果是,则利用该点的色彩值替换与该点对应的所述输入图像的像素点的色彩值。
为了优化本实施例中的图像特效实现单元,减少运算量以及提高图像处理效果,下面介绍所述图像特效实现单元的另外两种结构;
为了减少运算,可以首先确定替换图像的有效像素所在的最小外接矩形范围,在处理过程中,只对最小外接矩形内部的像素进行处理,从而避免了对最小外接矩形外无效像素的处理,加快了处理速度;
因此,参见图3-A,较佳地,所述图像特效实现单元还可以包括:
确定范围单元,用于确定所述替换图像的有效像素所在的最小外接矩形范围;
实现单元,用于根据所述对应关系,利用所述最小外接矩形范围内的有效像素点的色彩值替换对应的所述输入图像上的像素点的色彩值,实现图像特效。
仿射变换放缩尺度s大于1或小于1时,输入图像中的相邻点在替换图像中的对应点之间距离会比较大或比较小,这样就会造成变换后的输入图像存在明显的阶变,图像质量变差。为了避免这样的问题,可以采用图像整体放缩旋转的方式来获取变换图像。
获得放缩尺度、旋转角度及平移坐标仿射变换参数后,首先根据该参数,将替换图像的色彩矩阵和掩模矩阵分别经过旋转、放缩和变换后,将替换图像变换到输入图像坐标空间,并用输入图像坐标空间的色彩矩阵和掩模矩阵表示,此时,只要将输入图像空间的掩模矩阵中有效像素的色彩值替换为色彩矩阵中对应的色彩值,便完成了图像替换。其中,在图像的放缩和旋转过程中,采用诸如双线性差值等放缩算法,避免最近邻方法引起的误差,得到的图像便不再存在锯齿和阶变等问题。
因此,参见图3-B,较佳地,所述图像特效实现单元还可以包括:
变换单元,用于根据所述对应关系,将所述替换图像变换到所述输入图像的坐标空间;
替换单元,用于利用所述变换后的替换图像的有效像素点的色彩值替换对应的所述输入图像上的像素点的色彩值。
所述色彩调整单元16,用于确定所述替换图像的有效像素和无效像素之间的相邻区域,将与所述相邻区域中的每个点相对应的所述输入图像的像素点的色彩值和所述替换图像上的有效像素的色彩值进行加权平均,并将所述加权平均后的每个点的色彩值作为与所述相邻区域内的像素点对应的所述输入图像上的像素点的色彩值。
所述亮度调整单元17,用于根据与所述替换图像对应的所述输入图像上的区域的整体亮度,对所述替换图像的整体亮度进行调整。
将替换图像的有效像素替换输入图像的对应像素后,有效像素对应点为替换图像,而无效像素对应点为输入图像,如果输入图像的整体亮度和色彩与替换图像相差较大,则得到的图像特效的效果有些不真实。为了改善图像特效的效果,采用在替换图像的有效像素和无效像素的边缘区域采用alpha-blending的方法,对边缘区域中的每个点,都采用输入图像色彩值和替换模板色彩值加权的方式替换输入图像的对应点。距离有效像素点越近,替换图像的色彩权值越大,距离有效像素越远,替换图像的色彩权值越小,这样可以使得图像特效得到更加平滑自然的效果。
另外,根据输入图像对应替换图像区域的整体亮度,对替换图像整体亮度进行调整,从而得到更自然的图像特效。
综上,参见图4-A为本发明装置实施例中所述输入图像的示意图,图4-B为通过本发明装置实施例实现的为所述输入图像添加图像特效后的示意图。
同理,采用本发明方案可以实现的图像特效包括但不限于:
换脸,特征点选双眼,或者双眼加嘴巴;换脸内容包含换为明星脸,换为动物脸,换为卡通脸;
添加帽子,特征点选择双眼;
添加面具,特征点选择双眼;
添加胡子,特征点选择双眼和嘴巴;
添加口罩,特征点选择双眼和嘴巴。
参见图5,本发明方法实施例,预先确定输入图像的至少两个特征点,设置替换图像以及该替换图像的有效像素,并标定与所述输入图像的特征点相对应的所述替换图像的特征点的位置,该方法包括:
S501、对输入图像进行特征点定位,确定所述输入图像的特征点的位置;
S502、根据所述输入图像的特征点位置和所述替换图像的特征点位置,通过仿射变换确定所述替换图像像素和所述输入图像像素的对应关系;
S503、根据所述对应关系,利用所述替换图像的有效像素点的色彩值替换对应的所述输入图像上的像素点的色彩值。
参见图6,本发明方法实施例包括:
S601、预先确定输入图像的特征点,设置替换图像以及该替换图像的有效像素,并标定该替换图像的特征点的位置;
所述输入图像的特征点至少包括两个;
所述替换图像的特征点与所述输入图像的特征点相对应;
其中,所述预先设置替换图像的步骤包括:
从待选图像中分离出需要的图像,将该图像作为前景图像,并为所述前景图像设置色彩单一、均匀且与所述前景图像色彩不同的背景图像,将所述前景图像和所述背景图像构成所述替换图像。
所述预先设置替换图像的有效像素的步骤包括:
对于所述替换图像的所有像素,将色彩值与所述背景图像的色彩值不相同的像素设置为有效像素。
S602、对输入图像进行特征点定位,确定所述输入图像的特征点的位置;
S603、根据所述替换图像的特征点位置以及所述输入图像的特征点位置,通过仿射变换,确定所述替换图像像素和所述输入图像像素的对应关系;
S604、根据所述对应关系,利用所述替换图像的有效像素点的色彩值替换对应的所述输入图像上的像素点的色彩值;
较佳地,步骤S604包括:根据所述对应关系,计算与所述输入图像的像素点相对应的所述替换图像的像素点的坐标,并根据该点坐标判断该点像素是否为所述预先设置的有效像素,如果是,则利用该点的色彩值替换与该点对应的所述输入图像的像素点的色彩值。
较佳地,步骤S604包括:确定所述替换图像的有效像素所在的最小外接矩形范围,并根据所述对应关系,利用所述最小外接矩形范围内的有效像素点的色彩值替换对应的所述输入图像上的像素点的色彩值,实现图像特效。
较佳地,步骤S604包括:根据所述对应关系,将所述替换图像变换到所述输入图像的坐标空间,并利用所述变换后的替换图像的有效像素点的色彩值替换对应的所述输入图像上的像素点的色彩值,实现图像特效。
S605、确定所述替换图像的有效像素和无效像素之间的相邻区域;
S606、将与所述相邻区域中的每个点相对应的所述输入图像的像素点的色彩值和所述替换图像上的有效像素的色彩值进行加权平均;
S607、将所述加权平均后的每个点的色彩值作为与所述相邻区域内的像素点对应的所述输入图像上的像素点的色彩值;
S608、根据与所述替换图像对应的所述输入图像上的区域的整体亮度,对所述替换图像的整体亮度进行调整。
综上,本发明提供了一种能够自动为图像或者视频添加需要的趣味效果的技术方案,预先确定输入图像的至少两个特征点,设置替换图像以及该替换图像的有效像素,并标定与所述输入图像的特征点相对应的所述替换图像的特征点的位置,在实际应用时,首先,对输入图像中的特征点进行定位,并计算所述替换图像像素和所述输入图像像素的对应关系,然后,根据所述对应关系,用替换图像上的像素色彩值替换输入图像上的对应点的色彩值,从而,将替换图像添加到输入图像上,实现图像特效,为用户提供需要的趣味图像效果。
因此,通过本发明提供的技术方案,可以实现完全自动地对输入图像添加特效,不需要人的手工干预。本发明具有极大的可扩展性,可以自动提供用户期待的趣味效果,满足了用户更多的娱乐需求,并且节省了人力,提高了图像特效的生成效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。