一种后置摄像头的智能自拍方法

文档序号:7772918阅读:677来源:国知局
一种后置摄像头的智能自拍方法
【专利摘要】本发明公开了一种后置摄像头的智能自拍方法,其在人脸检测的基础上通过判断人脸区域与预设区域的偏离方向对用户给予语音提示对摄像头进行调整,并在开始自拍时进行肤色对焦,在很大程度地提高了后置摄像头的拍照质量,并且保证人脸肤色不会过暗或者过亮。
【专利说明】一种后置摄像头的智能自拍方法
【技术领域】
[0001]本发明涉及一种拍照方法,特别是一种采用后置摄像头的智能自拍方法。
【背景技术】
[0002]虽然目前大部分的手机都拥有前置摄像头,来让我们用来自拍,但是由于其像素不高导致我们拍照出来的照片画质不佳;而后置摄像头的像素很高,但是由于操作时,我们无法实时预览到当前画质的效果,因此我们无法准备地拍照,中国公开专利CN102413282A虽然公开了一种自拍引导方法和设备对后置摄像头的自拍进行了补充,但是由于其还没有智能地为用户自动拍照,而且我们在利用后置摄像头进行自拍时,由于无法确定拍照按钮的具体位置而出现误点或者因为触屏自拍而使设备抖动导致拍照出来的照片质量不佳。
[0003]另一中国公开专利CN101867718A公开了一种自动拍照的方法及装置,其虽然提供了一种自动拍照的方法,可以解决由于触摸而引起的设备抖动问题,但是由于是后置摄像头进行自拍,我们无法获取当前的对焦是在哪里,对焦区域的光线是亮还是暗。当对焦区域过暗时,会使人脸的肤色过亮;当对焦区域过亮时,会使人脸的肤色过暗。以上两种情况都会使对焦的效果不佳,导致拍照出来的质量不好。

【发明内容】

[0004]本发明为解决上述问题,提供了一种在肤色对焦的基础上提高后置摄像头的拍照质量、保证人脸皮肤不会过亮或过暗的智能自拍方法,其特征在于,包括以下步骤:
[0005]A.驱动后置摄像头;
[0006]B.进行数据实时预览;
[0007]C.对预览的数据进行人脸检测以判断是否检测到人脸;若检测到人脸,执行步骤D,否则执行步骤B;
[0008]D.判断检测到的人脸区域是否在预设区域的范围内;若是则执行步骤E,否则给予语音提示摄像头偏移的方向并执行步骤B ;
[0009]E.提示用户要开始进行自拍并开始倒计时;
[0010]F.倒计时结束时,首先进行肤色对焦,然后调用后置摄像头进行拍照。
[0011]作为一较佳实施例:所述步骤D进一步包括:
[0012]Dl.判断人脸区域的宽和高与整个预览图的宽和高的比例是否合适并进行调整;
[0013]D2.判断人脸区域的左上角的坐标与整个预览图的宽和高的比例是否合适并进行调整。
[0014]作为一较佳实施例:所述步骤Dl中根据以下公式计算人脸区域的宽和高与整个预览图的宽和高的比例:
[0015]wrat=fw / w ;hrat=fh / h ;
[0016]其中,w为整个预览图的宽,h为整个预览图的高,fw为人脸区域的宽,fh为人脸区域的高,wrat为人脸区域的宽与整个预览图的宽的比例,hrat为人脸区域的高与整个预览图的高的比例;
[0017]wrat与hrat若在0.3到0.6的范围之间则是符合比例大小的,若大于0.6则语音提示用户距离太近,若小于0.3则语音提示用户距离太远。
[0018]作为一较佳实施例:所述步骤D2中根据以下公式计算人脸区域的左上角的坐标与整个预览图的宽和高的比例:
[0019]xrat=fx / w ;yrat=fy / h ;
[0020]其中,w为整个预览图的宽,h为整个预览图的高,fx为人脸区域的左上角的横坐标,fy为人脸区域的左上角的纵坐标,xrat为人脸区域的左上角的横坐标与整个预览图的宽的比例,yrat为人脸区域的左上角的纵坐标与整个预览图的高的比例;
[0021]xrat与yrat若在0.2到0.8的范围之间则是符合最佳自拍模板的比例大小的,若xrat小于0.2则语音提示用户向右移动摄像头,若yrat小于0.2则语音提示用户向下移动摄像头,若xrat+wrat大于0.8则语音提示用户向左移动摄像头,若yrat+hrat大于0.8则语音提示用户向右移动摄像头。
[0022]作为一较佳实施例:所述步骤F的肤色对焦进一步包括:
[0023]Fl.对预览的数据进行人脸识别,获取人脸区域;
[0024]F2.对获取的人脸区域进行均值计算,获取平均肤色;
[0025]F3.将人脸区域的数据进行分块,对每个数据块进行肤色概率的统计,并根据获取的平均肤色计算当前数据块的肤色概率映射表;
[0026]F4.根据获取的肤色概率映射表对当前数据块进行肤色识别,并获取肤色概率和最高的数据块的中心点作为对焦中心点。
[0027]作为一较佳实施例:所述步骤F2进一步包括:
[0028]F2.1.初始化原始皮肤模型;
[0029]F2.2.计算整个图像的颜色均值,作为初始肤色的阈值;
[0030]F2.3.根据获取的初始肤色的阈值计算人脸区域的平均肤色。
[0031]作为一较佳实施例:所述步骤F2.1进一步包括:
[0032]F2.1.1.创建皮肤模型,大小为256*256 ;
[0033]F2.1.2.依次对皮肤模型进行赋值,具体伪代码如下:
[0034]预设临时变量AlphaValue、nMax、1、j为整数类型。
[0035]皮肤模型变量为SkinModel [256] [256]
[0036]For(i=0 ;i<256 ;i++)
[0037]{
[0038]判断i是否大于128,如果大于128,则AlphaValue为255,否则为i*2 ;
[0039]计算获得nMax 的值,计算公式为 nMax=min (256, AlphaValue*2);
[0040]For (j=0 ; j〈nMax ; j++)
[0041]{
[0042]计算对应位置的皮肤模型的值,计算公式为SkinModel[i] [j] =AlphaValue 一(j / 2);
[0043]}
[0044]For(j=nMax.j<256 ;j++)[0045]{
[0046]初始对应位置的皮肤模型的值为O ;
[0047]}
[0048]}。
[0049]作为一较佳实施例:所述步骤F2.2进一步包括:
[0050]F2.2.1.遍历整个图像的像素点,将红色通道、绿色通道、蓝色通道的颜色值累加,得到颜色累加值;
[0051]F2.2.2.将颜色累加值除以整个图像的像素点的总数,得到红色通道、绿色通道、蓝色通道的均值,作为初始肤色的阈值。
[0052]作为一较佳实施例:所述步骤F2.3进一步包括:
[0053]F2.3.1.根据如下公式计算平均肤色的灰度值:
[0054]GRAYl=0.299*RED+0.587*GREEN+0.114*BLUE
[0055]其中,GRAYl为图像的当前像素点的灰度值;RED、GREEN、BLUE分别为图像的当前像素点的红、绿、蓝通道的颜色值;
[0056]F2.3.2.将所述灰度值作为阈值,用来排除人脸区域非皮肤的部分;
[0057]F2.3.3.依次遍历人脸区域里的像素点的颜色值,根据如下公式获得平均肤色:
[0058]skin=SkinModel[red][blue];
[0059]其中,skin为经过皮肤模型的颜色映射后的肤色值;SkinModel为步骤D2.1的初始化原始皮肤模型;red为红色通道的颜色值;blue为蓝色通道的颜色值。
[0060]作为一较佳实施例:所述步骤F3的肤色概率映射表通过如下步骤获取:
[0061]F3.1.创建肤色概率映射表,大小为256*256 ;
[0062]F3.2.依次对肤色概率映射表进行赋值,具体伪代码如下;
[0063]预设临时变量1、j、SkinRed Lef t > AlphaValue > Of f set > TempAlphaValue > Off set J
为整数类型;
[0064]肤色概率映射表的变量为SkinProbabi lity[256] [256];
[0065]SkinRed为步骤F2.2.2计算得到的红色通道的均值;SkinBlue为步骤F2.2.2计算得到的蓝色通道的均值;
[0066]预设SkinRed_Left 的值,计算公式为:SkinRed_Left=SkinRed_128 ;
[0067]For(i=0 ;i<256 ;i++)
[0068]{
[0069]计算Offset 的值,公式为 Offset=max (O, min (255, i_SkinRed_Left));
[0070]判断Offset的值是否小于128,如果小于的,话则AlphaValue=0ffset*2 ;如果大于等于 128 的话,则 AlphaValue=255 ;
[0071]For (j=0 ; j < 256 ; j++)
[0072]{
[0073]计算OffsetJ 的值,公式为 0ffsetj=max (O, j-SkinBlue);
[0074]计算TempAlphaValue 的值,公式为 TempAlphaValue=max(AlphaValue-(OffsetJ*2),0);
[0075]判断TempAlphaValue 的值。如果大于 160 的话,则 SkinProbability [i] [j]的值为 255 ;
[0076]如果小于90的话,则SkinProbability[i] [j]的值为O;否则SkinProbability[i] [j]的值为 TempAlphaValue+30 ;
[0077]}
[0078]}。
[0079]作为一较佳实施例:所述步骤F4通过如下公式实现:
[0080]SkinColor=SkinProbabi Iity[red][blue]
[0081]其中,skinColor为结果图的肤色概率值;SkinProbability为肤色概率映射表;red为像素点的红色通道的颜色值;blue为像素点的蓝色通道的颜色值。
[0082]作为一较佳实施例:所述步骤F3中将人脸区域的数据分为N*N块,其中N大于4。
[0083]本发明的有益效果是:
[0084]本发明所述的智能自拍方法,在人脸检测的基础上通过判断人脸区域与预设区域的偏离方向对用户给予语音提示进行调整,并在开始自拍时进行肤色对焦,在很大程度地提高了后置摄像头的拍照质量,并且保证人脸肤色不会过暗或者过亮。
【专利附图】

【附图说明】
[0085]此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0086]图1为本发明智能自拍方法的流程简图。
【具体实施方式】
[0087]为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0088]如图1所示,本发明的一种后置摄像头的智能自拍方法,包括以下步骤:
[0089]A.驱动后置摄像头;
[0090]B.进行数据实时预览;
[0091]C.对预览的数据进行人脸检测;若检测到人脸,执行步骤D,否则执行步骤B ;
[0092]D.判断检测到的人脸区域是否在预设区域的范围内;若是则执行步骤E,否则给予语音提示摄像头偏移的方向并执行步骤B ;
[0093]E.提示用户要开始进行自拍并开始倒计时;
[0094]F.倒计时结束时,首先进行肤色对焦,然后调用后置摄像头进行拍照。
[0095]上述步骤C中的人脸检测方法采用常规方法,因此不进行赘述。
[0096]由于自拍过程中人脸是主体,而主体放在整个图片的正中央则会突出人脸本身,如果人脸过大或者过小都会影响拍照质量。因此本实施例中的步骤D进一步包括:
[0097]Dl.判断人脸区域的宽和高与整个预览图的宽和高的比例是否合适并进行调整;
[0098]D2.判断人脸区域的左上角的坐标与整个预览图的宽和高的比例是否合适并进行调整。
[0099]本实施例中,所述步骤Dl中根据以下公式计算人脸区域的宽和高与整个预览图的宽和高的比例:
[0100]wrat=fw / w ;hrat=fh / h ;
[0101]其中,W为整个预览图的宽,h为整个预览图的高,fw为人脸区域的宽,fh为人脸区域的高,wrat为人脸区域的宽与整个预览图的宽的比例,hrat为人脸区域的高与整个预览图的高的比例;
[0102]wrat与hrat若在0.3到0.6的范围之间则是符合比例大小的,若大于0.6则语音
提示用户距离太近需要将摄像头拿远一些,若小于0.3则语音提示用户距离太远需要将摄像头拿近一些。
[0103]同时,所述步骤D2中根据以下公式计算人脸区域的左上角的坐标与整个预览图的宽和高的比例:
[0104]xrat=fx / w ;yrat=fy / h ;
[0105]其中,w为整个预览图的宽,h为整个预览图的高,fx为人脸区域的左上角的横坐标,fy为人脸区域的左上角的纵坐标,xrat为人脸区域的左上角的横坐标与整个预览图的宽的比例,yrat为人脸区域的左上角的纵坐标与整个预览图的高的比例;
[0106]具体判断方法如下:
[0107]xrat与yrat若在0.2到0.8的范围之间则是符合最佳自拍模板的比例大小的;
[0108]若xrat小于0.2则语音提示用户向右移动摄像头;
[0109]若yrat小于0.2则语音提示用户向下移动摄像头;
[0110]若xrat+wrat大于0.8则语音提示用户向左移动摄像头;
[0111]若yrat+hrat大于0.8则语音提示用户向右移动摄像头。
[0112]步骤E中提示用户要开始进行自拍并开始倒计时,即语音提示用户要开始进行拍照,请用户调整好自拍的姿势与表情,接着自动对焦在人脸区域,保证拍照刚好突出人脸,然后开始语音倒计时进行拍照。
[0113]本实施例中,为防止人脸区域肤色过暗或过亮而影响拍照质量,所述步骤F的肤色对焦进一步包括:
[0114]Fl.对预览的数据进行人脸识别,获取人脸区域;
[0115]F2.对获取的人脸区域进行均值计算,获取平均肤色;
[0116]F3.将人脸区域的数据进行分块,对每个数据块进行肤色概率的统计,并根据获取的平均肤色计算当前数据块的肤色概率映射表;
[0117]F4.根据获取的肤色概率映射表对当前数据块进行肤色识别,并获取肤色概率和最高的数据块的中心点作为对焦中心点。
[0118]本实施例中,所述步骤F2进一步包括:
[0119]F2.1.初始化原始皮肤模型;
[0120]F2.2.计算整个图像的颜色均值,作为初始肤色的阈值;
[0121]F2.3.根据获取的初始肤色的阈值计算人脸区域的平均肤色。
[0122]本实施例中,所述步骤F2.1进一步包括:
[0123]F2.1.1.创建皮肤模型,大小为256*256 ;
[0124]F2.1.2.依次对皮肤模型进行赋值,具体伪代码如下:
[0125]预设临时变量AlphaValue、nMax、1、j为整数类型。[0126]皮肤模型变量为SkinModel [256] [256]
[0127]For(i=0 ;i<256 ;i++)
[0128]{
[0129]判断i是否大于128,如果大于128,则AlphaValue为255,否则为i*2 ;
[0130]计算获得nMax 的值,计算公式为 nMax=min (256, AlphaValue*2);
[0131]For(j=0 ;j<nMax ;j++)
[0132]{
[0133]计算对应位置的皮肤模型的值,计算公式为SkinModel [i] [j] =AlphaValue-(j /2);
[0134]}
[0135]For(j=nMax.j<256 ;j++)
[0136]{
[0137]初始对应位置的皮肤模型的值为O ;
[0138]}
[0139]}。
[0140]本实施例中,所述步骤F2.2进一步包括:
[0141]F2.2.1.遍历整个图像的像素点,将红色通道、绿色通道、蓝色通道的颜色值累加,得到颜色累加值;
[0142]F2.2.2.将颜色累加值除以整个图像的像素点的总数,得到红色通道、绿色通道、蓝色通道的均值,作为初始肤色的阈值。
[0143]本实施例中,所述步骤F2.3进一步包括:
[0144]F2.3.1.根据如下公式计算平均肤色的灰度值:
[0145]GRAYl=0.29肿RED+0.587*GREEN+0.114祁LUE
[0146]其中,GRAYl为图像的当前像素点的灰度值;RED、GREEN、BLUE分别为图像的当前像素点的红、绿、蓝通道的颜色值;
[0147]F2.3.2.将所述灰度值作为阈值,用来排除人脸区域非皮肤的部分;
[0148]F2.3.3.依次遍历人脸区域里的像素点的颜色值,根据如下公式获得平均肤色:
[0149]skin=SkinModel[red][blue];
[0150]其中,skin为经过皮肤模型的颜色映射后的肤色值;SkinModel为步骤D2.1的初始化原始皮肤模型;red为红色通道的颜色值;blue为蓝色通道的颜色值。
[0151]本实施例中,所述步骤F3的肤色概率映射表通过如下步骤获取:
[0152]F3.1.创建肤色概率映射表,大小为256*256 ;
[0153]F3.2.依次对肤色概率映射表进行赋值,具体伪代码如下;
[0154]预设临时变量1、j、SkinRed_Left、AlphaValue、Offset、TempAlphaValue、OffsetJ为整数类型;
[0155]肤色概率映射表的变量为SkinProbabi lity[256] [256];
[0156]SkinRed为步骤F2.2.2计算得到的红色通道的均值;SkinBlue为步骤F2.2.2计算得到的蓝色通道的均值;
[0157]预设SkinRed_Left 的值,计算公式为:SkinRed_Left=SkinRed_128 ;[0158]For(i=0 ;i < 256 ;i++)
[0159]{
[0160]计算Offset 的值,公式为 Offset=max (0, min (255, i_SkinRed_Left));
[0161]判断Offset的值是否小于128,如果小于的,话则AlphaValue=0ffset*2 ;如果大于等于 128 的话,则 AlphaValue=255 ;
[0162]For(j=0 ;j<256 ;j++)
[0163]{
[0164]计算OffsetJ 的值,公式为 OffsetJ=max (O, j-SkinBlue):
[0165]计算TempAlphaValue 的值,公式为 TempAlphaValue=max(AlphaValue-(OffsetJ*2),0);
[0166]判断TempAlphaValue 的值。如果大于 160 的话,则 SkinProbability [i] [j]的值为 255 ;
[0167]如果小于90的话,则SkinProbability [i] [j]的值为O;否贝丨JSkinProbability[i] [j]的值为 TempAlphaValue+30 ;
[0168]}
[0169]}。
[0170]本实施例中,所述步骤F4通过如下公式实现:
[0171]SkinColor=SkinProbabi Iity[red][blue]
[0172]其中,skinColor为结果图的肤色概率值;SkinProbability为肤色概率映射表;red为像素点的红色通道的颜色值;blue为像素点的蓝色通道的颜色值。
[0173]优选的,所述步骤F3中将人脸区域的数据分为N*N块,其中N大于4。
[0174]上述说明示出并描述了本发明的优选实施例,如前,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
【权利要求】
1.一种后置摄像头的智能自拍方法,其特征在于,包括以下步骤: A.驱动后置摄像头; B.进行数据实时预览; C.对预览的数据进行人脸检测;若检测到人脸,执行步骤D,否则执行步骤B; D.判断检测到的人脸区域是否在预设区域的范围内;若是则执行步骤E,否则给予语音提示摄像头偏移的方向并执行步骤B ; E.提示用户要开始进行自拍并开始倒计时; F.倒计时结束时,首先进行肤色对焦,然后调用后置摄像头进行拍照。
2.根据权利要求1所述的一种后置摄像头的智能自拍方法,其特征在于:所述步骤D进一步包括: Dl.判断人脸区域的宽和高与整个预览图的宽和高的比例是否合适并进行调整; D2.判断人脸区域的左上角的坐标与整个预览图的宽和高的比例是否合适并进行调難iF.0
3.根据权利要求2所述的一种后置摄像头的智能自拍方法,其特征在于:所述步骤Dl中根据以下公式计算人脸区域 的宽和高与整个预览图的宽和高的比例:
wrat=fw / w ;hrat=fh / h ; 其中,w为整个预览图的宽,h为整个预览图的高,fw为人脸区域的宽,fh为人脸区域的高,wrat为人脸区域的宽与整个预览图的宽的比例,hrat为人脸区域的高与整个预览图的闻的比例; wrat与hrat若在0.3到0.6的范围之间则是符合比例大小的,若大于0.6则语音提示用户距离太近,若小于0.3则语音提示用户距离太远。
4.根据权利要求3所述的一种后置摄像头的智能自拍方法,其特征在于:所述步骤D2中根据以下公式计算人脸区域的左上角的坐标与整个预览图的宽和高的比例:
xrat=fx / w ;yrat=fy / h ; 其中,w为整个预览图的宽,h为整个预览图的高,fx为人脸区域的左上角的横坐标,fy为人脸区域的左上角的纵坐标,xrat为人脸区域的左上角的横坐标与整个预览图的宽的比例,yrat为人脸区域的左上角的纵坐标与整个预览图的高的比例; xrat与yrat若在0.2到0.8的范围之间则是符合最佳自拍模板的比例大小的,若xrat小于0.2则语音提示用户向右移动摄像头,若yrat小于0.2则语音提示用户向下移动摄像头,若xrat+wrat大于0.8则语音提示用户向左移动摄像头,若yrat+hrat大于0.8则语音提示用户向右移动摄像头。
5.根据权利要求1所述的一种后置摄像头的智能自拍方法,其特征在于:所述步骤F的肤色对焦进一步包括: Fl.对预览的数据进行人脸识别,获取人脸区域; F2.对获取的人脸区域进行均值计算,获取平均肤色; F3.将人脸区域的数据进行分块,对每个数据块进行肤色概率的统计,并根据获取的平均肤色计算当前数据块的肤色概率映射表; F4.根据获取的肤色概率映射表对当前数据块进行肤色识别,并获取肤色概率和最高的数据块的中心点作为对焦中心点。
6.根据权利要求5所述的一种后置摄像头的智能自拍方法,其特征在于:所述步骤F2进一步包括: F2.1.初始化原始皮肤模型; F2.2.计算整个图像的颜色均值,作为初始肤色的阈值; F2.3.根据获取的初始肤色的阈值计算人脸区域的平均肤色。
7.根据权利要求6所述的一种后置摄像头的智能自拍方法,其特征在于:所述步骤F2.1进一步包括: F2.1.1.创建皮肤模型,大小为256*256 ; F2.1.2.依次对皮肤模型进行赋值,具体伪代码如下: 预设临时变量AlphaValue、nMax、1、j为整数类型。 皮肤模型变量为SkinModel [256] [256]
For(i=0 ;i<256 ;i++)
{ 判断i是否大于128,如果大于128,则AlphaValue为255,否则为i*2 ; 计算获得nMax的值,计算公式为nMax=min (256, AlphaValue*2);
For (j=0 ; j<nMax ; `j++)
{ 计算对应位置的皮肤模型的值,计算公式为SkinModel [i] [j] =AlphaValue-(j / 2);
}
For (j=nMax.j〈256 ; j++)
{ 初始对应位置的皮肤模型的值为O ;
}
}o
8.根据权利要求6所述的一种后置摄像头的智能自拍方法,其特征在于:所述步骤F2.2进一步包括: F2.2.1.遍历整个图像的像素点,将红色通道、绿色通道、蓝色通道的颜色值累加,得到颜色累加值; F2.2.2.将颜色累加值除以整个图像的像素点的总数,得到红色通道、绿色通道、蓝色通道的均值,作为初始肤色的阈值。
9.根据权利要求6所述的一种后置摄像头的智能自拍方法,其特征在于:所述步骤F2.3进一步包括: F2.3.1.根据如下公式计算平均肤色的灰度值:
GRAYl=0.299*RED+0.587*GREEN+0.114祁LUE 其中,GRAYl为图像的当前像素点的灰度值;RED、GREEN、BLUE分别为图像的当前像素点的红、绿、蓝通道的颜色值; F2.3.2.将所述灰度值作为阈值,用来排除人脸区域非皮肤的部分; F2.3.3.依次遍历人脸区域里的像素点的颜色值,根据如下公式获得平均肤色: skin=SkinModel[red][blue];其中,skin为经过皮肤模型的颜色映射后的肤色值;SkinModel为步骤D2.1的初始化原始皮肤模型;red为红色通道的颜色值;blue为蓝色通道的颜色值。
10.根据权利要求8所述的一种后置摄像头的智能自拍方法,其特征在于:所述步骤F3的肤色概率映射表通过如下步骤获取: F3.1.创建肤色概率映射表,大小为256*256 ; F3.2.依次对肤色概率映射表进行赋值,具体伪代码如下; 预设临时变量 1、j、SkinRed_Left、AlphaValue、Offset、TempAlphaValue> OffsetJ 为整数类型; 肤色概率映射表的变量为SkinProbabi lity[256] [256]; SkinRed为步骤F2.2.2计算得到的红色通道的均值;SkinBlue为步骤F2.2.2计算得到的蓝色通道的均值; 预设 SkinRed_Left 的值,计算公式为:SkinRed_Left=SkinRed_128 ;
For (i=0 ;i<256 ;i++)
{
计算 Offset 的值,公式为 Offset=max (O, min (255, i_SkinRed_Left)); 判断Offset的值是否小于128,如果小于的,话则AlphaValue=0ffset*2 ;如果大于等于 128 的话,则 AlphaVa lue=255 ;
For(j=0 ;j<256 ;j++)
{ 计算 OffsetJ 的值,公式为 OffsetJ=max (O, j-SkinBlue); 计算 TempAlphaValue 的值,公式为 TempAlphaValue=max(AlphaValue-(OffsetJ*2),0); 判断TempAlphaValue的值。如果大于160的话,贝丨J SkinProbability[i] [j]的值为255 ; 如果小于 90 的话,则 SkinProbability [i] [j]的值为 O ;否则 SkinProbability [i] [j]的值为 TempAlphaValue+30 ;
}
}o
11.根据权利要求5所述的一种后置摄像头的智能自拍方法,其特征在于:所述步骤F4通过如下公式实现:
SkinColor=SkinProbabiI ity [red][blue] 其中,skinColor为结果图的肤色概率值;SkinProbability为肤色概率映射表;red为像素点的红色通道的颜色值;blue为像素点的蓝色通道的颜色值。
12.根据权利要求5所述的一种后置摄像头的智能自拍方法,其特征在于:所述步骤F3中将人脸区域的数据分为N*N块,其中N大于4。
【文档编号】H04N5/232GK103491307SQ201310464501
【公开日】2014年1月1日 申请日期:2013年10月7日 优先权日:2013年10月7日
【发明者】张伟, 傅松林, 胡瑞鑫, 张长定 申请人:厦门美图网科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1