自适应光照的美颜方法及系统与流程

文档序号:11584387阅读:346来源:国知局
自适应光照的美颜方法及系统与流程

本发明涉及图像处理领域,尤其涉及一种自适应光照的美颜方法及系统。



背景技术:

美颜是直播产品中最常见的功能之一,在香港上市的美图公司的主打产品就是美颜相机和美拍,有媒体戏称其会冲击化妆品行业,其实就是美颜效果的功劳,让主播们不化妆也可以自信的直播,而美颜则可以使用户拍出更好的自己。美颜的主要原理是通过磨皮和美白来达到整体美颜的效果。磨皮的技术术语是去噪,即对图像中的噪点进行去除或者模糊化处理,常见的去噪算法有均值模糊、高斯模糊和中值滤波等。美白则实际上是调整图像的色彩,使人的肤色看起来更白,更加靓丽,包括调节饱和度、亮度、对比度等。

由于美白是调整了图像的色彩,而图像色彩的呈现与环境中的光照有很大的关系。现有技术中的美颜均未考虑当前环境的光照强度,因此图像色彩的调谐与环境亮度不协调而导致美颜效果不佳。



技术实现要素:

本发明要解决的技术问题在于针对现有技术中无法根据当前环境的光照强度自动调节美颜图像的缺陷,提供一种在美颜处理中可根据当前场景的光照强度自动调节美颜的参数,使美颜效果不受光照强弱的影响的可自适应光照的美颜方法及系统。

本发明解决其技术问题所采用的技术方案是:

提供一种自适应光照的美颜方法,其特征在于,包括以下步骤:

s1、通过摄像头采集直播图像;

s2、将直播图像的原始rgb数据转换为ycbcr数据,并找出ycbcr数据中的肤色区域;

s3、对直播图像中的噪点进行去除处理或者模糊化处理,得到去噪后的rgb图像数据f;

s4、根据肤色区域内像素的ycbcr空间中的y值计算肤色区域亮度均值l:

s5、根据肤色区域亮度均值l调整去噪后的rgb图像的美颜参数,包括亮度g、对比度j和饱和度h;

s6、根据调整后的美颜参数对肤色区域进行美颜处理,得到最终的美颜图像。

本发明所述的美颜方法中,步骤s5具体为:

(1)亮度g:

g=[log(f*(beta1-1)/255+1)/log(beta1)]*255,其中beta1=1+2r,r=255/l;

(2)对比度j:

j=(g-128)*beta2+128,其中beta2=0.5+128/l;

(3)饱和度h:

h=j*mat3(1.1102-0.0598,-0.061,-0.0774,1.0826,-0.1186,-0.0228,-0.0228,1.1772),其中mat3为3x3的矩阵。

本发明所述的美颜方法中,步骤s6具体为:

将调整后的饱和度h与对比度j进行线性混合,得到美颜后的图像数据i,再将美颜后的图像数据i与标记了肤色区域的掩膜mask进行混合,以对皮肤区域作美颜处理,得到混合后的美颜图像k,k=e*(1.0-mask/255)+i*mask/255,其中e为原始图像数据。

本发明所述的美颜方法中,在使用肤色区域之前,对标记了肤色区域的掩膜mask做中值滤波,中值滤波的半径r与图像的大小相关,具体算法如下:

r=max(width,height)/25;其中max()为取两个数中的最大值的函数,width为图像的宽度,height为图像的高度。

本发明所述的美颜方法中,步骤s3中具体采用双边滤波加高斯滤波的混合模式进行去噪处理。

本发明所述的美颜方法中,肤色区域亮度均值的具体计算过程为:将肤色区域的像素的ycbcr空间中的y值累加再除以肤色区域的像素总数。

本发明所述的美颜方法中,美颜后的图像数据i=[g*(100-beta3)+j*beta3]/100,其中beta3为l/255。

本发明还提供了自适应光照的美颜系统,包括:

采集模块,用于通过摄像头采集直播图像;

肤色区域查找模块,用于将直播图像的原始rgb数据转换为ycbcr数据,并找出ycbcr数据中的肤色区域;

去噪模块,用于对直播图像中的噪点进行去除处理或者模糊化处理,得到去噪后的rgb图像数据f;

肤色区域亮度均值计算模块,用于根据肤色区域内的像素的ycbcr空间中的y值计算肤色区域亮度均值l;

美颜参数调整模块,用于根据肤色区域亮度均值l调整去噪后的rgb图像的美颜参数,包括亮度g、对比度j和饱和度h;

美颜处理模块,用于根据调整后的美颜参数对肤色区域进行美颜处理,得到最终的美颜图像。

本发明所述的美颜系统中,所述美颜处理模块具体用于将调整后的饱和度h与对比度j进行线性混合,得到美颜后的图像数据i,再将美颜后的图像数据i与标记了肤色区域的掩膜mask进行混合,以对皮肤区域作美颜处理,得到混合后的美颜图像k,k=e*(1.0-mask/255)+i*mask/255,其中e为原始图像数据。

本发明还提供了一种存储有自适应光照的美颜软件的存储器,该美颜软件执行以下程序:

通过摄像头采集直播图像;

将直播图像的原始rgb数据转换为ycbcr数据,并找出ycbcr数据中的肤色区域;

对直播图像中的噪点进行去除处理或者模糊化处理,得到去噪后的rgb图像数据f;

根据肤色区域内像素的ycbcr空间中的y值计算肤色区域亮度均值l;

根据肤色区域亮度均值l调整去噪后的rgb图像的美颜参数,包括亮度g、对比度j和饱和度h;

根据调整后的美颜参数对肤色区域进行美颜处理,得到最终的美颜图像。

本发明产生的有益效果是:本发明通过肤色区域的亮度均值来检测当前环境下的光照强度,然后动态调节美颜参数,再根据美颜参数调整肤色区域,可使美颜效果更好地适应光照环境。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明实施例自适应光照的美颜方法的流程图;

图2是本发明另一实施例自适应光照的美颜方法的流程图;

图3是本发明第三实施例自适应光照的美颜方法的流程图;

图4是本发明实施例自适应光照的美颜系统结构示意图;

图5是本发明另一实施例自适应光照的美颜系统结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

以下先对技术术语进行说明:

美颜:指拍照或者图像处理中使人的面部自动变美的功能,如:磨皮、美白、瘦脸、眼部增强、五官立体等。

yuv:yuv是被欧洲电视系统所采用的一种颜色编码方法(属于pal),在现代彩色电视系统中,通常采用三管彩色摄影机或彩色ccd摄影机进行取像,然后把取得的彩色图像信号经分色、分别放大校正后得到rgb,再经过矩阵变换电路得到亮度信号y和两个色差信号b-y(即u)、r-y(即v),最后发送端将亮度和色差三个信号分别进行编码,用同一信道发送出去。这种色彩的表示方法就是所谓的yuv色彩空间表示。采用yuv色彩空间的重要性是它的亮度信号y和色度信号u、v是分离的。

ycbcr:ycbcr是由yuv颜色空间衍生出来的一种颜色空间,是以演播室质量标准为目标的ccir601编码方案中采用的色彩表示模型。在ycbcr颜色空间中,y表示亮度,cb与cr是yuv空间中将u和v和做适度的调整得到的;通常将cr和cb称为色度,其中cb表示蓝色的色度与yuv中的u分量对应,cr表示红色的色度与yuv中的v分量对应。由于人眼对色度信号的变化的敏感程度弱于对亮度信号的变化的敏感程度,因此,y、cb及cr三者的采样比率多为4:2:2。目前,ycbcr空间广泛应用于电视的色彩显示等领域中。

图像mask:用选定的图像、图形或物体,对待处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程。用于覆盖的特定图像或物体称为掩模或模板。光学图像处理中,掩模可以是胶片、滤光片等。数字图像处理中,掩模为二维矩阵数组,有时也用多值图像。

本发明实施例的自适应光照的美颜方法,如图1所示,包括以下步骤:

s1、通过摄像头采集直播图像;

s2、将直播图像的原始rgb数据转换为ycbcr数据,并找出ycbcr数据中的肤色区域;

s3、对直播图像中的噪点进行去除处理或者模糊化处理,得到去噪后的rgb图像数据f;该步骤中,可对直播图像的ycbcr数据进行磨皮处理,处理完后再转换成rgb图像数据f;

s4、根据肤色区域内像素的ycbcr空间中的y值计算肤色区域亮度均值l:

s5、根据肤色区域亮度均值l调整去噪后的rgb图像的美颜参数,包括亮度g、对比度j和饱和度h;

s6、根据调整后的美颜参数对肤色区域进行美颜处理,得到最终的美颜图像。

本发明的一个实施例中,步骤s5具体为:

(1)亮度g:

g=[log(f*(beta1-1)/255+1)/log(beta1)]*255,其中beta1=1+2r,r=255/l;

(2)对比度j:

j=(g-128)*beta2+128,其中beta2=0.5+128/l;

(3)饱和度h:

h=j*mat3(1.1102,-0.0598,-0.061,-0.0774,1.0826,-0.1186,-0.0228,-0.0228,1.1772),其中mat3为3x3的矩阵;该矩阵为惯用矩阵,微调数据也是可以的。

若根据上述方法调节参数后,则将调整后的饱和度h与对比度j进行线性混合,得到美颜后的图像数据i,再将美颜后的图像数据i与标记了肤色区域的掩膜mask进行混合,以对皮肤区域作美颜处理,得到混合后的美颜图像k,k=e*(1.0-mask/255)+i*mask/255,其中e为原始图像数据,即直播图像的原始rgb数据。

本发明的一个实施例中,美颜后的图像数据i=[g*(100-beta3)+j*beta3]/100,其中beta3为l/255。

如图2所示,本发明的一个实施例中,肤色检测结束后,在使用肤色区域之前,为了使肤色区域和非肤色区域过度缓和,还包括步骤sa:对标记了肤色区域的掩膜mask做中值滤波,中值滤波的半径r与图像的大小相关,具体算法如下:

r=max(width,height)/25;其中max()为取两个数中的最大值的函数,width为图像的宽度,height为图像的高度。

本发明的一个实施例中,步骤s3中具体采用双边滤波加高斯滤波的混合模式进行去噪处理。

进一步地,本发明的一个实施例中,肤色区域亮度均值的具体计算过程可为:将肤色区域的像素的ycbcr空间中的y值累加再除以肤色区域的像素总数。

本发明的另一个实施例中,如图3所示,自适应光照的美颜方法主要包括以下步骤:

步骤①原始视频图像:

主播在直播的过程中,通过摄像头采集的直播画面。

步骤②肤色检测:

肤色检测就是指在待测图像中选取人体皮肤像素相对应区域的过程。目前,根据是否有涉及成像的过程,肤色检测方法可以分为基于物理的方法和基于统计的方法两种基本类型。在肤色检测中引入光照,使其与皮肤间相互作用,对光谱特性和肤色反射模型进行肤色检测的研究,这一方法就是基于物理的方法。基于统计的肤色检测主要包括颜色空间转换与肤色建模两个步骤,它是通过建立肤色统计模型进行肤色检测的。

本发明的该实施例中,肤色检测是基于统计的肤色检测。由于ycbcr颜色空间与人的视觉感知系统具有一致性,具有将色彩中的亮度分量分离出来的优点,其肤色聚类效果较好。ycbcr颜色空间的亮度值y对样本的影响是非常小的,在cb-cr平面上,样本数据集中在一个区域内。

具体算法如下:

(1)将原始的rgb数据转换为ycbcr数据。转换公式如下:

(2)根据cb-cr的数据,判断像素点是否属于肤色区域。伪代码如下:

肤色检测结束后,得到一张标记了肤色的图像mask,即代表肤色区域的灰度图像,肤色越集中的地方越亮,肤色越不集中的地方越暗。为了使肤色区域和非肤色区域过度缓和,在使用皮肤区域之前,需要对标记了肤色的图像mask做中值滤波,中值滤波的半径与图像的大小相关,具体算法如下:

r=max(width,height)/25;其中max()为取两个数中的最大值函数,width为图像的宽度,height为图像的高度。

步骤③磨皮:

磨皮的技术术语是去噪,即对图像中的噪点进行去除或者模糊化处理,常见的去噪算法有均值模糊、高斯模糊和中值滤波等。本实施例的磨皮算法采用双边滤波加高斯滤波的混合模式。

步骤④计算肤色区域亮度均值:

由于步骤②已经计算出了肤色的区域,把肤色区域内的像素的y值(ycbcr空间中的y通道)累加再除以肤色区域的像素总数,就得出了肤色区域的亮度均值了。

步骤⑤动态调节美颜参数:

根据步骤④中的肤色区域亮度均值,设置不同的美颜参数,使肤色的区域不至于过暗或者过于曝光。本发明的重点在与美颜参数的动态调节,假设步骤④中计算出的肤色区域亮度均值为l,具体的算法步骤如下:

(1)亮度的调节。亮度调整公式如下:

g=[log(f*(beta-1)/255+1)/log(beta)]*255;其中f为磨皮后的rgb图像数据,beta=1+2r,r=255/l。

(2)对比度调整公式为:j=(g-128)*beta+128;其中g为亮度调整后的图像数据,beta=0.5+128/l。

(3)饱和度调整公式为:h=j*mat3(1.1102,-0.0598,-0.061,-0.0774,1.0826,-0.1186,-0.0228,-0.0228,1.1772);

其中j为对比度调整后的图像数据,mat3为3x3的矩阵,饱和度计算之后的数据为h,需与j进行线性混合,公式为i=(g*(100-beta)+j*beta)/100;其中beta为l/255。

步骤⑥图像混合:

磨皮和色彩调节完成后,需要与步骤②中得到的肤色区域mask进行混合处理,目的是只对皮肤区域作美颜处理,美颜后的图像数据为i,假设原始图像数据为e,则计算公式为:

k=e*(1.0-mask/255)+i*mask/255;

如图4所示,本发明实施例的自适应光照的美颜系统,包括:

采集模块,用于通过摄像头采集直播图像;

肤色区域查找模块,用于将直播图像的原始rgb数据转换为ycbcr数据,并找出ycbcr数据中的肤色区域;

去噪模块,用于对直播图像中的噪点进行去除处理或者模糊化处理,得到去噪后的rgb图像数据f;

肤色区域亮度均值计算模块,用于根据肤色区域内的像素的ycbcr空间中的y值计算肤色区域亮度均值l:

美颜参数调整模块,用于根据肤色区域亮度均值l调整去噪后的rgb图像的美颜参数,包括亮度g、对比度j和饱和度h;

美颜处理模块,用于根据调整后的美颜参数对肤色区域进行美颜处理,得到最终的美颜图像。

美颜参数调整模块对美颜参数的调整具体为:

(1)亮度g:

g=[log(f*(beta1-1)/255+1)/log(beta1)]*255,其中beta1=1+2r,r=255/l;

(2)对比度j:

j=(g-128)*beta2+128,其中beta2=0.5+128/l;

(3)饱和度h:

h=j*mat3(1.1102-0.0598,-0.061,-0.0774,1.0826,-0.1186,-0.0228,-0.0228,1.1772),其中mat3为3x3的矩阵。

美颜处理模块具体用于:将调整后的饱和度h与对比度j进行线性混合,得到美颜后的图像数据i,再将美颜后的图像数据i与标记了肤色区域的掩膜mask进行混合,以对皮肤区域作美颜处理,得到混合后的美颜图像k,k=e*(1.0-mask/255)+i*mask/255,其中e为原始图像数据。美颜后的图像数据i=[g*(100-beta3)+j*beta3]/100,其中beta3为l/255。

如图5所示,该美颜系统还包括滤波模块,用于在使用肤色区域之前,对标记了肤色区域的掩膜mask做中值滤波,中值滤波的半径r与图像的大小相关,具体算法如下:

r=max(width,height)/25;其中max()为取两个数中的最大值的函数,width为图像的宽度,height为图像的高度。

本发明的一个实施例中,去噪模块具体可采用双边滤波加高斯滤波的混合模式进行去噪处理。

肤色区域亮度均值计算模块中,肤色区域亮度均值的具体计算过程为:将肤色区域的像素的ycbcr空间中的y值累加再除以肤色区域的像素总数。

本发明的一个实施例中,美颜处理模块具体用于将调整后的饱和度h与对比度j进行线性混合,得到美颜后的图像数据i,再将美颜后的图像数据i与标记了肤色区域的掩膜mask进行混合,以对皮肤区域作美颜处理,得到混合后的美颜图像k,k=e*(1.0-mask/255)+i*mask/255,其中e为原始图像数据。

本发明还提供了一种存储有自适应光照的美颜软件的存储器,该美颜软件执行以下程序:

通过摄像头采集直播图像;

将直播图像的原始rgb数据转换为ycbcr数据,并找出ycbcr数据中的肤色区域;

对直播图像中的噪点进行去除处理或者模糊化处理,得到去噪后的rgb图像数据f;

根据肤色区域内像素的ycbcr空间中的y值计算肤色区域亮度均值l;

根据肤色区域亮度均值l调整去噪后的rgb图像的美颜参数,包括亮度g、对比度j和饱和度h;

根据调整后的美颜参数对肤色区域进行美颜处理,得到最终的美颜图像。

该存储器所存储的软件可为上文实施例中任一个实现自适应光照的美颜方法的软件,在此不赘述。

本发明由于通过肤色区域的亮度均值来检测了当前环境下的光照强度,然后动态调节了美颜的参数,使美颜效果更好地适应了光照环境,提高了用户的体验。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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