CN104282002B - 一种数字图像的快速美容方法 - Google Patents

一种数字图像的快速美容方法 Download PDF

Info

Publication number
CN104282002B
CN104282002B CN201410488602.6A CN201410488602A CN104282002B CN 104282002 B CN104282002 B CN 104282002B CN 201410488602 A CN201410488602 A CN 201410488602A CN 104282002 B CN104282002 B CN 104282002B
Authority
CN
China
Prior art keywords
value
image
skin
color
channel
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
CN201410488602.6A
Other languages
English (en)
Other versions
CN104282002A (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.)
XIAMEN MEITUWANG TECHNOLOGY Co Ltd
Original Assignee
XIAMEN MEITUWANG 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 XIAMEN MEITUWANG TECHNOLOGY Co Ltd filed Critical XIAMEN MEITUWANG TECHNOLOGY Co Ltd
Priority to CN201410488602.6A priority Critical patent/CN104282002B/zh
Priority to US14/574,815 priority patent/US9501843B2/en
Publication of CN104282002A publication Critical patent/CN104282002A/zh
Priority to HK15106631.5A priority patent/HK1206132A1/zh
Application granted granted Critical
Publication of CN104282002B publication Critical patent/CN104282002B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/162Detection; Localisation; Normalisation using pixel segmentation or colour matching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/82Camera processing pipelines; Components thereof for controlling camera response irrespective of the scene brightness, e.g. gamma correction
    • H04N23/83Camera processing pipelines; Components thereof for controlling camera response irrespective of the scene brightness, e.g. gamma correction specially adapted for colour signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • H04N23/84Camera processing pipelines; Components thereof for processing colour signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/646Circuits for processing colour signals for image enhancement, e.g. vertical detail restoration, cross-colour elimination, contour correction, chrominance trapping filters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/68Circuits for processing colour signals for controlling the amplitude of colour signals, e.g. automatic chroma control circuits
    • H04N9/69Circuits for processing colour signals for controlling the amplitude of colour signals, e.g. automatic chroma control circuits for modifying the colour signals by gamma correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)

Abstract

一种数字图像的快速美容方法,通过对原始图像进行高斯模糊处理,提取绿色通道值,对绿色通道值进行线性光混合、强光混合,并重新计算混合后的绿色通道值,同时对原始图像进行皮肤识别与美白处理,最后将重新计算的绿色通道值与皮肤识别得到的概率值相乘的积作为透明度,对原始图像与美白图像进行透明度混合形成美容图像;本发明的图像美容方法不仅高效而且美容效果好,可以广泛应用于图像处理领域,可利用在目前的个人电脑或者是手机、平板等平台上的图像后期处理软件中,也可以用在带数码摄像头的一些设备的相机实时滤镜中;并且通过对原始图像进行肤色识别,使算法不对黑色像素进行处理,从而保留了头发、眼睛等关键部位不被处理,使得整个美容的效果更佳、更自然。

Description

一种数字图像的快速美容方法
技术领域
本发明涉及一种图像处理方法,特别是一种数字图像的快速美容方法。
背景技术
随着科技的进步,越来越多载有高清或者微型摄像头或者图像获取装置的设备出现。如数码相机,手机,平板,甚至是笔记本等等。无论是摄像设备的像素、光圈或者是拍摄环境的光线、平稳度甚至是设备的I/O性能等都会对成像质量造成影响,带来的结果是成像与现实世界真实画面有差距。这种差距可能与设备使用者的意愿相违背,或者是达不到使用者的美观要求。由此衍生出来的各种图像后期处理软件,通过能图像进行色彩上的处理,使得图像在视觉上达到相比原始图像更加符合使用者审美观的效果。
但是许多处理方式由于在图像的智能检测方面做的不到位,或者处理方法不正确或者是处理过程复杂,耗时太久而造成图像达不到使用者要求,甚至是使处理后的图像往“丑”的方向进一步发展。
综上所述,目前的一些对图像美容方面的技术还远不能满足人们的需要,开发一种高效、有效的美容方法很有必要。
发明内容
本发明为解决上述问题,提供了一种效率较高的并且效果明显的数字图像的快速美容方法,可很大程度上对图像进行美化,使得图像更加符合使用者的审美观念,并且通过对原始图像进行肤色识别,使算法不对黑色像素进行处理,从而保留了头发、眼睛等关键部位不被处理,使得整个美容的效果更佳、更自然。
为实现上述目的,本发明采用的技术方案为:
一种数字图像的快速美容方法,其特征在于,包括以下步骤:
步骤1.从本地或远程读取原始图像;
步骤2.对原始图像进行高斯模糊处理,得到模糊图像;
步骤3.依次提取原始图像单个像素的绿色通道值G,该绿色通道与所述模糊图像的对应像素进行线性光混合,得到第一绿色通道值G1;
步骤4.所述经过线性光混合后的第一绿色通道值G1与其自身G1进行连续的强光混合,得到第二绿色通道值G2;
步骤5.将第二绿色通道值G2与高斯模糊后的红色通道值R和蓝色通道值B相结合,计算出第三绿色通道值G3;
步骤6.对原始图像进行颜色映射,得到美白图像;
步骤7.对原始图像进行肤色识别,得到对应的肤色概率值;
步骤8.以所述第三绿色通道值G3与对应的肤色概率值相乘得到的积作为透明度,对原始图像与所述美白图像进行透明度混合,形成美容图像。
作为优选,所述步骤3中线性光混合的公式为:
G1=(2*G-2*fg+1)/2
其中,G1是指单个像素经过线性光混合后的绿色通道的颜色值,G是指单个像素的原始图像的绿色通道的颜色值,fg是指步骤2中高斯模糊后的图像中对应相同位置的像素的绿色通道的颜色值。
作为优选,所述步骤4中的连续的强光混合,其连续次数为1至10次。
作为优选,所述步骤4中强光混合的公式为:
resultColor=((base)<=128?(base)*(base)/128:255-(255-(base))*(255-(base))/128)
其中,resultColor为强光计算后的结果,base为步骤3中线性光混合计算后得到的G1。
作为优选,所述步骤5中的计算方法为:
if(Red<0.5)
{
alphaValue=1.0-(0.5-Red)*2.0;
}
Else
{
alphaValue=1.0;
}
G3=G2*max(0.0,alphaValue-Blue*0.0019608);
其中,G3为第三绿色通道值,G2的初始值为所述步骤4中强光混合计算的结果,Red为高斯模糊后的红色通道的值,Blue为高斯模糊后的蓝色通道的值。
作为优选,所述步骤6中,对原始图像进行颜色映射,得到美白图像;其中,颜色映射的公式为:
oralColor=arrayCurve[oralColor];
其中arrayCurve为预定的一组颜色映射,oralColor为原始图像中单个像素的红色通道、绿色通道、蓝色通道的颜色值。
作为优选,所述的步骤7中对原始图像进行肤色识别,得到对应的肤色概率值,进一步包括以下步骤:
步骤71.对图像进行人脸识别,获取人脸区域;
步骤72.对所述的人脸区域进行均值计算,获取平均肤色;
步骤73.根据所述的平均肤色计算当前图像的肤色概率映射表;
步骤74.根据所述的肤色概率映射表对当前图像进行肤色识别,并获得当前图像的肤色概率值。
作为优选,所述的步骤72进一步包括:
步骤721.初始化原始皮肤模型;
步骤722.计算整个图像的颜色均值,作为初始皮肤的阈值;
步骤723.根据获取得的初始皮肤的阈值计算人脸区域的平均肤色。
作为优选,所述的步骤722进一步包括:
步骤7221.遍历整个图像的像素点,将红色通道、绿色通道、蓝色通道的颜色值累加,得到颜色累加和;
步骤7222.将颜色累加值除以像素点的总数,得到红色通道、绿色通道、蓝色通道的均值,作为初始皮肤的阈值。
作为优选,所述的步骤723进一步包括:
步骤7231.根据如下公式计算平均肤色的黑白值:
GRAY 1=0.299*RED+0.587*GREEN+0.114*BLUE
其中,GRAY1为灰度图的当前像素点的灰度值;RED、GREEN、BLUE分别为图像的当前像素点的红、绿、蓝通道的颜色值;
步骤7232.将所述的黑白值作为阈值,用来排除人脸区域非皮肤的部分;
步骤7233.依次遍历人脸区域里的像素点的颜色值,根据如下公式获得平均肤色:
skin=SkinModel[red][blue];
其中,skin为经过皮肤模型的颜色映射后的皮肤值;SkinModel为初始化原始皮肤模型;red为红色通道的颜色值;blue为蓝色通道的颜色值。
作为优选,所述的步骤73中根据所述的平均肤色计算当前图像的肤色概率映射表,所述的肤色概率映射表通过如下步骤获取:
步骤731.创建肤色概率映射表,大小为256*256;
步骤731.依次对肤色概率映射表进行赋值,具体伪代码如下;
预设临时变量i、j、SkinRed_Left、AlphaValue、Offset、TempAlphaValue、OffsetJ为整数类型;
肤色概率映射表的变量为SkinProbability[256][256];
SkinRed为步骤7222计算得到的红色通道的均值;SkinBlue为步骤7222计算得到的蓝色通道的均值;
预设SkinRed_Left的值,计算公式为:SkinRed_Left=SkinRed-128;
For(i=0;i<256;i++)
{
计算Offset的值,公式为Offset=max(0,min(255,i-SkinRed_Left));
判断Offset的值是否小于128,如果小于的,话则AlphaValue=Offset*2;如果大于等于128的话,则AlphaValue=255;
For(j=0;j<256;j++)
{
计算OffsetJ的值,公式为OffsetJ=max(0,j-SkinBlue);
计算TempAlphaValue的值,公式为TempAlphaValue=max(AlphaValue-(OffsetJ*2),0);
判断TempAlphaValue的值。如果大于160的话,则SkinProbability[i][j]的值为255;
如果小于90的话,则SkinProbability[i][j]的值为0;否则SkinProbability[i][j]的值为TempAlphaValue+30;
}
}
作为优选,所述的步骤74中根据所述的肤色概率映射表对当前图像进行肤色识别,并获得当前图像的肤色概率值,计算方法如下:
skinColor=SkinProbability[red][blue];
其中,skinColor为当前图像的肤色概率值;SkinProbability为肤色概率映射表;red为像素点的红色通道的颜色值;blue为像素点的蓝色通道的颜色值。
作为优选,所述的步骤71中对图像进行人脸识别,获取人脸区域,当人脸区域识别失败时,则将整个图像定义为人脸区域。
作为优选,所述步骤8中以所述第三绿色通道值G3与对应的肤色概率值相乘得到的积作为透明度将原始图像与所述美白图像进行透明度混合的公式如下:
resultColor=oralColor*alpha+(1.0-alpha)*arrayColor;
其中resultColor为处理后的美容图像的颜色值;oralColor为原始图像的颜色值;arrayColor为步骤6中得到的美白图像的颜色值;alpha为步骤5中得到的G3进行归一化的值乘以其对应的肤色概率值得到的积,所述归一化即做以下公式:G3/255.0。
本发明的有益效果如下:
本发明可以广泛应用于图像处理领域,可用在目前的个人电脑或者是手机、平板等平台上的图像后期处理软件中,也可以用在带数码摄像头的一些设备的相机实时滤镜中。总体来说,可以根据软件设计者的意愿用于不同的图像处理软件领域。并且通过对原始图像进行肤色识别,并以所述第三绿色通道值G3与肤色识别所得到的对应的肤色概率值相乘得到的积作为透明度将原始图像与所述美白图像进行透明度混合,从而形成美容图像,使算法不对黑色像素进行处理,从而保留了头发、眼睛等关键部位不被处理,使得整个美容的效果更佳、更自然。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明数字图像的快速美容方法的具体流程图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明的一种数字图像的快速美容方法,其特征在于,包括以下步骤:
步骤1.从本地或远程读取原始图像;
步骤2.对原始图像进行高斯模糊处理,得到模糊图像;
步骤3.依次提取原始图像单个像素的绿色通道值G,该绿色通道与所述模糊图像的对应像素进行线性光混合,得到第一绿色通道值G1;
步骤4.所述经过线性光混合后的第一绿色通道值G1与其自身G1进行连续的强光混合,得到第二绿色通道值G2;
步骤5.将第二绿色通道值G2与高斯模糊后的红色通道值R和蓝色通道值B相结合,计算出第三绿色通道值G3;
步骤6.对原始图像进行颜色映射,得到美白图像;
步骤7.对原始图像进行肤色识别,得到对应的肤色概率值;
步骤8.以所述第三绿色通道值G3与对应的肤色概率值相乘得到的积作为透明度,对原始图像与所述美白图像进行透明度混合,形成美容图像。
步骤2中的高斯模糊是用正态分布计算图像中每个像素的变换,
在N维空间的正态分布方程为:
在二维空间的正态分布方程为:
其中r是模糊半径r2=u2+v2,σ是正态分布的标准偏差,u是原像素点在x轴上的位置偏移值,v是原像素点在y轴上的位置偏移值。
步骤3中线性光混合的公式为:
G1=(2*G-2*fg+1)/2
其中,G1是指单个像素经过线性光混合后的绿色通道的颜色值,G是指单个像素的原始图像的绿色通道的颜色值,fg是指步骤2中高斯模糊后的图像中对应相同位置的像素的绿色通道的颜色值。
步骤4中的强光混合步骤主要是为了将图像颜色的差异拉大,从而达到美容的效果;连续的强光混合的次数为1至10次之间,连续的强光混合的次数较少时,美容效果较不明显;连续的强光混合的次数较多时,美容效果容易失真;但都能够实现美容的目的;本实施例中,连续的强光混合的次数为3次,其能够更好地解决技术问题并达到更好的美容效果;本领域技术人员很可能根据不同的图像美容方案选择不同的混合次数。其强光混合的公式为:
resultColor=((base)<=128?(base)*(base)/128:255-(255-(base))*(255-(base))/128)
其中,resultColor为强光计算后的结果,base为步骤3中线性光混合计算后得到的G1。
步骤5中的计算方法的公式为:
if(Red<0.5)
{
alphaValue=1.0-(0.5-Red)*2.0;
}
Else
{
alphaValue=1.0;
}
G3=G2*max(0.0,alphaValue-Blue*0.0019608);
其中,G3为第三绿色通道值,G2的初始值为步骤4中强光混合计算的结果,Red为高斯模糊后的红色通道的值,Blue为高斯模糊后的蓝色通道的值。
步骤6中,对原始图像进行颜色映射,得到美白后的图像;颜色映射的公式为:
oralColor=arrayCurve[oralColor];
其中arrayCurve为预定的一组颜色映射,oralColor为原始图像中单个像素的红色通道、绿色通道、蓝色通道的颜色值。
步骤7中,所述的步骤7中对原始图像进行肤色识别,得到对应的肤色概率值,进一步包括以下步骤:
步骤71.对图像进行人脸识别,获取人脸区域;当人脸区域识别失败时,将整个图像定义为人脸区域;
步骤72.对所述的人脸区域进行均值计算,获取平均肤色;
步骤73.根据所述的平均肤色计算当前图像的肤色概率映射表;
步骤74.根据所述的肤色概率映射表对当前图像进行肤色识别,并获得当前图像的肤色概率值。
步骤71中涉及到的人脸识别,由于不涉及本发明的主要内容,因此不进行赘述。本实施例中,人脸识别方法采用常规方法,比如文献“P.Viola and M.Jones.Rapid ObjectDetection using a Boosted Cascade of Simple Features,in:Computer Vision andPattern Recognition,2001.CVPR 2001.Proceedings of the 2001IEEE ComputerSociety Conference on”。根据定位获得人脸的大致区域位置。
所述的步骤72进一步包括:
步骤721.初始化原始皮肤模型;
步骤722.计算整个图像的颜色均值,作为初始皮肤的阈值;
步骤723.根据获取得的初始皮肤的阈值计算人脸区域的平均肤色。
步骤721中,初始化原始皮肤模型的步骤如下:
步骤7211.创建肤色模型,大小为256*256;
步骤7212.依次对肤色模型进行赋值,具体伪代码如下;
预设临时变量AlphaValue、nMax、i、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++)
{
初始对应位置的肤色模型的值为0;
}
}
如以程度代码形式表示,则初始化原始皮肤模型的公式如下:
BYTE SkinModel[256][256];
BYTE AlphaValue=255;
for(i=0;i<256;i++)
{
AlphaValue=(i<128?(i<<1):255);
int nMax=min(256,(AlphaValue<<1));
for(j=0;j<nMax;++j)
{
SkinModel[i][j]=AlphaValue-(j>>1);
}
for(j=nMax;j<256;++j)
{
SkinModel[i][j]=0;
}
}。
所述的步骤722进一步包括:
步骤7221.遍历整个图像的像素点,将红色通道、绿色通道、蓝色通道的颜色值累加,得到颜色累加和;
步骤7222.将颜色累加值除以像素点的总数,得到红色通道、绿色通道、蓝色通道的均值,作为初始皮肤的阈值。
所述的步骤723进一步包括:
步骤7231.根据如下公式计算平均肤色的黑白值:
GRAY 1=0.299*RED+0.587*GREEN+0.114*BLUE
其中,GRAY1为灰度图的当前像素点的灰度值;RED、GREEN、BLUE分别为图像的当前像素点的红、绿、蓝通道的颜色值;
步骤7232.将所述的黑白值作为阈值,用来排除人脸区域非皮肤的部分;
步骤7233.依次遍历人脸区域里的像素点的颜色值,根据如下公式获得平均肤色:
skin=SkinModel[red][blue];
其中,skin为经过皮肤模型的颜色映射后的皮肤值;SkinModel为初始化原始皮肤模型;red为红色通道的颜色值;blue为蓝色通道的颜色值。
所述的步骤73中根据所述的平均肤色计算当前图像的肤色概率映射表,所述的肤色概率映射表通过如下步骤获取:
步骤731.创建肤色概率映射表,大小为256*256;
步骤731.依次对肤色概率映射表进行赋值,具体伪代码如下;
预设临时变量i、j、SkinRed_Left、AlphaValue、Offset、TempAlphaValue、OffsetJ为整数类型;
肤色概率映射表的变量为SkinProbability[256][256];
SkinRed为步骤7222计算得到的红色通道的均值;SkinBlue为步骤7222计算得到的蓝色通道的均值;
预设SkinRed_Left的值,计算公式为:SkinRed_Left=SkinRed-128;
For(i=0;i<256;i++)
{
计算Offset的值,公式为Offset=max(0,min(255,i-SkinRed_Left));
判断Offset的值是否小于128,如果小于的,话则AlphaValue=Offset*2;如果大于等于128的话,则AlphaValue=255;
For(j=0;j<256;j++)
{
计算OffsetJ的值,公式为OffsetJ=max(0,j-SkinBlue);
计算TempAlphaValue的值,公式为TempAlphaValue=max(AlphaValue -(OffsetJ*2),0);
判断TempAlphaValue的值。如果大于160的话,则SkinProbability[i][j]的值为255;
如果小于90的话,则SkinProbability[i][j]的值为0;否则SkinProbability[i][j]的值为TempAlphaValue+30;
}
}
如以程度代码形式表示,所述的肤色概率映射表具体通过如下公式获取:
BYTE SkinModel[256][256];
BYTE AlphaValue=255;
int SkinRed_Left=SkinRed-128;
for(int i=0;i<256;i++)
{
int Offset=max(0,min(255,(i-SkinRed_Left)));
if(Offset<128)
{
AlphaValue=(Offset<<1);
}
else
{
AlphaValue=255;
}
for(int j=0;j<256;j++)
{
int OffsetJ=max(0,(j-SkinBlue));
int TempAlphaValue=max(AlphaValue-(OffsetJ>>1),0);
if(TempAlphaValue>160)
{
SkinModel[i][j]=255;
}
el se if(TempAlphaValue<90)
{
SkinModel[i][j]=0;
}
else
{
SkinModel[i][j]=TempAlphaValue+30;
}
}
}
其中,SkinRed和SkinBlue为步骤7222中获取的红色通道和蓝色通道的均值。
所述的步骤74中根据所述的肤色概率映射表对当前图像进行肤色识别,并获得当前图像的肤色概率值,计算方法如下:
skinColor=SkinProbability[red][blue]
其中,skinColor为当前图像的肤色概率值;SkinProbability为肤色概率映射表;red为像素点的红色通道的颜色值;blue为像素点的蓝色通道的颜色值。
所述步骤8中以所述第三绿色通道值G3与对应的肤色概率值相乘得到的积作为透明度将原始图像与所述美白图像进行透明度混合的公式如下:
resultColor=oralColor*alpha+(1.0-alpha)*arrayColor;
其中resultColor为处理后的美容图像的颜色值;oralColor为原始图像的颜色值;arrayColor为步骤6中得到的美白图像的颜色值;alpha为步骤5中得到的G3进行归一化的值乘以其对应的肤色概率值得到的积,所述归一化即做以下公式:G3/255.0。
下面结合附图1对整个美容方法的各个步骤进行详细说明,其包括:
步骤1:从本地或远程读取原始图像,图像包括单张图像或从视频上截取的单帧图像或GIF动画里的单帧;
步骤2:对原始图像进行高斯模糊,其中,初始值i=0,j=0,w为原始图像的宽,h为原始图像的高;若i<h,判断是否j<w,否则程序结束;若j<w,进入下一步程序,否则进行i=++计算,并重新判断是否i<h;
步骤3:依次提取原始图像高斯模糊后像素点的绿色通道值G与fg,对其进行线性光混合得到第一绿色通道值G1;这里使用绿光是为了避免计算亮度的时间,提高了运算速度。
步骤4:对步骤3得到的G1与自身进行连续3次的强光混合,得到第二绿色通道值G2;这个步骤的作用是拉大对比度,亮的更亮,暗的更暗;
步骤5:将第二绿色通道值G2与高斯模糊后的红色通道值R和蓝色通道值B相结合,根据一种新的计算方法重新计算出第三绿色通道值G3;
步骤6:将原始图像进行美白的颜色映射,得到美白图像。
步骤7.对原始图像进行肤色识别,得到对应的肤色概率值;
步骤8.以所述第三绿色通道值G3与对应的肤色概率值相乘得到的积作为透明度将原始图像与所述美白图像进行透明度混合,形成美容图像。
通过以上的实施方式的描述,数字图像处理领域的技术人员可以清楚地了解到本发明可以通过软件实现,也可以借助软件及必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
上述说明示出并描述了本发明的优选实施例,如前,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (13)

1.一种数字图像的快速美容方法,其特征在于,包括以下步骤:
步骤1.从本地或远程读取原始图像;
步骤2.对原始图像进行高斯模糊处理,得到模糊图像;
步骤3.依次提取原始图像单个像素的绿色通道值G,该绿色通道与所述模糊图像的对应像素进行线性光混合,得到第一绿色通道值G1;
步骤4.所述进行线性光混合后的第一绿色通道值G1与其自身G1进行连续的强光混合,得到第二绿色通道值G2;
步骤5.将第二绿色通道值G2与高斯模糊后的红色通道值R和蓝色通道值B相结合,计算出第三绿色通道值G3;
步骤6.对原始图像进行颜色映射,得到美白图像;
步骤7.对原始图像进行肤色识别,得到对应的肤色概率值;
步骤8.以所述第三绿色通道值G3与对应的肤色概率值相乘得到的积作为透明度,对原始图像与所述美白图像进行透明度混合,形成美容图像,其中,进行透明度混合的公式如下:
resultColor=oralColor*alpha+(1.0-alpha)*arrayColor;
其中resultColor为处理后的美容图像的颜色值;oralColor为原始图像的颜色值;arrayColor为步骤6中得到的美白图像的颜色值;alpha为步骤5中得到的G3进行归一化的值乘以其对应的肤色概率值得到的积,所述归一化即做以下计算:G3/255.0。
2.根据权利要求1所述的一种数字图像的快速美容方法,其特征在于:所述步骤3中线性光混合的公式为:
G1=(2*G-2*fg+1)/2
其中,G1是指单个像素经过线性光混合后的绿色通道的颜色值,G是指单个像素的原始图像的绿色通道的颜色值,fg是指步骤2中高斯模糊后的图像中对应相同位置的像素的绿色通道的颜色值。
3.根据权利要求1所述的一种数字图像的快速美容方法,其特征在于:所述步骤4中的连续的强光混合,其连续次数为1至10次。
4.根据权利要求3所述的一种数字图像的快速美容方法,其特征在于;在base小于或等于128时,所述步骤4中强光混合的公式为:
resultColor=base*base/128;
在base大于128时,所述步骤4中强光混合的公式为:
resultColor=255-(255-base)*(255-base)/128;
其中,resultColor为强光计算后的结果,base为步骤3中线性光混合计算后得到的G1。
5.根据权利要求1所述的一种数字图像的快速美容方法,其特征在于;在alphaValue大于Blue*0.0019608时,所述步骤5中的计算方法为:
G3=G2*(alphaValue-Blue*0.0019608);
在alphaValue小于或等于Blue*0.0019608时,所述步骤5中的计算方法为:
G3=0;
其中,在Red小于0.5时,alphaValue=1.0-(0.5-red)*2.0,在Red大于或等于0.5时,alphaValue=1.0,G3为第三绿色通道值,G2的初始值为所述步骤4中强光混合计算的结果,Red为高斯模糊后的红色通道的值,Blue为高斯模糊后的蓝色通道的值。
6.根据权利要求1所述的一种数字图像的快速美容方法,其特征在于:所述步骤6中,对原始图像进行颜色映射,得到美白图像;其中,颜色映射的公式为:
oralColor=arrayCurve[oralColor];
其中arrayCurve为预定的一组颜色映射,oralColor为原始图像中单个像素的红色通道、绿色通道、蓝色通道的颜色值。
7.根据权利要求1所述的一种数字图像的快速美容方法,其特征在于:所述的步骤7中对原始图像进行肤色识别,得到对应的肤色概率值,进一步包括以下步骤:
步骤71.对图像进行人脸识别,获取人脸区域;
步骤72.对所述的人脸区域进行均值计算,获取平均肤色;
步骤73.根据所述的平均肤色计算当前图像的肤色概率映射表;
步骤74.根据所述的肤色概率映射表对当前图像进行肤色识别,并获得当前图像的肤色概率值。
8.根据权利要求7所述的一种数字图像的快速美容方法,其特征在于,所述的步骤72进一步包括:
步骤721.初始化原始皮肤模型;
步骤722.计算整个图像的颜色均值,作为初始皮肤的阈值;
步骤723.根据获取得的初始皮肤的阈值计算人脸区域的平均肤色。
9.根据权利要求8所述的一种数字图像的快速美容方法,其特征在于,所述的步骤722进一步包括:
步骤7221.遍历整个图像的像素点,将红色通道、绿色通道、蓝色通道的颜色值累加,得到颜色累加和;
步骤7222.将颜色累加值除以像素点的总数,得到红色通道、绿色通道、蓝色通道的均值,作为初始皮肤的阈值。
10.根据权利要求8所述的一种数字图像的快速美容方法,其特征在于,所述的步骤723进一步包括:
步骤7231.根据如下公式计算平均肤色的黑白值:
GRAY 1=0.299*RED+0.587*GREEN+0.114*BLUE
其中,GRAY1为灰度图的当前像素点的灰度值;RED、GREEN、BLUE分别为图像的当前像素点的红、绿、蓝通道的颜色值;
步骤7232.将所述的黑白值作为阈值,用来排除人脸区域非皮肤的部分;
步骤7233.依次遍历人脸区域里的像素点的颜色值,根据如下公式获得平均肤色:
skin=SkinModel[red][blue];
其中,skin为经过皮肤模型的颜色映射后的皮肤值;SkinModel为初始化原始皮肤模型;red为红色通道的颜色值;blue为蓝色通道的颜色值。
11.根据权利要求8所述的一种数字图像的快速美容方法,其特征在于,所述的步骤73中根据所述的平均肤色计算当前图像的肤色概率映射表,所述的肤色概率映射表通过如下步骤获取:
步骤731.创建肤色概率映射表,大小为256*256;
步骤732.依次对肤色概率映射表进行赋值,具体伪代码如下;
预设临时变量i、j、SkinRed_Left、AlphaValue、Offset、TempAlphaValue、OffsetJ为整数类型;
肤色概率映射表的变量为SkinProbability[256][256];
SkinRed为步骤7222计算得到的红色通道的均值;SkinBlue为步骤7222计算得到的蓝色通道的均值;
预设SkinRed_Left的值,计算公式为:SkinRed_Left=SkinRed-128;
For(i=0;i<256;i++)
{
计算Offset的值,公式为Offset=max(0,min(255,i-SkinRed_Left));
判断Offset的值是否小于128,如果小于的话,则AlphaValue=Offset*2;如果大于等于128的话,则AlphaValue=255;
For(j=0;j<256;j++)
{
计算OffsetJ的值,公式为OffsetJ=max(0,j-SkinBlue);
计算TempAlphaValue的值,公式为TempAlphaValue=max(AlphaValue-(OffsetJ*2),0);
判断TempAlphaValue的值,如果大于160的话,则SkinProbability[i][j]的值为255;
如果小于90的话,则SkinProbability[i][j]的值为0;否则SkinProbability[i][j]的值为TempAlphaValue+30;
}
}。
12.根据权利要求7所述的一种数字图像的快速美容方法,其特征在于,所述的步骤74中根据所述的肤色概率映射表对当前图像进行肤色识别,并获得当前图像的肤色概率值,计算方法如下:
skinColor=SkinProbability[red][blue]
其中,skinColor为当前图像的肤色概率值;SkinProbability为肤色概率映射表;red为像素点的红色通道的颜色值;blue为像素点的蓝色通道的颜色值。
13.根据权利要求7所述的一种数字图像的快速美容方法,其特征在于,所述的步骤71中对图像进行人脸识别,获取人脸区域,当人脸区域识别失败时,则将整个图像定义为人脸区域。
CN201410488602.6A 2014-09-22 2014-09-22 一种数字图像的快速美容方法 Active CN104282002B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410488602.6A CN104282002B (zh) 2014-09-22 2014-09-22 一种数字图像的快速美容方法
US14/574,815 US9501843B2 (en) 2014-09-22 2014-12-18 Fast face beautifying method for digital images
HK15106631.5A HK1206132A1 (zh) 2014-09-22 2015-07-10 種數字圖像的快速美容方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410488602.6A CN104282002B (zh) 2014-09-22 2014-09-22 一种数字图像的快速美容方法

Publications (2)

Publication Number Publication Date
CN104282002A CN104282002A (zh) 2015-01-14
CN104282002B true CN104282002B (zh) 2018-01-30

Family

ID=52256853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410488602.6A Active CN104282002B (zh) 2014-09-22 2014-09-22 一种数字图像的快速美容方法

Country Status (3)

Country Link
US (1) US9501843B2 (zh)
CN (1) CN104282002B (zh)
HK (1) HK1206132A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10152778B2 (en) * 2015-09-11 2018-12-11 Intel Corporation Real-time face beautification features for video images
CN107369133B (zh) * 2016-05-13 2020-04-07 炬芯(珠海)科技有限公司 一种人脸图像美化方法和装置
CN105956576A (zh) * 2016-05-18 2016-09-21 广东欧珀移动通信有限公司 一种图像美颜方法、装置及移动终端
CN107395960A (zh) * 2017-07-07 2017-11-24 珠海市魅族科技有限公司 拍照方法及装置、计算机装置和计算机可读存储介质
CN107507128B (zh) * 2017-08-08 2021-02-09 北京小米移动软件有限公司 图像处理方法及设备
CN108769520B (zh) * 2018-05-31 2021-04-13 康键信息技术(深圳)有限公司 电子装置、图像处理方法和计算机可读存储介质
CN109285131B (zh) * 2018-09-13 2021-10-08 深圳市梦网视讯有限公司 一种多人图像美颜方法和系统
CN109190576B (zh) * 2018-09-13 2021-10-12 深圳市梦网视讯有限公司 一种基于视频动态信息的多人美颜调整方法和系统
CN109361867B (zh) * 2018-11-23 2021-06-22 维沃移动通信有限公司 一种滤镜处理方法及移动终端
CN110633065B (zh) * 2019-08-02 2022-12-06 Tcl华星光电技术有限公司 一种图像调整方法及装置、计算机可读存储介质
CN111028180B (zh) * 2019-12-23 2021-11-09 腾讯科技(深圳)有限公司 图像处理方法、视频处理方法以及对应的装置
CN111241934A (zh) * 2019-12-30 2020-06-05 成都品果科技有限公司 一种获取人脸图像中油光区域的方法和装置
CN112037271A (zh) * 2020-07-16 2020-12-04 北京旷视科技有限公司 图像处理方法、装置、设备及介质
CN113763285B (zh) * 2021-09-27 2024-06-11 北京市商汤科技开发有限公司 图像处理方法及装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455790A (zh) * 2013-06-24 2013-12-18 厦门美图网科技有限公司 一种基于肤色模型的皮肤识别方法
CN103491305A (zh) * 2013-10-07 2014-01-01 厦门美图网科技有限公司 一种基于肤色的自动对焦方法及自动对焦系统
CN103491307A (zh) * 2013-10-07 2014-01-01 厦门美图网科技有限公司 一种后置摄像头的智能自拍方法
CN103745430A (zh) * 2013-06-25 2014-04-23 厦门美图网科技有限公司 一种数字图像的快速美容方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6343141B1 (en) * 1996-10-08 2002-01-29 Lucent Technologies Inc. Skin area detection for video image systems
AUPP400998A0 (en) * 1998-06-10 1998-07-02 Canon Kabushiki Kaisha Face detection in digital images
US6993167B1 (en) * 1999-11-12 2006-01-31 Polartechnics Limited System and method for examining, recording and analyzing dermatological conditions
US7844076B2 (en) * 2003-06-26 2010-11-30 Fotonation Vision Limited Digital image processing using face detection and skin tone information
US8031936B2 (en) * 2006-03-20 2011-10-04 Accenture Global Services Limited Image processing system for skin detection and localization
JP5354842B2 (ja) * 2006-05-26 2013-11-27 キヤノン株式会社 画像処理方法および画像処理装置
CN101960491A (zh) * 2008-03-18 2011-01-26 汤姆森许可贸易公司 自适应感兴趣特征颜色模型参数估计的方法和设备
US8406482B1 (en) * 2008-08-28 2013-03-26 Adobe Systems Incorporated System and method for automatic skin tone detection in images
US8705811B1 (en) * 2010-10-26 2014-04-22 Apple Inc. Luminance adjusted face detection
US9148637B2 (en) * 2011-11-04 2015-09-29 Microsoft Technology Licensing, Llc Face detection and tracking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455790A (zh) * 2013-06-24 2013-12-18 厦门美图网科技有限公司 一种基于肤色模型的皮肤识别方法
CN103745430A (zh) * 2013-06-25 2014-04-23 厦门美图网科技有限公司 一种数字图像的快速美容方法
CN103491305A (zh) * 2013-10-07 2014-01-01 厦门美图网科技有限公司 一种基于肤色的自动对焦方法及自动对焦系统
CN103491307A (zh) * 2013-10-07 2014-01-01 厦门美图网科技有限公司 一种后置摄像头的智能自拍方法

Also Published As

Publication number Publication date
HK1206132A1 (zh) 2015-12-31
CN104282002A (zh) 2015-01-14
US9501843B2 (en) 2016-11-22
US20160086355A1 (en) 2016-03-24

Similar Documents

Publication Publication Date Title
CN104282002B (zh) 一种数字图像的快速美容方法
US9142054B2 (en) System and method for changing hair color in digital images
Kaur et al. Comparison between YCbCr color space and CIELab color space for skin color segmentation
CN108932493B (zh) 一种面部皮肤质量评价方法
CN104811684B (zh) 一种图像的三维美颜方法及装置
CN110738732B (zh) 一种三维人脸模型的生成方法和设备
KR20200014842A (ko) 이미지 조명 방법, 장치, 전자 기기 및 저장 매체
CN103914699A (zh) 一种基于色彩空间的自动唇彩的图像增强的方法
CN106971165A (zh) 一种滤镜的实现方法及装置
CN103440633B (zh) 一种数字图像自动祛除斑点的方法
CN113344836B (zh) 人脸图像处理方法及装置、计算机可读存储介质、终端
CN103440674A (zh) 一种数字图像蜡笔特效的快速生成方法
CN106530309A (zh) 一种基于移动平台的视频抠图方法及系统
CN103745430A (zh) 一种数字图像的快速美容方法
Wang et al. Color contrast-preserving decolorization
CN112686800B (zh) 图像处理方法、装置、电子设备及存储介质
CN109242785A (zh) 一种基于神经网络和颜色筛选的精准人像上唇彩的方法
CN101968849B (zh) 一种基于3g智能手机的图片去红眼方法
CN110730303B (zh) 图像染发处理方法、装置、终端和存储介质
CN114359030A (zh) 一种人脸逆光图片的合成方法
US9916497B2 (en) Automated embedding and blending head images
Pujas et al. Robust colour image segmentation
CN114155569B (zh) 一种化妆进度检测方法、装置、设备及存储介质
CN106887024B (zh) 照片的处理方法及处理系统
CN105160329B (zh) 一种基于yuv颜色空间的牙齿识别方法、系统及拍摄终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1206132

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1206132

Country of ref document: HK