一种图像处理方法及电子设备与流程

文档序号:12837491阅读:199来源:国知局
一种图像处理方法及电子设备与流程

本发明涉及图像处理领域,特别涉及一种图像处理方法及电子设备。



背景技术:

随着即时视频应用、数码相机等的普及,以及人们审美的提高,对于即时视频中的人脸或拍摄的照片,往往会因为即时视频的设备或相机本身噪声或视频以及拍摄对象的皮肤缺陷,比如脸部有粉刺、色斑以及皱纹等,造成视频中的人脸或拍摄的照片中的人脸脸部不够美观,不能满足用户的需求,且用户对即时视频中的人脸以及相机拍摄的照片的效果也要求越来越高,用户希望能够对即时视频中的人脸以及照片进行更好的美化处理。

人脸磨皮技术是对人脸进行美化的重要方法,现有技术中,用户可以通过选择即时视频中的磨皮功能,对视频中的人脸进行磨皮处理;或通过一些图片处理软件,比如photoshop,对照片进行磨皮处理。

在利用现有技术方法时,对即时视频中的人脸部分的像素点全部进行磨皮处理,耗费的时间较长,且对人脸整体进行磨皮,容易造成人脸失真的问题,使得磨皮后整体效果较差,用户体验不佳;另外,在设备同时运行即时视频时,对人脸整体进行磨皮增加了对设备处理资源的占用,降低设备的运行速度,在网速较慢时,可能出现视频卡顿等情况;另外,图片处理软件一般需要专业人士才能熟练应用,对于普通用户来说操作过于繁琐且不易掌握。



技术实现要素:

为了避免对对人脸区域的非部分也进行处理,造成的人脸失真的问题,提 高人脸区域处理的效果,提高用户体验,本发明实施例提供了一种图像处理方法及电子设备。所述技术方案如下:

第一方面,提供了一种图像处理方法,所述方法包括:

对目标图像的人脸区域进行肤色检测;

根据检测结果,对所述人脸区域进行处理;

将处理后所述人脸区域的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域。

结合第一方面,在第一种可能的实现方式中,所述对目标图像的人脸区域进行肤色检测包括:

检测所述人脸区域的每个像素点的像素值;

根据所述每个像素点的像素值,确定所述人脸区域对应的肤色部分和非肤色部分。

结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述每个像素点的像素值,确定所述人脸区域对应的肤色部分和非肤色部分包括:

判断检测的所述每个像素点的像素值是否在肤色范围内,若是,则将所述像素点确定为肤色部分;

若否,则将所述像素点确定为非肤色部分。

结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述根据检测结果,对所述人脸区域进行处理包括:

对所述肤色部分的每个像素点逐一进行处理;

获取处理后的肤色部分。

结合第一方面的第二种可能的实现方式,在第四种可能的实现方式中,所述根据检测结果,对所述人脸区域进行处理还包括:

对所述肤色部分中同行的多个像素点同时进行处理;

获取处理后的人脸区域。

结合第一方面的第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述处理包括:磨皮处理。

结合第一方面的第三种或第四种可能的实现方式,在第六种可能的实现方式中,所述磨皮处理包括:

将所要处理的像素点周围的多个可用像素点的均值设置为所述所要处理的像素点的像素值。

结合第一方面的第六种可能的实现方式,在第七种可能的实现方式中,所述将所要处理的像素点周围的多个可用像素点的均值设置为所述所要处理的像素点的像素值包括:

根据磨皮半径,确定所述所要处理的像素点周围的多个像素点;

计算所述所要处理的像素点的像素值与所述多个像素点的像素值的差值;

判断每个所述差值是否小于阈值,若是,则确定所述差值对应的周围像素点为可用像素点;若否,则确定所述差值对应的周围像素点为不可用像素点;

计算所有所述可用像素点的像素值的均值,将所述均值设置为所述所要处理的像素点的像素值。

结合第一方面的第七种可能的实现方式,在第八种可能的实现方式中,所述方法还包括:

根据磨皮等级,确定所述磨皮半径,以及确定对应的所述阈值。

结合第一方面的第四种可能的实现方式,在第九种可能的实现方式中,所述将处理后所述人脸区域的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域包括:

从所述处理后的人脸区域中提取肤色部分,获取处理后的肤色部分;

将所述处理后的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域。

第二方面,提供了一种电子设备,所述设备包括:

肤色检测模块,用于对目标图像的人脸区域进行肤色检测;

处理模块,用于根据检测结果,对所述人脸区域进行处理;

组合模块,用于将处理后所述人脸区域的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域。

结合第二方面,在第一种可能的实现方式中,所述肤色检测模块包括:

像素值检测模块,用于检测所述人脸区域的每个像素点的像素值;

肤色和非肤色部分确定模块,用于根据所述每个像素点的像素值,确定所述人脸区域对应的肤色部分和非肤色部分。

结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述肤色和非肤色部分确定模块包括:

肤色范围判断模块,用于判断检测的所述每个像素点的像素值是否在肤色范围内,若是,则将所述像素点确定为肤色部分;

若否,则将所述像素点确定为非肤色部分。

结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理模块具体用于:

对所述肤色部分的每个像素点逐一进行处理;

获取处理后的肤色部分。

结合第二方面的第二种可能的实现方式,在第四种可能的实现方式中,所述处理模块还具体用于:

对所述肤色部分中同行的多个像素点同时进行处理;

获取处理后的人脸区域。

结合第二方面的第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述处理模块包括:磨皮处理模块。

结合第二方面的第三种或第四种可能的实现方式,在第六种可能的实现方式中,所述磨皮处理模块具体用于:

像素值设置模块,用于将所要处理的像素点周围的多个可用像素点的均值设置为所述所要处理的像素点的像素值。

结合第二方面的第六种可能的实现方式,在第七种可能的实现方式中,所述像素值设置模块包括:

周围像素点确定子模块,用于根据磨皮半径,确定所述所要处理的像素点周围的多个像素点;

差值计算子模块,用于计算所述所要处理的像素点的像素值与所述多个像素点的像素值的差值;

阈值判断子模块,用于判断每个所述差值是否小于阈值,若是,则确定所述差值对应的周围像素点为可用像素点;若否,则确定所述差值对应的周围像素点为不可用像素点;

像素值设置子模块,用于计算所有所述可用像素点的像素值的均值,将所述均值设置为所述所要处理的像素点的像素值。

结合第二方面的第七种可能的实现方式,在第八种可能的实现方式中,所述设备还包括磨皮半径确定模块和阈值确定模块:

根据磨皮等级,所述磨皮半径确定模块确定所述磨皮半径,以及所述阈值确定模块确定对应的所述阈值。

结合第二方面的第四种可能的实现方式,在第九种可能的实现方式中,所述组合模块包括:

肤色部分提取模块,用于从所述处理后的人脸区域中提取肤色部分,获取处理后的肤色部分;

处理的人脸区域获取模块,用于将所述处理后的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域。

第三方面,提供了一种电子设备,所述电子设备包括存储器以及与所述存储器连接的处理器,其中,所述存储器用于存储一组程序代码,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

对目标图像的人脸区域进行肤色检测;

根据检测结果,对所述人脸区域进行处理;

将处理后所述人脸区域的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域。

结合第三方面,在第一种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

检测所述人脸区域的每个像素点的像素值;

根据所述每个像素点的像素值,确定所述人脸区域对应的肤色部分和非肤色部分。

结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

判断检测的所述每个像素点的像素值是否在肤色范围内,若是,则将所述像素点确定为肤色部分;

若否,则将所述像素点确定为非肤色部分。

结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

对所述肤色部分的每个像素点逐一进行处理;

获取处理后的肤色部分。

结合第三方面的第二种可能的实现方式,在第四种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

对所述肤色部分中同行的多个像素点同时进行处理;

获取处理后的人脸区域。

结合第三方面的第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述处理包括:磨皮处理。

结合第三方面的第三种或第四种可能的实现方式,在第六种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

将所要处理的像素点周围的多个可用像素点的均值设置为所述所要处理的像素点的像素值。

结合第三方面的第六种可能的实现方式,在第七种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

根据磨皮半径,确定所述所要处理的像素点周围的多个像素点;

计算所述所要处理的像素点的像素值与所述多个像素点的像素值的差值;

判断每个所述差值是否小于阈值,若是,则确定所述差值对应的周围像素点为可用像素点;若否,则确定所述差值对应的周围像素点为不可用像素点;

计算所有所述可用像素点的像素值的均值,将所述均值设置为所述所要处理的像素点的像素值。

结合第三方面的第七种可能的实现方式,在第八种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

根据磨皮等级,确定所述磨皮半径,以及确定对应的所述阈值。

结合第三方面的第四种可能的实现方式,在第九种可能的实现方式中,所述处理器调用所述存储器所存储的程序代码用于执行以下操作:

从所述处理后的人脸区域中提取肤色部分,获取处理后的肤色部分;

将所述处理后的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域。

本发明实施例提供了一种图像处理方法及电子设备,所述方法包括:对目标图像的人脸区域进行肤色检测;根据检测结果,对所述人脸区域进行处理;将处理后所述人脸区域的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域。本发明通过获取仅对肤色部分进行处理的人脸区域,从而避免了对人脸区域的非肤色部分也进行处理,造成的人脸失真的问题,提高了对人脸区域处理的效果,提高了用户体验;另外,通过对目标图像的人脸区域进行肤色检测,从而在对人脸区域进行处理时仅对肤色部分进行处理,避免了对非肤色区域也进行处理时对设备处理资源的占用,提高了处理效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种图像处理方法流程图;

图2是本发明实施例提供的一种图像处理方法流程图;

图3是本发明实施例提供的一种图像处理方法流程图;

图4是本发明实施例提供的一种电子设备结构示意图;

图5是本发明实施例提供的一种电子设备结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本发明实施例提供了一种图像处理方法,参照图1所示,所述方法包括:

101、对目标图像的人脸区域进行肤色检测。

具体的,检测所述人脸区域的每个像素点的像素值;

根据所述每个像素点的像素值,确定所述人脸区域对应的肤色部分和非肤色部分。

其中,根据所述每个像素点的像素值,确定所述人脸区域对应的肤色部分和非肤色部分的过程可以包括:

判断检测的所述每个像素点的像素值是否在肤色范围内,若是,则将所述 像素点确定为肤色部分;

若否,则将所述像素点确定为非肤色部分。

可选的,方法还包括:

检测目标图像中除脸部区域外的其他皮肤部位。

所述其他皮肤部位包括颈部、手臂部等其他裸露的皮肤部位。

102、根据检测结果,对所述人脸区域进行处理。

具体的,所述过程可以通过以下方式实现:

对所述肤色部分的每个像素点逐一进行处理;

获取处理后的肤色部分。

所述过程还可以通过以下方式实现:

对所述肤色部分中同行的多个像素点同时进行处理;

获取处理后的人脸区域。

其中,所述处理包括磨皮处理。

所述磨皮处理的过程可以包括:

将所要处理的像素点周围的多个可用像素点的均值设置为所述所要处理的像素点的像素值。

具体的,根据磨皮半径,确定所述所要处理的像素点周围的多个像素点;

计算所述所要处理的像素点的像素值与所述多个像素点的像素值的差值;

判断每个所述差值是否小于阈值,若是,则确定所述差值对应的周围像素点为可用像素点;若否,则确定所述差值对应的周围像素点为不可用像素点;

计算所有所述可用像素点的像素值的均值,将所述均值设置为所述所要处理的像素点的像素值。

可选的,所述处理还可以包括美白处理,除此之外,还可以包括其他处理。

可选的,方法还包括:

对所述目标图像的颈部或手臂部的皮肤进行处理。

可选的,所述方法还包括:

根据磨皮等级,确定所述磨皮半径,以及确定对应的所述阈值。

103、将处理后所述人脸区域的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域。

具体的,可以通过以下方式实现所述过程:

从所述处理后的人脸区域中提取肤色部分,获取处理后的肤色部分;

将所述处理后的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域。

本发明实施例提供了一种图像处理方法,通过获取仅对肤色部分进行处理的人脸区域,从而避免了对人脸区域的非肤色部分也进行处理,造成的人脸失真的问题,提高了对人脸区域处理的效果,提高了用户体验;另外,通过对目标图像的人脸区域进行肤色检测,从而在对人脸区域进行处理时仅对肤色部分进行处理,避免了对非肤色区域也进行处理时对设备处理资源的占用,提高了处理效率。

实施例二

本发明实施例提供了一种图像处理方法,参照图2所示,所述方法包括:

201、检测所述人脸区域的每个像素点的像素值。

所述人脸区域可以是仅包括脸部的区域,即以发迹线为界的脸部区域,或以发迹线为界的脸部区域和耳部,也可以是包括脸部的头部区域。

具体的,可以通过电子设备运行的程序中的检测功能检测每个像素点的像素值,该程序可以是社交类应用程序,也可以是图像处理类软件,还可以通过其他方式进行检测,本发明实施例对具体的检测方式不加以限定。

若所述包含人脸区域的目标图像的色彩空间是ycbcr(y是指亮度分量,cb指蓝色色度分量,而cr指红色色度分量),则检测的所述人脸区域的每个像素点的像素值可以用每个像素点的y值、cb值、cr值表示;若所述包含人脸区域的目标图像的色彩空间是rgb,其中,r代表red(红色),g代表green(绿色),b代表blue(蓝色),则检测的所述人脸区域的每个像素点的像素值可以 用每个像素点的r值、g值以及b值表示。

可选的,在检测所述人脸区域的每个像素点的像素值之前,方法还可以包括:

检测目标图像中的人脸区域。

具体的,根据用于描述人脸的多个特征点信息检测人脸区域;其中,所述特征点信息包括特征点坐标。

可选的,所述方法还可以包括:

检测目标图像中除脸部区域外的其他皮肤部位。

所述其他皮肤部位包括颈部、手臂部等其他裸露的皮肤部位。

202、根据所述每个像素点的像素值,确定所述人脸区域对应的肤色部分和非肤色部分。

具体的,判断检测的所述每个像素点的像素值是否在肤色范围内,若是,则将所述像素点确定为肤色部分;若否,则将所述像素点确定为非肤色部分。

若所述目标图像的色彩空间为ycbcr,所述肤色范围可以是y值大于等第一预设值,cb值大于等于第二预设值小于等于第三预设值,cr值大于等于第四预设值小于等于第五预设值,其中,第一预设值可以是60,第二预设值可以是70,第三预设值可以是130,第四预设值可以是133,第五预设值可以是175,除此之外,第一至第五预设值还可以是其他,本发明实施例对具体预设值不加以限定;以及肤色范围还可以是其他,本发明实施例对具体的肤色范围的方式不加以限定。

具体的,判断检测的每个像素点的y值是否大于等于第一预设值,cb值是否大于等于第二预设值小于等于第三预设值,cr值大于等于第四预设值小于等于第五预设值,若三个值均满足肤色范围,则将所述像素点确定为肤色部分;若三个值中,任意一个不满足肤色范围,则将所述像素点确定为非肤色部分。

对所述人脸区域中的每个像素点进行判断,以确定所述人脸区域对应的肤色部分和非肤色部分。

可选的,方法还包括:

对检测的每个像素点进行标记。

具体的,将检测的符合肤色范围的像素点标记为1,将不符合肤色范围的像素点标记为0。

若所述目标图像的色彩空间为rgb,方法还包括:

将所述目标图像的色彩空间由rgb转为ycbcr。

需要说明的是步骤201至步骤202是实现对目标图像的人脸区域进行肤色检测的过程,除了上述方式之外,还可以通过其他方式实现所述过程,本发明实施例对具体的方式不加以限定。

通过判断检测的所述每个像素点的像素值是否在肤色范围内,并对符合肤色范围的像素点和不符合肤色范围的像素点分别进行标记,而符合肤色范围的像素点是所要处理的像素点,则方便了对肤色范围内的像素点进行处理,同时因为标记了不符合肤色范围的像素点,从而在后续处理过程中能明确确定像素点是肤色部分像素点还是非肤色部分像素点,使得只对肤色部分进行处理,从而进一步提高了处理效率,避免对非肤色部分也进行处理而造成的人脸失真的问题;另外,因为无需对非肤色部分像素点进行处理,从而提高了处理效率,且避免了对设备处理资源过多的占用。

203、对所述肤色部分的每个像素点逐一进行处理。

具体的,可以按照预设顺序对肤色部分的每个像素点逐一进行处理,所述预设顺序可以是自左上开始,逐行进行处理,也可以是自左上开始,逐列进行处理,本发明实施例对具体的预设顺序不加以限定。

具体的,所述过程包括:

对标记为1的像素点逐一进行处理。

其中,所述处理包括磨皮处理。

所述磨皮处理的过程可以包括:

将所要处理的像素点周围的多个可用像素点的均值设置为所述所要处理的 像素点的像素值。

具体的,所述将所要处理的像素点周围的多个可用像素点的均值设置为所述所要处理的像素点的像素值的过程可以包括:

a、根据磨皮半径,确定所述所要处理的像素点周围的多个像素点。

具体的,根据磨皮半径,以所述所要处理的像素点为圆心,确定所述所要处理的像素点周围的多个像素点。

b、计算所述所要处理的像素点的像素值与所述多个像素点的像素值的差值。

具体的,若所述目标图像的色彩空间是ycbcr,则分别计算所要处理的像素点的y值、cb值以及cr与所述多个像素点中每个像素点的y值、cb值以及cr的差值;若所述目标图像的色彩空间是rgb,则分别计算所要处理的像素点的r值、g值以及b值与所述多个像素点中的每个像素点的r值、g值以及b值的差值;或者,若所述目标图像的色彩空间是rgb,则将色彩空间由rgb转为ycbcr后再进行差值计算。

c、判断每个所述差值是否小于阈值,若是,则确定所述差值对应的周围像素点为可用像素点;若否,则确定所述差值对应的周围像素点为不可用像素点。

所述阈值可以是y值、cb值以及cr值的取值,也可以是r值、g值以及b值的取值,阈值根据实际磨皮半径进行设置,本发明实施例对具体的阈值不加以限定。

具体的,判断每个差值对应的y值、cb值以及cr值是否都小于阈值中的y值、cb值以及cr的取值,若均小于则确定所述差值对应的周围像素点为可用像素点;若每个差值的y值、cb值以及cr值中的至少一个大于等于所述阈值中的y值、cb值以及cr值的取值,则确定所述差值对应的周围像素为不可以像素点。

若色彩空间是rgb,则将色彩空间由rgb转为ycbcr后进行判断。

d、计算所有所述可用像素点的像素值的均值,将所述均值设置为所述所要 处理的像素点的像素值。

具体的,若色彩空间是ycbcr,则将所有可用像素点的y值、cb值以及cr值分别进行相加,再分别除以可用像素点的个数,获得所有可用像素点的y值、cb值以及cr值的均值,则将所述y值、cb值以及cr值的均值设置为所要处理的像素点的像素值。

若色彩空间是rgb,则将色彩空间由rgb转为ycbcr后进行计算。

在步骤a之前方法还包括:

根据磨皮等级,确定所述磨皮半径,以及确定对应的所述阈值。

具体的,磨皮等级可以为预设的n个等级,比如n为5,则磨皮等级为五个等级,即等级1、等级2、等级3、等级4以及等级5。

其中,磨皮等级越高,磨皮半径越大,阈值越大,所述磨皮等级与所述磨皮半径以及所述阈值对应。

可选的,方法还包括:

对所述目标图像的颈部或手臂部的皮肤进行处理。

可选的,所述处理还可以包括美白处理,还可以包括其他处理。

204、获取处理后的肤色部分。

具体的,获取处理后的标记为1的人脸区域。

本发明实施例对具体的获取过程不加以限定。

205、将处理后所述人脸区域的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域。

具体的,组合包括贴合。

将处理后的人脸区域的肤色部分与原始人脸区域进行贴合,使得处理后的肤色部分与原始非肤色部分进行组合。

本发明实施例提供了一种图像处理方法,通过获取仅对肤色部分进行处理的人脸区域,从而避免了对人脸区域的非肤色部分也进行处理,造成的人脸失真的问题,提高了对人脸区域处理的效果,提高了用户体验;另外,通过对目 标图像的人脸区域进行肤色检测,从而在对人脸区域进行处理时仅对肤色部分进行处理,避免了对非肤色区域也进行处理时对设备处理资源的占用,提高了处理效率。

实施例三

本发明实施例提供了一种图像处理方法,参照图3所示,所述方法包括:

301、检测所述人脸区域的每个像素点的像素值。

具体的,所述步骤与实施例二中的步骤201相同,此处不再加以赘述。

302、根据所述每个像素点的像素值,确定所述人脸区域对应的肤色部分和非肤色部分。

具体的,所述步骤与实施例二中的步骤201相同,此处不再加以赘述。

需要说明的是步骤301至步骤302是实现对目标图像的人脸区域进行肤色检测的过程,除了上述方式之外,还可以通过其他方式实现所述过程,本发明实施例对具体的方式不加以限定。

303、对所述肤色部分中同行的多个像素点同时进行处理。

具体的,可以按照预设顺序对肤色部分中同行的多个像素点同时进行处理,所述预设顺序可以是自左上开始,逐行同时进行处理,也可以是自左上开始,逐列进行处理,还可以是同时从每行的首个像素点开始,同时对同行的多个像素点进行处理,还可以是其他预设顺序,本发明实施例对具体的预设顺序不加以限定。

其中,同时处理可以通过设备配置的simd(singleinstructionmultipledata,单指令多数据流)指令集,通过simd可以每次读取多个像素点的像素值,并对同行的多个像素点同时进行处理。

具体的,所述过程包括:

对标记为1的像素点的同行的多个像素点同时进行处理。

通过配置的simd指令集同时获取所要处理的像素点的同行的多个像素点,所述多个像素点可以是以所述所要处理的像素点为中点的左右相同个数的多个 像素点,对所述所要处理的像素点和所述多个像素点同时进行处理,比如,像素点左右两侧各7个像素点,对该16个像素点同时进行处理。

还可以是将每行的像素点分为若干个处理单元,每个处理单元包括多个像素点,通过配置的simd指令集同时获取每个单元的多个像素点,并同时对多个像素点进行处理;比如,每个处理单元包括16个像素点,则通过simd指令集同时获取每个单元的16个像素点,并同时对所述16个像素点进行处理。

因为通过simd指令集可以同时获取多个像素点,并对多个像素点同时进行处理,若所述多个像素点中包括多个标记为1的像素点,则进一步提高了处理的速度和效率。

所述处理包括磨皮处理。

所述磨皮处理的过程与实施例二中的磨皮处理的过程相同,此处不再加以赘述。

通过对肤色部分中同行的多个像素点同时进行处理,提高了处理速度和处理效率。

可选的,方法还包括:

对所述目标图像的颈部或手臂部的皮肤进行处理。

可选的,所述处理还可以包括美白处理,还可以包括其他处理。

304、获取处理后的人脸区域。

具体的,获取处理后人脸区域包括处理后的标记为1的肤色部分以及非肤色部分。

305、从所述处理后的人脸区域中提取肤色部分,获取处理后的肤色部分。

具体的,从所述处理后的人脸区域中提取标记为的像素点部分,获取处理后的肤色部分。

306、将所述处理后的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域。

具体的,组合包括贴合。

将提取的肤色部分与原始人脸区域进行贴合,使得处理后的肤色部分与原始非肤色部分进行组合。

需要说明的是,步骤305至步骤306是实现将处理后所述人脸区域的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域的过程,除了上述方式之外,还可以通过其他方式实现所述过程,本发明实施例对具体的方式不加以限定。

本发明实施例提供了一种图像处理方式,通过获取仅对肤色部分进行处理的人脸区域,从而避免了对人脸区域的非肤色部分也进行处理,造成的人脸失真的问题,提高了对人脸区域处理的效果,提高了用户体验;另外,通过对目标图像的人脸区域进行肤色检测,从而在对人脸区域进行处理时仅对肤色部分进行处理,避免了对非肤色区域也进行处理时对设备处理资源的占用,提高了处理效率。

实施例四

本发明实施例提供了一种电子设备,参照图4所示,所述设备4包括:

肤色检测模块41,用于对目标图像的人脸区域进行肤色检测;

处理模块42,用于根据检测结果,对所述人脸区域进行处理;

组合模块43,用于将处理后所述人脸区域的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域。

可选的,所述肤色检测模块41包括:

像素值检测模块411,用于检测所述人脸区域的每个像素点的像素值;

肤色和非肤色部分确定模块412,用于根据所述每个像素点的像素值,确定所述人脸区域对应的肤色部分和非肤色部分。

可选的,所述肤色和非肤色部分确定模块412包括:

肤色范围判断模块4121,用于判断检测的所述每个像素点的像素值是否在肤色范围内,若是,则将所述像素点确定为肤色部分;

若否,则将所述像素点确定为非肤色部分。

可选的,所述处理模块42具体用于:

对所述肤色部分的每个像素点逐一进行处理;

获取处理后的肤色部分。

可选的,所述处理模块42还具体用于:

对所述肤色部分中同行的多个像素点同时进行处理;

获取处理后的人脸区域。

可选的,所述处理模块42包括磨皮处理模块421。

可选的,所述磨皮处理模块421具体包括:

像素值设置模块4211,用于将所要处理的像素点周围的多个可用像素点的均值设置为所述所要处理的像素点的像素值。

可选的,所述像素值设置模块4211包括:

周围像素点确定子模块42111,用于根据磨皮半径,确定所述所要处理的像素点周围的多个像素点;

差值计算子模块42112,用于计算所述所要处理的像素点的像素值与所述多个像素点的像素值的差值;

阈值判断子模块42113,用于判断每个所述差值是否小于阈值,若是,则确定所述差值对应的周围像素点为可用像素点;若否,则确定所述差值对应的周围像素点为不可用像素点;

像素值设置子模块42114,用于计算所有所述可用像素点的像素值的均值,将所述均值设置为所述所要处理的像素点的像素值。

可选的,所述磨皮处理模块421还包括磨皮半径确定模块4212和阈值确定模块4213:

根据磨皮等级,所述磨皮半径确定模块4212确定所述磨皮半径,以及所述阈值确定模块4213确定对应的所述阈值。

可选的,所述组合模块43包括:

肤色部分提取模块431,用于从所述处理后的人脸区域中提取肤色部分,获 取处理后的肤色部分;

处理的人脸区域获取模块432,用于将所述处理后的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域。

本发明实施例提供了一种电子设备,所述电子设备通过获取仅对肤色部分进行处理的人脸区域,从而避免了对人脸区域的非肤色部分也进行处理,造成的人脸失真的问题,提高了对人脸区域处理的效果,提高了用户体验;另外,通过对目标图像的人脸区域进行肤色检测,从而在对人脸区域进行处理时仅对肤色部分进行处理,避免了对非肤色区域也进行处理时对设备处理资源的占用,提高了处理效率。

实施例五

本发明实施例提供了一种电子设备5,参照图5所示,所述电子设备5包括存储器51以及与所述存储器51连接的处理器52,其中,所述存储器51用于存储一组程序代码,所述处理器52调用所述存储器51所存储的程序代码用于执行以下操作:

对目标图像的人脸区域进行肤色检测;

根据检测结果,对所述人脸区域进行处理;

将处理后所述人脸区域的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域。

可选的,所述处理器52调用所述存储器51所存储的程序代码用于执行以下操作:

检测所述人脸区域的每个像素点的像素值;

根据所述每个像素点的像素值,确定所述人脸区域对应的肤色部分和非肤色部分。

可选的,所述处理器52调用所述存储器51所存储的程序代码用于执行以下操作:

判断检测的所述每个像素点的像素值是否在肤色范围内,若是,则将所述 像素点确定为肤色部分;

若否,则将所述像素点确定为非肤色部分。

可选的,所述处理器52调用所述存储器51所存储的程序代码用于执行以下操作:

对所述肤色部分的每个像素点逐一进行处理;

获取处理后的肤色部分。

可选的,所述处理器52调用所述存储器51所存储的程序代码用于执行以下操作:

对所述肤色部分中同行的多个像素点同时进行处理;

获取处理后的人脸区域。

可选的,所述处理包括:磨皮处理。

可选的,所述处理器52调用所述存储器51所存储的程序代码用于执行以下操作:

将所要处理的像素点周围的多个可用像素点的均值设置为所述所要处理的像素点的像素值。

可选的,所述处理器52调用所述存储器51所存储的程序代码用于执行以下操作:

根据磨皮半径,确定所述所要处理的像素点周围的多个像素点;

计算所述所要处理的像素点的像素值与所述多个像素点的像素值的差值;

判断每个所述差值是否小于阈值,若是,则确定所述差值对应的周围像素点为可用像素点;若否,则确定所述差值对应的周围像素点为不可用像素点;

计算所有所述可用像素点的像素值的均值,将所述均值设置为所述所要处理的像素点的像素值。

可选的,所述处理器52调用所述存储器51所存储的程序代码用于执行以下操作:

根据磨皮等级,确定所述磨皮半径,以及确定对应的所述阈值。

可选的,所述处理器52调用所述存储器51所存储的程序代码用于执行以下操作:

从所述处理后的人脸区域中提取肤色部分,获取处理后的肤色部分;

将所述处理后的肤色部分与所述人脸区域的原始非肤色部分进行组合,获取仅对肤色部分进行处理的人脸区域。

本发明实施例提供了一种电子设备,所述电子设备通过获取仅对肤色部分进行处理的人脸区域,从而避免了对人脸区域的非肤色部分也进行处理,造成的人脸失真的问题,提高了对人脸区域处理的效果,提高了用户体验;另外,通过对目标图像的人脸区域进行肤色检测,从而在对人脸区域进行处理时仅对肤色部分进行处理,避免了对非肤色区域也进行处理时对设备处理资源的占用,提高了处理效率。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

需要说明的是:上述实施例提供的电子设备在执行图像处理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的电子设备和图像处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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