一种图片处理方法及装置制造方法

文档序号:6543074阅读:160来源:国知局
一种图片处理方法及装置制造方法
【专利摘要】本发明公开了一种图片处理方法及装置,所述方法包括:确定待处理图片中的待处理皮肤区域;确定所述待处理皮肤区域中皮肤瑕疵的位置;根据确定出的所述皮肤瑕疵在所述待处理皮肤区域中的位置,去除所述待处理图片中对应的皮肤瑕疵,得到处理后的图片。能够自动地对照片图像中人的皮肤进行修改,即消除了皮肤中较浅的瑕疵,也消除了皮肤中比较明显的问题。相对于现有的皮肤美化处理的各类APP中手动抹除皮肤瑕疵的方案,本申请所提供的方法给用户提供了更好的用户的体验。
【专利说明】一种图片处理方法及装置
【技术领域】
[0001]本发明涉及图像处理【技术领域】,特别涉及一种图片处理方法及装置。
【背景技术】
[0002]相机已广泛的应用于人们的日常生活中,对照片图像的修改需求也日益普遍。现有技术中通常使用一种“磨皮”技术对照片中人的皮肤进行修改。使用该功能后皮肤中粗糙的地方会变得平滑,比较浅的斑会消失,即皮肤中较小的、相对周围颜色略深的部分颜色会变浅,视觉上跟消失了一样;但是,对于皮肤中比较明显的问题如粉刺、伤疤等,仍能留下明显的痕迹。为了解决这个问题,现有的应用基本上都是需要用户手工指定皮肤瑕疵的位置和大小,然后根据所指定位置和大小,将该区域的颜色替换为与周围肤色接近的颜色,从而达到修改图像,去除瑕疵的目的。
[0003]可见,在现有的图像处理过程中,对于计算机自动处理的步骤,只能消除比较浅的瑕疵如比较浅的痘痘、斑痕等,对于皮肤中比较明显的问题如粉刺、伤疤等无法消除,即使处理后也能留下明显的痕迹。而对于这类皮肤中比较明显的问题,只能手动去除。手动去除不但操作繁琐,对用户的要求也较高,只有掌握一定技能的用户才能手动消除皮肤中比较明显的问题,普通用户无法操作。

【发明内容】

[0004]本发明实施例的目的在于提供一种图片处理方法及装置,以自动对照片中人的皮肤进行修改,消除皮肤中比较明显的问题。
[0005]为达到上述目的,本发明实施例公开了一种图片处理方法,所述方法包括:
[0006]确定待处理图片中的待处理皮肤区域;
[0007]确定所述待处理皮肤区域中皮肤瑕疵的位置;
[0008]根据确定出的所述皮肤瑕疵在所述待处理皮肤区域中的位置,去除所述待处理图片中对应的皮肤瑕疵,得到处理后的图片。
[0009]较佳的,所述确定待处理图片中的待处理皮肤区域,包括:
[0010]检测待处理图片中的遮盖区域;
[0011]根据所述遮盖区域确定出所述待处理图片中的非遮盖区域;
[0012]在所述非遮盖区域中检测皮肤区域;
[0013]或
[0014]在所述待处理图片中检测皮肤区域。
[0015]较佳的,所述待处理图片,包括:
[0016]原始待处理图片或原始待处理图片按照预设的第一比例缩放后得到的图片。
[0017]较佳的,所述确定所述待处理皮肤区域中皮肤瑕疵的位置,包括:
[0018]获得所述待处理皮肤区域的不同瑕疵突兀度等级图片;
[0019]确定所述待处理皮肤区域的颜色值,根据所述颜色值生成所述待处理皮肤区域的皮肤相似度图片;
[0020]根据所述不同瑕疵突兀度等级图片和皮肤相似度图片确定皮肤瑕疵在所述待处理皮肤区域中的位置。
[0021]较佳的,所述确定所述待处理皮肤区域的颜色值,根据所述颜色值生成所述待处理皮肤区域的皮肤相似度图片,包括:
[0022]对所述待处理皮肤区域内的若干区域分别进行皮肤颜色值采样,获得针对每个区域的若干采样值;
[0023]根据所述采样值计算出每个区域的皮肤颜色值;
[0024]分别遍历每个区域内的像素点,计算每个像素点的颜色值与其所在区域的皮肤颜色值之间的相似度值;
[0025]将计算出的所述相似度值映射为灰度值,生成反映皮肤颜色的皮肤相似度图片。
[0026]较佳的,所述获得所述待处理皮肤区域的不同瑕疵突兀度等级图片,包括:
[0027]生成具有第一黑白对比度的第一图片;
[0028]生成具有第二黑白对比度的第二图片;其中,所述第一黑白对比度大于所述第二黑白对比度;
[0029]生成具有第三黑白对比度的第三图片;其中,所述第三黑白对比度与第一黑白对比度相同;
[0030]所述根据所述不同瑕疵突兀度等级图片和皮肤相似度图片确定皮肤瑕疵在所述待处理皮肤区域中的位置,包括:
[0031]根据所述第一至三图片和皮肤相似度图片确定皮肤瑕疵在所述待处理皮肤区域中的位置。
[0032]较佳的,所述根据所述第一至三图片和皮肤相似度图片确定皮肤瑕疵在所述待处理皮肤区域中的位置,包括:
[0033]根据所述第二图片、皮肤相似度图片生成第一皮肤瑕疵集合;
[0034]根据所述第一图片、皮肤相似度图片生成第二皮肤瑕疵集合;
[0035]根据所述第三图片、皮肤相似度图片生成第三、四皮肤瑕疵集合;
[0036]将所述第一至四皮肤瑕疵集合合并,获得所有皮肤瑕疵在所述待处理皮肤区域中的位置。
[0037]较佳的,根据所述第一至三图片和皮肤相似度图片确定皮肤瑕疵在所述待处理皮肤区域中的位置的步骤包括:
[0038]根据所述第二图片、皮肤相似度图片和待处理皮肤区域生成第一皮肤瑕疵集合;
[0039]根据所述第一图片、皮肤相似度图片和待处理皮肤区域生成第二皮肤瑕疵集合;
[0040]根据所述第三图片、皮肤相似度图片和待处理皮肤区域生成第三、四皮肤瑕疵集合;
[0041]将所述第一至四皮肤瑕疵集合合并,获得所有皮肤瑕疵在所述待处理皮肤区域中的位置。
[0042]较佳的,根据所述第二图片、皮肤相似度图片和待处理皮肤区域生成第一皮肤瑕疵集合的步骤包括:
[0043]在所述第二图片中搜索满足第一搜索条件的斑块;其中,所述第一搜索条件为像素点灰度值小于等于第一灰度阈值,且灰度值小于等于第一灰度阈值的相互邻接的像素点的个数小于等于第一邻接阈值;
[0044]将所述斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中;
[0045]从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素点的颜色值;若所述颜色值在预定的瑕疵颜色阈值范围内;则
[0046]从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断以该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内;
[0047]若是,则将搜索到的斑块作为第一皮肤瑕疵集合。
[0048]较佳的,根据所述第一图片、皮肤相似度图片和待处理皮肤区域生成第二皮肤瑕疵集合的步骤包括:
[0049]在所述第一图片中搜索满足第二搜索条件的斑块;其中,所述第二搜索条件为像素点灰度值小于等于第二灰度阈值,且灰度值小于等于第二灰度阈值的相互邻接的像素点的个数小于等于第二邻接阈值;
[0050]将所述斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中;
[0051]从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素点的颜色值;若所述颜色值在预定的瑕疵颜色阈值范围内;则
[0052]从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内;
[0053]若是,则将搜索到的斑块作为第二皮肤瑕疵集合。
[0054]较佳的,根据所述第三图片、皮肤相似度图片和待处理皮肤区域生成第三、四皮肤瑕疵集合的步骤包括:
[0055]在所述第三图片中搜索满足第三搜索条件的斑块;其中,所述第三搜索条件为像素点灰度值小于等于第三灰度阈值,且灰度值小于等于第三灰度阈值的相互邻接的像素点的个数小于等于第三邻接阈值;
[0056]在所述第三图片中搜索满足第四搜索条件的斑块;其中,所述第四搜索条件为像素点灰度值小于等于第四灰度阈值,且灰度值小于等于第四灰度阈值的相互邻接的像素点的个数小于等于第四邻接阈值;
[0057]将所述满足第三搜索条件和第四搜索条件斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中;
[0058]从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素点的颜色值;若所述颜色值在预定的瑕疵颜色阈值范围内;则
[0059]从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断以该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内;
[0060]若是,则将搜索到的满足第三搜索条件斑块作为第三皮肤瑕疵集合,将搜索到的满足第四搜索条件斑块作为第四皮肤瑕疵集合。
[0061]较佳的,所述生成具有第一黑白对比度的第一图片的步骤包括:对所述待处理皮肤区域进行第一灰度处理,从而生成具有第一黑白对比度的第一图片;
[0062]所述生成具有第二黑白对比度的第二图片的步骤包括:对所述待处理皮肤区域进行第二灰度处理,从而生成具有第二黑白对比度的第二图片;其中,所述第二灰度处理与所述第一灰度处理方式不同;
[0063]所述生成具有第三黑白对比度的第三图片的步骤包括:对所述待处理皮肤区域先进行磨皮处理,获得磨皮处理后的图片,再对所述磨皮处理后的图片进行第三灰度处理,从而生成具有第三黑白对比度的第三图片,其中,所述第三灰度处理与所述第一灰度处理方式相同。
[0064]较佳的,所述根据确定出的所述皮肤瑕疵在所述待处理皮肤区域中的位置,去除所述待处理图片中对应的皮肤瑕疵,得到处理后的图片,包括:
[0065]将所述待处理皮肤区域中的皮肤瑕疵映射到所述待处理图片中;
[0066]根据映射处理结果,去除所述待处理图片中的皮肤瑕疵,得到处理后的图片。
[0067]较佳的,在所述将所述待处理皮肤区域中的皮肤瑕疵映射到所述待处理图片中之后,还包括:
[0068]在所述待处理图片中,按照预设的第二比例放大所述皮肤瑕疵所在区域,其中,所述预设的第二比例大于I。
[0069]较佳的,所述根据映射处理结果,去除所述待处理图片中的皮肤瑕疵,包括:
[0070]计算待处理图片中的皮肤瑕疵中位于预设相对位置的像素点所对应的横向皮肤颜色变化函数y=f (x),以及纵向皮肤颜色变化函数y’=f (x),其中x表示所述待处理图片中像素点的横向坐标、x’表示所述待处理图片中像素点的纵向坐标,y表示横向坐标为x的像素点对应的颜色值、y’表示纵向坐标为x’的像素点对应的颜色值;
[0071]将所述待处理图片中的皮肤瑕疵中每一像素点的横向坐标和纵向坐标分别代入上述横向皮肤颜色变化函数和纵向皮肤颜色变化函数,获得每一像素点在横向及纵向的颜色值;
[0072]对所述每一像素点在横向及纵向的颜色值取均值,获得每一像素点对应的正常皮肤颜色值;
[0073]依次使用计算出的每一像素点的正常皮肤颜色值替换所述待处理图片中的皮肤瑕疵中每个像素点的颜色值,从而去除所述待处理图片中的皮肤瑕疵,得到处理后的图片。
[0074]较佳的,所述方法还包括:对所述处理后的图片进行磨皮处理,以获得去除突兀效果的图片。
[0075]较佳的,所述待处理皮肤区域,包括:人脸区域,或除人脸以外的任何皮肤区域。
[0076]为达到上述目的,本发明实施例公开了一种图片处理装置,所述装置包括:
[0077]皮肤区域确定模块,用于确定待处理图片中的待处理皮肤区域;
[0078]皮肤瑕疵确定模块,用于确定所述待处理皮肤区域中皮肤瑕疵的位置;
[0079]皮肤瑕疵去除模块,用于根据确定出的所述皮肤瑕疵在所述待处理皮肤区域中的位置,去除所述待处理图片中对应的皮肤瑕疵,得到处理后的图片。
[0080]较佳的,所述皮肤区域确定模块,包括:
[0081]遮盖区域检测子模块,用于检测待处理图片中的遮盖区域;
[0082]非遮盖区域确定子模块,用于根据所述遮盖区域确定出所述待处理图片中的非遮盖区域;
[0083]皮肤区域检测子模块,用于在所述非遮盖区域中检测皮肤区域;或
[0084]用于在所述待处理图片中检测皮肤区域。
[0085]较佳的,所述待处理图片,包括:
[0086]原始待处理图片或原始待处理图片按照预设的第一比例缩放后得到的图片。
[0087]较佳的,所述皮肤瑕疵确定模块,包括:
[0088]不同突兀度等级图片获得子模块,用于获得所述待处理皮肤区域的不同瑕疵突兀度等级图片;
[0089]皮肤相似度图片生成子模块,用于确定所述待处理皮肤区域的颜色值,根据所述颜色值生成所述待处理皮肤区域的皮肤相似度图片;
[0090]皮肤瑕疵确定子模块,用于根据所述不同瑕疵突兀度等级图片和皮肤相似度图片确定皮肤瑕疵在所述待处理皮肤区域中的位置。
[0091]较佳的,所述皮肤相似度图片生成子模块,包括:
[0092]采样值获得单元,用于对所述待处理皮肤区域内的若干区域分别进行皮肤颜色值采样,获得针对每个区域的若干采样值;
[0093]皮肤颜色值计算单元,用于根据所述采样值计算出每个区域的皮肤颜色值;
[0094]相似度计算单元,用于分别遍历每个区域内的像素点,计算每个像素点的颜色值与其所在区域的皮肤颜色值之间的相似度值;
[0095]皮肤相似度图片生成单元,用于将计算出的所述相似度值映射为灰度值,生成反映皮肤颜色的皮肤相似度图片。
[0096]较佳的,所述不同突兀度等级图片获得子模块,包括:
[0097]第一图片生成单元,用于生成具有第一黑白对比度的第一图片;
[0098]第二图片生成单元,用于生成具有第二黑白对比度的第二图片;其中,所述第一黑白对比度大于所述第二黑白对比度;
[0099]第三图片生成单元,用于生成具有第三黑白对比度的第三图片;其中,所述第三黑白对比度与第一黑白对比度相同;
[0100]所述皮肤瑕疵确定子模块,具体用于根据所述第一至三图片和皮肤相似度图片确定皮肤瑕疵在所述待处理皮肤区域中的位置。
[0101]较佳的,所述皮肤瑕疵确定子模块,具体用于根据所述第二图片、皮肤相似度图片生成第一皮肤瑕疵集合;根据所述第一图片、皮肤相似度图片生成第二皮肤瑕疵集合;根据所述第三图片、皮肤相似度图片生成第三、四皮肤瑕疵集合;将所述第一至四皮肤瑕疵集合合并,获得所有皮肤瑕疵在所述待处理皮肤区域中的位置。
[0102]较佳的,所述皮肤瑕疵确定子模块,包括:
[0103]第一皮肤瑕疵集合生成单元,用于根据所述第二图片、皮肤相似度图片和待处理皮肤区域生成第一皮肤瑕疵集合;
[0104]第二皮肤瑕疵集合生成单元,用于根据所述第一图片、皮肤相似度图片和待处理皮肤区域生成第二皮肤瑕疵集合;
[0105]第三、四皮肤瑕疵集合生成单元,用于根据所述第三图片、皮肤相似度图片和待处理皮肤区域生成第三、四皮肤瑕疵集合;[0106]皮肤瑕疵获得单元,用于将所述第一至四皮肤瑕疵集合合并,获得所有皮肤瑕疵在所述待处理皮肤区域中的位置。
[0107]较佳的,所述第一皮肤瑕疵集合生成单元,包括:
[0108]第一搜索子单元,用于在所述第二图片中搜索满足第一搜索条件的斑块;其中,所述第一搜索条件为像素点灰度值小于等于第一灰度阈值,且灰度值小于等于第一灰度阈值的相互邻接的像素点的个数小于等于第一邻接阈值;
[0109]第一映射子单元,用于将所述斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中;
[0110]第一斑块位置和颜色值提取子单元,用于从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素点的颜色值;
[0111]第一灰度值判断子单元,用于在所述第一斑块位置和颜色值提取子单元提取的颜色值在预定的瑕疵颜色阈值范围内的情况下,从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断以该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内;若是,则将搜索到的斑块作为第一皮肤瑕疵集合。
[0112]较佳的,所述第二皮肤瑕疵集合生成单元,包括:
[0113]第二搜索子单元,用于在所述第一图片中搜索满足第二搜索条件的斑块;其中,所述第二搜索条件为像素点灰度值小于等于第二灰度阈值,且灰度值小于等于第二灰度阈值的相互邻接的像素点的个数小于等于第二邻接阈值;
[0114]第二映射子单元,用于将所述斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中;
[0115]第二斑块位置和颜色值提取子单元,用于从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素点的颜色值;
[0116]第二灰度值判断子单元,用于在所述第二斑块位置和颜色提取子单元提取的颜色值在预定的瑕疵颜色阈值范围内的情况下,从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内;若是,则将搜索到的斑块作为第二皮肤瑕疵集合。
[0117]较佳的,所述第三、四皮肤瑕疵集合生成单元,包括:
[0118]第三搜索子单元,用于在所述第三图片中搜索满足第三搜索条件的斑块;其中,所述第三搜索条件为像素点灰度值小于等于第三灰度阈值,且灰度值小于等于第三灰度阈值的相互邻接的像素点的个数小于等于第三邻接阈值;
[0119]第四搜索子单元,用于在所述第三图片中搜索满足第四搜索条件的斑块;其中,所述第四搜索条件为像素点灰度值小于等于第四灰度阈值,且灰度值小于等于第四灰度阈值的相互邻接的像素点的个数小于等于第四邻接阈值;
[0120]第三映射子单元,用于将所述满足第三搜索条件和第四搜索条件斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中;
[0121]第三斑块位置和颜色值提取子单元,用于从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素的颜色值;[0122]第三灰度值判断子单元,用于在所述颜色值在预定的瑕疵颜色阈值范围内的情况下,从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断以该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内;若是,则将搜索到的满足第三搜索条件斑块作为第三皮肤瑕疵集合,将搜索到的满足第四搜索条件斑块作为第四皮肤瑕疵集合。
[0123]较佳的,所述第一图片生成单元,具体用于对所述待处理皮肤区域进行第一灰度处理,从而生成具有第一黑白对比度的第一图片;
[0124]所述第二图片生成单元,具体用于对所述待处理皮肤区域进行第二灰度处理,从而生成具有第二黑白对比度的第二图片;其中,所述第二灰度处理与所述第一灰度处理方式不同;
[0125]所述第三图片生成单元,具体用于对所述待处理皮肤区域先进行磨皮处理,获得磨皮处理后的图片,再对所述磨皮处理后的图片进行第三灰度处理,从而生成具有第三黑白对比度的第三图片,其中,所述第三灰度处理与所述第一灰度处理方式相同。
[0126]较佳的,所述皮肤瑕疵去除模块,包括:
[0127]皮肤瑕疵映射子模块,用于将所述待处理皮肤区域中的皮肤瑕疵映射到所述待处理图片中;
[0128]皮肤瑕疵去除子模块,用于根据映射处理结果,去除所述待处理图片中的皮肤瑕疵,得到处理后的图片。
[0129]较佳的,所述皮肤瑕疵去除模块,还包括:
[0130]皮肤瑕疵放大子模块,用于在所述皮肤瑕疵映射子模块将所述待处理皮肤区域中的皮肤瑕疵映射到所述待处理图片中之后,在所述待处理图片中,按照预设的第二比例放大所述皮肤瑕疵所在区域,其中,所述预设的第二比例大于I。
[0131]较佳的,所述皮肤瑕疵去除子模块,包括:
[0132]函数计算单元,用于计算待处理图片中的皮肤瑕疵中位于预设相对位置的像素点所对应的横向皮肤颜色变化函数y=f (χ),以及纵向皮肤颜色变化函数y’=f (χ’),其中,χ表示所述待处理图片中像素点的横向坐标、χ’表示所述待处理图片中像素点的纵向坐标,y表示横向坐标为χ的像素点对应的颜色值、y’表示纵向坐标为χ’的像素点对应的颜色值;
[0133]横纵向颜色值获得单元,用于将所述待处理图片中的皮肤瑕疵中每一像素点的横向坐标和纵向坐标分别代入上述横向皮肤颜色变化函数和纵向皮肤颜色变化函数,获得每一像素点在横向及纵向的颜色值;
[0134]正常皮肤颜色值获得单元,用于对所述每一像素点在横向及纵向的颜色值取均值,获得每一像素点对应的正常皮肤颜色值;
[0135]颜色值替换单元,用于依次使用计算出的每一像素点的正常皮肤颜色值替换所述待处理图片中的皮肤瑕疵中每个像素点的颜色值,从而去除所述待处理图片中的皮肤瑕疵,得到处理后的图片。
[0136]较佳的,所述装置还包括:磨皮处理模块;
[0137]所述磨皮处理模块,用于对所述处理后的图片进行磨皮处理,以获得去除突兀效果的图片。
[0138]较佳的,所述待处理皮肤区域,包括:人脸区域,或除人脸以外的任何皮肤区域。[0139]由上述的技术方案可见,应用本发明实施例提供的图片处理方法及装置,能够自动地对照片图像中人的皮肤进行修改,即消除了皮肤中较浅的瑕疵,也消除了皮肤中比较明显的问题。相对于现有的皮肤美化处理的各类APP中手动抹除皮肤瑕疵的方案,本申请所提供的方法给用户提供了更好的用户的体验。
[0140]当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
【专利附图】

【附图说明】
[0141]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0142]图1是根据本发明实施例的一种图片处理方法的流程图;
[0143]图2是根据本发明实施例的一种在待处理皮肤区域确定皮肤瑕疵位置的方法的流程图;
[0144]图3所述为根据本发明实施例的待处理图片的一具体实例;
[0145]图4所示为根据本发明实施例的第一图片的一具体实例;
[0146]图5所示为根据本发明实施例的第一图片的另一具体实例;
[0147]图6所示为根据本发明实施例的第二图片的一具体实例;
[0148]图7所示为根据本发明实施例的第三图片的一具体实例;
[0149]图8所示为根据本发明实施例的图3所示图片对应的处理后图片的一具体实例;
[0150]图9所示为根据本发明实施例的图8所示图片磨皮处理后所得图片的具体实例;
[0151]图10是根据本发明实施例的一种图像处理装置的逻辑结构示意图;
[0152]图11是根据本发明实施例的一种皮肤瑕疵确定模块的逻辑结构示意图。
【具体实施方式】
[0153]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0154]下面先对本文中用到术语做一简单介绍。
[0155]RGB颜色通道:RGB (R=红,G=绿,B=蓝)是计算机表示颜色的一种方式,任何一个颜色都可用RGB方式表示,即任何一个颜色都可以由R、G、B三个颜色的成分的多少来表示。R颜色通道表示图像当中的单独的红色成分,通常用灰度图像表示,越接近黑色,表示该成分越少,越接近白色,则表示该成分越多。同理G颜色通道、B颜色通道都是类似概念。
[0156]磨皮:是对图像执行一遍磨皮后,皮肤中的很多浅的斑会去掉,使皮肤显得光滑细嫩。磨皮算法本身有多种,但是都只能消除比较浅的瑕疵如比较浅的痘痘、斑痕等,不能直接靠磨皮把痘痘、伤疤去掉。
[0157]下面通过具体实施例,对本发明进行详细说明。[0158]参见图1,其是根据本发明实施例的一种图片处理方法的流程图,该流程具体包括:
[0159]SlOl:确定待处理图片中的待处理皮肤区域。
[0160]实际应用中,由于手机、平板电脑、数码相机等终端设备拍摄的图片较大或者较小,而对这些图片进行处理时,一方面:处理速度与图片的大小成正比;另一方面:若图片太小细节信息不清晰,影响处理效果,因此,在进行图片处理之前可先对原始待处理图片进行缩放,再对缩放后的原始待处理图片进行相应处理。
[0161]因此,由上述可知,待处理图片可以是原始待处理图片,也可以是原始待处理图片按照预设的第一比例缩放后得到的图片,例如,原始待处理图片按照1:2的比例缩小后得到的图片,具体的,参见图3,图3为本发明实施例提供的待处理图片的一具体实例。
[0162]另外,待处理皮肤区域可以是人脸区域,也可以是除人脸以外的任何皮肤区域,例如,人体脖子部位、人体手臂部位等等。
[0163]本申请并不对皮肤的位置做限定,图片中任何需要修改的皮肤区域都可以采用本申请所提供的方法。
[0164]具体的,在待处理图片中确定待处理皮肤区域时,可以通过人脸识别技术识别出人脸区域作为待处理皮肤区域,也可以通过其他自动识别技术,或者用户手动操作的方式确定待处理皮肤区域,例如确定人体脖子、手臂等等部位。
[0165]进一步的,在进行图片处理时,还可以对待处理图片中的一些区域进行遮挡,以避免误将皮肤上的非瑕疵区域判断为瑕疵区域。在本发明的一个具体实施例中,提供了一种确定待处理图片中的待处理皮肤区域的方法,具体可以包括:
[0166]检测待处理图片中的遮盖区域;
[0167]根据所述遮盖区域确定出所述待处理图片中的非遮盖区域;
[0168]在所述非遮盖区域中检测皮肤区域;
[0169]或
[0170]在所述待处理图片中检测皮肤区域。
[0171]实际应用中,当待处理皮肤区域是人脸区域时,为避免将五官区域中的某些像素误认为皮肤瑕疵,上述的遮盖区域可以包括人脸中的五官区域。检测待处理图片中的遮盖区域时,可通过检测人脸中的五官,获得五官的位置信息,并根据该五官的位置信息确定遮盖区域。有时图片中眉毛被头发遮住,所以如果眉毛检测不到,可以不进行检测。检测到五官后,可以用一定的模型标记出大小和位置,如眼睛的位置可以用一个椭圆标记,或者直接用矩形标记,从而获得遮盖区域。
[0172]需要说明的是,在待处理图片中确定出待处理皮肤区域之后,可以将该待处理皮肤区域以图片的形式进行存储,以便于后续进行图片处理,也可以不对该待处理皮肤区域进行单独存储,而是在待处理图片上标记出相应的位置,后续处理中根据该标记位置对待处理皮肤区域进行处理。
[0173]S102:确定所述待处理皮肤区域中皮肤瑕疵的位置。
[0174]本步骤的具体实现方式,可参照图2本发明实施例的一种在待处理皮肤区域确定皮肤瑕疵位置的方法。
[0175]S103:根据确定出的所述皮肤瑕疵在所述待处理皮肤区域中的位置,去除所述待处理图片中对应的皮肤瑕疵,得到处理后的图片。
[0176]在根据S102确定出待处理皮肤区域中皮肤瑕疵的位置后,可以先将皮肤瑕疵映射到待处理图片中,然后再根据映射结果,在待处理图片中去除相应的皮肤瑕疵,得到待处理图片处理后的图片,参见图8,图8为根据本发明实施例的图3所示图片对应的处理后图片的一具体实例。
[0177]具体的,根据映射结果,去除待处理图片中的皮肤瑕疵,可以通过以下方式实现:
[0178]计算待处理图片 中的皮肤瑕疵中位于预设相对位置的像素点所对应的横向皮肤颜色变化函数y=f U),以及纵向皮肤颜色变化函数y’=f &’),其中^表示所述待处理图片中像素点的横向坐标、X’表示所述待处理图片中像素点的纵向坐标,y表示横向坐标为X的像素点对应的颜色值、y’表示纵向坐标为X’的像素点对应的颜色值;
[0179]将所述待处理图片中的皮肤瑕疵中每一像素点的横向坐标和纵向坐标分别代入上述横向皮肤颜色变化函数和纵向皮肤颜色变化函数,获得每一像素点在横向及纵向的颜色值;
[0180]对所述每一像素点在横向及纵向的颜色值取均值,获得每一像素点对应的正常皮肤颜色值;
[0181]依次使用计算出的每一像素点的正常皮肤颜色值替换所述待处理图片中的皮肤瑕疵中每个像素点的颜色值,从而去除所述待处理图片中的皮肤瑕疵,得到处理后的图片。
[0182]其中,预设相对位置的像素点,可以是皮肤瑕疵中中心位置的像素点,或者皮肤瑕疵中左上角的像素点等等。这里,并不对预设相对位置进行限定,实际应用中可根据具体情况确定预设相对位置的取值。
[0183]需要说明的是,计算上述的横向和纵向皮肤颜色变化函数,是在皮肤区域的皮肤颜色值连续变化的前提下进行的。
[0184]需要说明的是,上述的颜色值可以是表示像素点颜色的所有颜色分量的值,例如,RGB图片中R颜色通道的灰度值、G颜色通道的灰度值和B颜色通道的灰度值,也可以是表示像素点颜色的某一颜色分量的值,例如,G颜色通道的灰度值。
[0185]上述计算待处理图片中的皮肤瑕疵中位于预设相对位置的像素点所对应的横向皮肤颜色变化函数y=f (X),以及纵向皮肤颜色变化函数y’=f (χ’)的步骤可以包括:
[0186]从横向和纵向两个方向分别对待处理图片中的皮肤瑕疵中位于预设相对位置的像素点两侧的皮肤颜色进行采样,得到若干采样点,然后根据这些采样点的颜色值拟合出该方向上的一个连续变化的函数,即横向皮肤颜色变化函数y=f (χ),和纵向皮肤颜色变化函数y’ =f (χ,)。
[0187]需要说明的是,本申请并不对如何计算出正常皮肤颜色值的方法做限定,任何可能的方法都可以应用于本申请中,以上只是一种可能的实施例而已。
[0188]由于通常情况下,待处理图片中的皮肤瑕疵区域与其周围的皮肤区域之间的颜色是连续变化的,所以在将所确定的皮肤瑕疵映射到预设的映射图片中之后,还可以在待处理图片中,按照预设的第二比例放大所述皮肤瑕疵所在区域,以更好的去除皮肤瑕疵,其中,预设的第二比例大于I。
[0189]在本发明的另一个具体实施例中,该方法还可以包括:对所述处理后的图片进行磨皮处理,以获得去除突兀效果的图片。[0190]对处理后的图片,参见图8,进行磨皮处理可以去除在去除皮肤瑕疵过程中残留的较浅的痕迹,达到更好的效果。参见图9,图9为根据本发明实施例的图8所示图片经磨皮处理的图片。将图9与图3比较,可看到去除皮肤瑕疵的效果非常明显。
[0191]另外,由前述可得知,待处理图片可以是原始待处理图片,也可以是原始待处理图片按照预设的第一比例缩放后得到的图片。当待处理图片为原始待处理图片按照预设的第一比例缩放后得到的图片时,在得到待处理图片处理后的图片后,还需将处理后的图片放大至原始待处理图片大小。例如,待处理图片为原始待处理图片按照1:2的比例缩小后得到的图片,则得到待处理图片对应的处理后的图片后,还需将该处理后的图片按照2:1的比例放大至原始待处理图片的大小。
[0192]由以上可见,本方案中,通过执行图1所示的方法,自动的对图片中人的皮肤进行了修改,即消除了皮肤中较浅的瑕疵,也消除了皮肤中比较明显的瑕疵。相对于现有的皮肤美化处理的各类APP中手动抹除皮肤瑕疵的方案,本申请所提供的方法给用户提供了更好的用户的体验。
[0193]具体的,本发明实施例中还提供了一种在待处理皮肤区域确定皮肤瑕疵位置的具体实现方法,参见图2,图2是根据本发明实施例的一种在待处理皮肤区域确定皮肤瑕疵位置的方法的流程图,该方法包括:
[0194]S102A:获得所述待处理皮肤区域的不同瑕疵突兀度等级图片。
[0195]具体的,获得不同突兀度等级图片的步骤可以包括:
[0196]生成具有第一黑白对比度的第一图片;
[0197]生成具有第二黑白对比度的第二图片;其中,所述第一黑白对比度大于所述第二黑白对比度;
[0198]生成具有第三黑白对比度的第三图片;其中,所述第三黑白对比度与第一黑白对比度相同。
[0199]进一步的,上述步骤可以是,对待处理皮肤区域进行第一灰度处理,从而生成具有第一黑白对比度的第一图片;对待处理皮肤区域进行第二灰度处理,从而生成具有第二黑白对比度的第二图片,其中,第二灰度处理与第一灰度处理方式不同;对待处理皮肤区域先进行磨皮处理,获得磨皮处理后的图片,再对磨皮处理后的图片进行第三灰度处理,从而生成具有第三黑白对比度的第三图片,其中,第三灰度处理与第一灰度处理方式相同。
[0200]实际应用中,生成第一图片的步骤可以包括:对待处理皮肤区域进行一次“高反差保留”和至少三次“亮光”处理,获得第一图片;或者,对待处理皮肤区域进行一次“高反差保留”和至少三次“强光”处理,获得第一图片,该第一图片可参见图4或图5,其中,图4为根据本发明实施例的第一图片的一具体实例,可被称为IMAGE_ALPHA_BIG,图5为根据本发明实
[0201]施例的第一图片的另一具体实例,可被称为IMAGE_ALPHA_LIGHT。
[0202]生成第二图片的步骤可以包括:对待处理皮肤区域进行一次“高反差保留”和至少一次“亮光”处理,获得第二图片;或者,对待处理皮肤区域进行一次“高反差保留”和至少一次“强光”处理,获得第二图片,该第二图片可参见图6,图6为根据本发明实施例的第二图片的一具体实例,可被称为IMAGE_ALPHA_NO_LIGHT。
[0203]其中,采用“亮光”或“强光”处理时,生成第二图片时的处理次数少于生成第一图片时的处理次数。
[0204]生成第三图片的步骤可以包括:对待处理皮肤区域进行磨皮处理,获得磨皮处理后的图像;之后,对所述磨皮处理后的图像进行一次“高反差保留”和至少三次“亮光”处理,获得第三图片;或者,对待处理皮肤区域进行一次“高反差保留”和至少三次“强光”处理,获得第三图片,该第三图片可参见图7,图7为根据本发明实施例的第三图片的一具体实例,可被称为 IMAGE_ALPHA_FINAL。
[0205]上述对待处理皮肤区域进行磨皮处理,获得磨皮处理后图像的步骤可以包括:
[0206]通过与photoshop软件中“曲线”调节相同的方式,对待处理皮肤区域的绿色通道进行微提亮,提亮后的图片与提亮前的图片以灰度图像对应像素点的灰度值为透明度,进行融合。具体的,设灰度值为alpha, alpha=0表示图像为黑色,alpha=l表示图像为白色,其中,alpha的取值为[0,1]之间的小数;设待处理皮肤区域绿色通道的当前像素点的灰度值为huidu_green,设提亮后的的灰度值为huidu_light,设融合后的灰度值为huidu_final=huidu_greenXalpha+huidu_lightX (1.0-alpha),则得到一张把绿色通道磨皮处理后的图像。
[0207]需要说明的是,上述具体步骤是以采用photoshop软件对图像进行处理为例进行说明的,本申请并不对第一、二、三图片的具体生成方式做限定,可以使用任何已知的、公开的程序对前述待处理皮肤区域进行处理,只要所生成的第一、二、三图片均为黑白图像(即灰度图像),且第一图片的黑白对比度大于所述第二图像图片的黑白对比度即可。
[0208]需要说明的是,在本发明的一个较佳实施例中,在对待处理皮肤区域进行灰度处理时,可以对待处理皮肤区域的绿色通道进行灰度处理,这是因为,红色通道中的皮肤瑕疵通常不明显,而蓝色通道中的杂色太多,绿色通道比较适中,所以选择绿色通道。当然,在其他可能的实施例中,也可以对红、绿、蓝三个分量分别给相同或不同的权重后,求均值,之后对求均值的图像进行灰度处理。
[0209]生成第一图片的目的是为了较为恰当的把皮肤区域中如人脸区域中较突兀的、颜色比周围较深的区域找出来,其中越黑的部分表示越突兀,其在待处理皮肤区域中颜色较深,第一图片参见图4或图5。
[0210]生成第二图片的目的是为了把非常明显的皮肤瑕疵凸显出来,用于接下来搜索较为明显的皮肤瑕疵,第二图片参见图6。
[0211]由于第一图片中凸显了很多颜色只是比周围略深的像素,这些像素同样会变为接近于黑色,如果其附近有皮肤瑕疵如痘痘,则痘痘也会变成黑色,从而有可能连成一片,导致在判断该黑色区域的总像素点个数时偏大,可能超出预先设定的相互邻接的像素点个数的邻接阈值,进而导致误判,有了第三图片,其磨皮操作已经把只是颜色略深的像素抹除,因此避免了这种误判,即,使得一次磨皮后的图像中没有抹掉的仍然比较突兀的区域再次凸显出来,第三图片参见图7。
[0212]需要说明的是,上述生成第一第二第三图片三种瑕疵突兀度等级的图片仅为示例,是为了突显不同大小的皮肤瑕疵,但本发明不限于此,本领域技术人员可以根据本发明实施例的设计思想,设置多种瑕疵突兀度等级的图片,例如4种、5种……从而更为精细突显皮肤瑕疵,达到良好的去除皮肤瑕疵的效果。
[0213]S102B:确定所述待处理皮肤区域的颜色值,根据所述颜色值生成所述待处理皮肤区域的皮肤相似度图片。
[0214]具体的,本步骤可以通过以下方式实现:
[0215]对所述待处理皮肤区域内的若干区域分别进行皮肤颜色值采样,获得针对每个区域的若干采样值;
[0216]根据所述采样值计算出每个区域的皮肤颜色值;
[0217]分别遍历每个区域内的像素点,计算每个像素点的颜色值与其所在区域的皮肤颜色值之间的相似度值;
[0218]将计算出的所述相似度值映射为灰度值,生成反映皮肤颜色的皮肤相似度图片。
[0219]其中,相似度值越高,越接近白色,反之接近黑色。
[0220]上述步骤中,之所以分为若干区域,是因为有时由于光线方向的问题,会使得皮肤的左右或上下呈明显的颜色区别,为了削弱该颜色区别对皮肤颜色判断以及相似度判断的影响,可以将待处理皮肤区域分为若干区域,例如,以人脸为例,可以把人脸简单以鼻子为中心,分为左上、右上、左下、右下4个矩形区域,分别采样和计算相似度。对于无光线明暗影响的图像,此计算方法也不影响计算结果。
[0221]S102C:根据所述不同瑕疵突兀度等级图片和皮肤相似度图片确定皮肤瑕疵的位置。
[0222]具体的,在上述的S102A中,生成的不同瑕疵突兀度等级图片包括第一、二和三图片时,本步骤中,可以根据第一、二、三图片和皮肤相似度图片确定皮肤瑕疵的位置。
[0223]具体的,根据第一、二、三图片和皮肤相似度图片确定皮肤瑕疵的位置的步骤可以包括:
[0224]根据所述第二图片和皮肤相似度图片生成第一皮肤瑕疵集合,其中,第二图片可参见图6 ;
[0225]根据所述第一图片和皮肤相似度图片生成第二皮肤瑕疵集合,其中,第一图片可参见图5 ;
[0226]根据所述第三图片和皮肤相似度图片生成第三、四皮肤瑕疵集合,其中,第三图片可参见图7 ;
[0227]将所述第一至四皮肤瑕疵集合合并,获得所有皮肤瑕疵在所述待处理皮肤区域中的位置。
[0228]其中,根据所述第二图片和皮肤相似度图片生成第一皮肤瑕疵集合的步骤可以包括:
[0229]在所述第二图片(可参见图6)中搜索满足第一搜索条件的斑块;其中,所述第一搜索条件为像素点灰度值小于等于第一灰度阈值,例如30 (O为黑色,255为白色),且相互邻接的像素点中灰度值小于等于第一灰度阈值的像素点的个数小于等于第一邻接阈值,如假设人脸的宽度约100像素,则该第一邻接阈值为6比较合适;
[0230]将所述斑块的位置映射到所述皮肤相似度图片中;
[0231]从所述皮肤相似度图片中,提取斑块所在位置对应像素值点的灰度值,以判断各个像素点的灰度值是否在预设的皮肤瑕疵灰度值范围内,即判断该斑块在待处理皮肤区域中相应像素点的颜色值是否接近皮肤瑕疵如痘痘的颜色值,并且判断以该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内,以判断该斑块周围是否有一定的皮肤区域;
[0232]若是,则将搜索到的斑块作为第一皮肤瑕疵集合。
[0233]上述搜索第一皮肤瑕疵集合的目的是,在第二图片(可参见图6)中把较大块的深色区域中的较为明显的皮肤瑕疵如痘痘找出来。由于大块的阴影在第一图片(可参见图5)和第三图片(可参见图7)中通常为大块黑色区域,其大小超出痘痘所限定的阈值,从而易导致皮肤瑕疵如痘痘无法被检测到,而第二图片(可参见图6)中只能把皮肤瑕疵如痘痘中颜色较深中心很小的区域变为黑色,因此,该步骤可以将较大块深色区域中的较为明显的痘痘找出来。
[0234]根据所述第一图片和皮肤相似度图片区域生成第二皮肤瑕疵集合的步骤可以包括:
[0235]在所述第一图片(可参见图5)中搜索满足第二搜索条件的斑块;其中,所述第二搜索条件为像素点灰度值小于等于第二灰度阈值,例如30 (O为黑色,255为白色),且中灰度值小于等于第二灰度阈值的像素点的像素点的个数小于等于第二邻接阈值,如假设人脸的宽度约100像素,则该第二邻接阈值为30比较合适;
[0236]将所述斑块的位置映射到所述皮肤相似度图片中;
[0237]从所述皮肤相似度图片中,提取斑块所在位置对应像素点的灰度值,以判断各个像素点的灰度值是否在预设的皮肤瑕疵灰度值范围内,即判断该斑块在待处理皮肤区域中相应像素点的颜色值是否接近皮肤瑕疵如痘痘的颜色值,并且判断该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内,以判断该斑块周围是否有一定的皮肤区域;
[0238]若是,则将搜索到的斑块作为第二皮肤瑕疵集合。
[0239]上述搜索第二皮肤瑕疵集合的目的是,将颜色相对较浅且较大块的皮肤瑕疵如痘痘找出来。因为第一图片(可参加图5)中把皮肤瑕疵如痘痘以外,其他的一些杂色和皮肤的细微变化也变黑了,由此会导致皮肤瑕疵如痘痘对应的黑色区域变大,经过该次搜索,可以将颜色相对较浅但实际较大块的皮肤瑕疵如痘痘找出来。
[0240]根据所述第三图片和皮肤相似度图片生成第三、四皮肤瑕疵集合的步骤可以包括:
[0241]在所述第三图片(可参见图7)中搜索满足第三搜索条件的斑块;其中,所述第三搜索条件为像素点灰度值小于等于第三灰度阈值,例如30 (O为黑色,255为白色),且相互邻接的像素点中灰度值小于等于第三灰度阈值的像素点的个数小于等于第三邻接阈值,如假设人脸的宽度约100像素,则该第三邻接阈值为15比较合适;
[0242]在所述第三图片(可参见图7)中搜索满足第四搜索条件的斑块;其中,所述第四搜索条件为像素点灰度值小于等于第四灰度阈值,例如30 (O为黑色,255为白色),且相互邻接的像素点中灰度值小于等于第四灰度阈值的像素点的个数小于等于第四邻接阈值,如假设人脸的宽度约100像素,则该第三邻接阈值为30比较合适;
[0243]将所述满足第三搜索条件和第四搜索条件斑块的位置映射到所述皮肤相似度图片中;
[0244]从所述皮肤相似度图片中,提取斑块所在位置对应像素点的灰度值,以判断各个像素点的灰度值是否在预设的皮肤瑕疵灰度值范围内,即判断该斑块在待处理皮肤区域中相应像素点的颜色值是否接近皮肤瑕疵如痘痘的颜色值,并且判断以该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内,以判断该斑块周围是否有一定的皮肤区域;
[0245]若是,则将搜索到的满足第三搜索条件斑块作为第三皮肤瑕疵集合,将搜索到的满足第四搜索条件斑块作为第四皮肤瑕疵集合。
[0246]上述搜索第三皮肤瑕疵集合的目的是,将大小适中的皮肤瑕疵如痘痘找出来。因为很多杂色在磨皮过程中已经去除,剩余的皮肤瑕疵如痘痘颜色也会变浅,因此痘痘在第三图片(可参见图7)中产生的黑色区域也就相对变得较为适中,因此,经过该次搜索,可以将适中大小的皮肤瑕疵如痘痘找出来。
[0247]上述搜索第四皮肤瑕疵集合的目的是,将较大块的皮肤瑕疵如痘痘找出来。有些皮肤瑕疵实际就比较大,这样痘痘在第三图片(可参见图7)中产生的黑色区域也就相对比较大,经过该次搜索,可以将实际较大块的皮肤瑕疵如痘痘找出来。
[0248]可以理解的是,在找到这些第一至第四皮肤瑕疵集合后,如果是在缩放后的图片上找到的,那么,还需将在缩放后的图片上找到的皮肤瑕疵集合映射至原始待处理图片中,从而确定出原始待处理图片中皮肤瑕疵的位置进而进行去除。
[0249]在上述的S102A中,生成的不同瑕疵突兀度等级图片包括第一、二和三图片时,本步骤中,还可以根据第一、二、三图片、皮肤相似度图片和待处理图片确定皮肤瑕疵的位置。
[0250]具体的,根据第一、二、三图片、皮肤相似度图片和待处理图片确定皮肤瑕疵的位置的步骤可以包括:
[0251]根据所述第二图片、皮肤相似度图片和待处理皮肤区域生成第一皮肤瑕疵集合,其中,第二图片可参见图6;
[0252]根据所述第一图片、皮肤相似度图片和待处理皮肤区域生成第二皮肤瑕疵集合,其中,第一图片可参见图5;
[0253]根据所述第三图片、皮肤相似度图片和待处理皮肤区域生成第三、四皮肤瑕疵集合,其中,第三图片可参见图7;
[0254]将所述第一至四皮肤瑕疵集合合并,获得所有皮肤瑕疵在所述待处理皮肤区域中的位置。
[0255]其中,根据所述第二图片、皮肤相似度图片和待处理皮肤区域生成第一皮肤瑕疵集合的步骤可以包括:
[0256]在所述第二图片(可参见图6)中搜索满足第一搜索条件的斑块;其中,所述第一搜索条件为像素点灰度值小于等于第一灰度阈值,例如30 (O为黑色,255为白色),且灰度值小于等于第一灰度阈值的相互邻接的像素点的个数小于等于第一邻接阈值,如假设人脸的宽度约100像素,则该第一邻接阈值为6比较合适;
[0257]将所述斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中;
[0258]从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素点的颜色值;若所述颜色值在预定的瑕疵颜色阈值范围内,说明该斑块在待处理皮肤区域中对应的颜色值接近皮肤瑕疵如痘痘的颜色;则
[0259]从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素值点的灰度值,并且判断以该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内,以判断该斑块周围是否有一定的皮肤区域;
[0260]若是,则将搜索到的斑块作为第一皮肤瑕疵集合。
[0261]上述搜索第一皮肤瑕疵集合的目的是,在第二图片(可参见图6)中把较大块的深色区域中的较为明显的皮肤瑕疵如痘痘找出来。由于大块的阴影在第一图片(可参见图5)和第三图片(可参见图7)中通常为大块黑色区域,其大小超出痘痘所限定的阈值,从而易导致皮肤瑕疵如痘痘无法被检测到,而第二图片(可参见图6)中只能把皮肤瑕疵如痘痘中颜色较深中心很小的区域变为黑色,因此,该步骤可以将较大块深色区域中的较为明显的痘痘找出来。
[0262]根据所述第一图片、皮肤相似度图片和待处理皮肤区域生成第二皮肤瑕疵集合的步骤可以包括:
[0263]在所述第一图片(可参见图5)中搜索满足第二搜索条件的斑块;其中,所述第二搜索条件为像素点灰度值小于等于第二灰度阈值,例如30 (O为黑色,255为白色),且灰度值小于等于第二灰度阈值的相互邻接的像素点的个数小于等于第二邻接阈值,如假设人脸的宽度约100像素,则该第二邻接阈值为30比较合适;
[0264]将所述斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中;
[0265]从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素点的颜色值;若所述颜色值在预定的瑕疵颜色阈值范围内,说明该斑块在待处理皮肤区域中对应的颜色值接近皮肤瑕疵如痘痘的颜色;则
[0266]从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内,以判断该斑块周围是否有一定的皮肤区域;
[0267]若是,则将搜索到的斑块作为第二皮肤瑕疵集合。
[0268]上述搜索第二皮肤瑕疵集合的目的是,将颜色相对较浅且较大块的皮肤瑕疵如痘痘找出来。因为第一图片(可参加图5)中把皮肤瑕疵如痘痘以外,其他的一些杂色和皮肤的细微变化也变黑了,由此会导致皮肤瑕疵如痘痘对应的黑色区域变大,经过该次搜索,可以将颜色相对较浅但实际较大块的皮肤瑕疵如痘痘找出来。
[0269]根据所述第三图片、皮肤相似度图片和待处理皮肤区域生成第三、四皮肤瑕疵集合的步骤可以包括:
[0270]在所述第三图片(可参见图7)中搜索满足第三搜索条件的斑块;其中,所述第三搜索条件为像素点灰度值小于等于第三灰度阈值,例如30 (O为黑色,255为白色),且灰度值小于等于第三灰度阈值的相互邻接的像素点的个数小于等于第三邻接阈值,如假设人脸的宽度约100像素,则该第三邻接阈值为15比较合适;
[0271]在所述第三图片(可参见图7)中搜索满足第四搜索条件的斑块;其中,所述第四搜索条件为像素点灰度值小于等于第四灰度阈值,例如30 (O为黑色,255为白色),且灰度值小于等于第四灰度阈值的相互邻接的像素点的个数小于等于第四邻接阈值,如假设人脸的宽度约100像素,则该第三邻接阈值为30比较合适;
[0272]将所述满足第三搜索条件和第四搜索条件斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中;
[0273]从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素点的颜色值;若所述颜色值在预定的瑕疵颜色阈值范围内,说明该斑块在待处理皮肤区域中对应的颜色值接近皮肤瑕疵如痘痘的颜色;则
[0274]从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断以该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内,以判断该斑块周围是否有一定的皮肤区域;
[0275]若是,则将搜索到的满足第三搜索条件斑块作为第三皮肤瑕疵集合,将搜索到的满足第四搜索条件斑块作为第四皮肤瑕疵集合。
[0276]上述搜索第三皮肤瑕疵集合的目的是,将大小适中的皮肤瑕疵如痘痘找出来。因为很多杂色在磨皮过程中已经去除,剩余的皮肤瑕疵如痘痘颜色也会变浅,因此痘痘在第三图片(可参见图7)中产生的黑色区域也就相对变得较为适中,因此,经过该次搜索,可以将适中大小的皮肤瑕疵如痘痘找出来。
[0277]上述搜索第四皮肤瑕疵集合的目的是,将较大块的皮肤瑕疵如痘痘找出来。有些皮肤瑕疵实际就比较大,这样痘痘在第三图片(可参见图7)中产生的黑色区域也就相对比较大,经过该次搜索,可以将实际较大块的皮肤瑕疵如痘痘找出来。
[0278]最后,通过将各种特征的皮肤瑕疵合并,即将所述第一至四皮肤瑕疵集合合并,就可获得所有皮肤瑕疵位置及大小。这样,可以在待处理皮肤区域中得到所有皮肤瑕疵的位置。
[0279]需要说明的是,前述各种阈值的大小可以根据实际需求确定,各个阈值的具体取值可以相同也可以不同。
[0280]需要说明的是,前述皮肤瑕疵可以是痘痘、污点、痣、伤疤等等,本申请并不对皮肤瑕疵的具体表现形式做限定,前述只是以痘痘为例进行说明,通过改变祛痘过程中各种阈值的实际取值,即可实现去污点、伤疤等等。
[0281]由以上可见,本方案中,通过获得待处理皮肤区域的不同突兀度等级图片以及皮肤相似度图片,可以准确、全面的检测出皮肤区域的皮肤瑕疵,为去除皮肤瑕疵提供基础。
[0282]参见图10,其实根据本发明实施例的一种图片处理装置的逻辑结构示意图,该结构具体包括:皮肤区域确定模块1001、皮肤瑕疵确定模块1002和皮肤瑕疵去除模块1003。
[0283]其中,皮肤区域确定模块1001,用于确定待处理图片中的待处理皮肤区域;
[0284]皮肤瑕疵确定模块1002,用于确定所述待处理皮肤区域中皮肤瑕疵的位置;
[0285]皮肤瑕疵去除模块1003,用于根据确定出的所述皮肤瑕疵在所述待处理皮肤区域中的位置,去除所述待处理图片中对应的皮肤瑕疵,得到处理后的图片。
[0286]具体的,皮肤区域确定模块1001可以包括:遮盖区域检测子模块、非遮盖区域确定子模块和皮肤区域检测子模块(图中未示出)。
[0287]其中,遮盖区域检测子模块,用于检测待处理图片中的遮盖区域;非遮盖区域确定子模块,用于根据所述遮盖区域确定出所述待处理图片中的非遮盖区域;皮肤区域检测子模块,用于在所述非遮盖区域中检测皮肤区域;或用于在所述待处理图片中检测皮肤区域。
[0288]具体的,所述待处理图片,包括:
[0289]原始待处理图片或原始待处理图片按照预设的第一比例缩放后得到的图片。
[0290]在本发明的一个具体实施例中,所述皮肤瑕疵去除模块1003可以包括:皮肤瑕疵映射子模块和皮肤瑕疵去除子模块(图中未不出)。[0291]其中,皮肤瑕疵映射子模块,用于将所述待处理皮肤区域中的皮肤瑕疵映射到所述待处理图片中;皮肤瑕疵去除子模块,用于根据映射处理结果,去除所述待处理图片中的皮肤瑕疵,得到处理后的图片。
[0292]在本发明的另一个具体实施例中,所述皮肤瑕疵去除模块1003,还可以包括:皮肤瑕疵放大子模块(图中未示出)。
[0293]皮肤瑕疵放大子模块,用于在所述皮肤瑕疵映射子模块将所述待处理皮肤区域中的皮肤瑕疵映射到所述待处理图片中之后,在所述待处理图片中,按照预设的第二比例放大所述皮肤瑕疵所在区域,其中,所述预设的第二比例大于I。
[0294]在本发明的另一个具体实施例中,所述皮肤瑕疵去除子模块可以包括:函数计算单元、横纵向颜色值获得单元、正常皮肤颜色值获得单元和颜色值替换单元(图中未示出)。
[0295]其中,函数计算单元,用于计算待处理图片中的皮肤瑕疵中位于预设相对位置的像素点所对应的横向皮肤颜色变化函数y=f (χ),以及纵向皮肤颜色变化函数y’=f (χ’),其中,χ表示所述待处理图片中像素点的横向坐标、χ’表示所述待处理图片中像素点的纵向坐标,y表示横向坐标为χ的像素点对应的颜色值、y’表示纵向坐标为χ’的像素点对应的颜色值;
[0296]横纵向颜色值获得单元,用于将所述待处理图片中的皮肤瑕疵中每一像素点的横向坐标和纵向坐标分别代入上述横向皮肤颜色变化函数和纵向皮肤颜色变化函数,获得每一像素点在横向及纵向的颜色值;
[0297]正常皮肤颜色值获得单元,用于对所述每一像素点在横向及纵向的颜色值取均值,获得每一像素点对应的正常皮肤颜色值;
[0298]颜色值替换单元,用于依次使用计算出的每一像素点的正常皮肤颜色值替换所述待处理图片中的皮肤瑕疵中每个像素点的颜色值,从而去除所述待处理图片中的皮肤瑕疵,得到处理后的图片。
[0299]在本发明的另一个具体实施例中,所述装置还可以包括:磨皮处理模块(图中未示出)。
[0300]其中,所述磨皮处理模块,用于对所述处理后的图片进行磨皮处理,以获得去除突兀效果的图片。
[0301]具体的,所述待处理皮肤区域可以包括:人脸区域,或除人脸以外的任何皮肤区域。
[0302]应用本发明实施例提供的图像处理装置,自动的对照片图像中人的皮肤进行了修改,即消除了皮肤中较浅的瑕疵,也消除了皮肤中比较明显的问题。相对于现有的皮肤美化处理的各类APP中手动抹除皮肤瑕疵的方案,本申请所提供的方法给用户提供了更好的用户的体验。
[0303]在本发明的另一个具体实施例中,提供了一种皮肤瑕疵确定模块1002的具体实现方式,具体参见图11,图11是根据本发明实施例的一种皮肤瑕疵确定模块的逻辑结构示意图,该皮肤瑕疵确定模块1002可以包括:不同突兀度等级图片获得子模块10021、皮肤相似度图片生成子模块10022和皮肤瑕疵确定子模块10023。
[0304]其中,不同突兀度等级图片获得子模块10021,用于获得所述待处理皮肤区域的不同瑕疵突兀度等级图片;[0305]皮肤相似度图片生成子模块10022,用于确定所述待处理皮肤区域的颜色值,根据所述颜色值生成所述待处理皮肤区域的皮肤相似度图片;
[0306]皮肤瑕疵确定子模块10023,用于根据所述不同瑕疵突兀度等级图片和皮肤相似度图片确定皮肤瑕疵在所述待处理皮肤区域中的位置。
[0307]具体的,所述皮肤相似度图片生成子模块10022可以包括:采样值获得单元、皮肤颜色值计算单元、相似度计算单元和皮肤相似度图片生成单元(图中未示出)。
[0308]其中,采样值获得单元,用于对所述待处理皮肤区域内的若干区域分别进行皮肤颜色值采样,获得针对每个区域的若干采样值;
[0309]皮肤颜色值计算单元,用于根据所述采样值计算出每个区域的皮肤颜色值;
[0310]相似度计算单元,用于分别遍历每个区域内的像素点,计算每个像素点的颜色值与其所在区域的皮肤颜色值之间的相似度值;
[0311]皮肤相似度图片生成单元,用于将计算出的所述相似度值映射为灰度值,生成反映皮肤颜色的皮肤相似度图片。
[0312]具体的,所述不同突兀度等级图片获得子模块10021可以包括:第一图片生成单元、第二图片生成单元和第三图片生成单元(图中未示出)。
[0313]其中,第一图片生成单元,用于生成具有第一黑白对比度的第一图片;
[0314]第二图片生成单元,用于生成具有第二黑白对比度的第二图片;其中,所述第一黑白对比度大于所述第二黑白对比度;
[0315]第三图片生成单元,用于生成具有第三黑白对比度的第三图片;其中,所述第三黑白对比度与第一黑白对比度相同;
[0316]所述皮肤瑕疵确定子模块10023,具体用于根据所述第二图片、皮肤相似度图片生成第一皮肤瑕疵集合;根据所述第一图片、皮肤相似度图片生成第二皮肤瑕疵集合;根据所述第三图片、皮肤相似度图片生成第三、四皮肤瑕疵集合;将所述第一至四皮肤瑕疵集合合并,获得所有皮肤瑕疵在所述待处理皮肤区域中的位置。
[0317]在本发明的一个具体实施例中,所述皮肤瑕疵确定子模块10023,具体还用于根据所述第一至三图片、皮肤相似度图片和待处理皮肤区域确定皮肤瑕疵在所述待处理皮肤区域中的位置。
[0318]具体的,所述皮肤瑕疵确定子模块10023可以包括:第一皮肤瑕疵集合生成单元、第二皮肤瑕疵集合生成单元、第三、四皮肤瑕疵集合生成单元和皮肤瑕疵获得单元(图中未示出)。
[0319]其中,第一皮肤瑕疵集合生成单元,用于根据所述第二图片、皮肤相似度图片和待处理皮肤区域生成第一皮肤瑕疵集合;
[0320]第二皮肤瑕疵集合生成单元,用于根据所述第一图片、皮肤相似度图片和待处理皮肤区域生成第二皮肤瑕疵集合;
[0321]第三、四皮肤瑕疵集合生成单元,用于根据所述第三图片、皮肤相似度图片和待处理皮肤区域生成第三、四皮肤瑕疵集合;
[0322]皮肤瑕疵获得单元,用于将所述第一至四皮肤瑕疵集合合并,获得所有皮肤瑕疵在所述待处理皮肤区域中的位置。
[0323]具体的,所述第一皮肤瑕疵集合生成单元可以包括:第一搜索子单元、第一映射子单元、第一斑块位置和颜色值提取子单元和第一灰度值判断子单元(图中未示出)。
[0324]其中,第一搜索子单元,用于在所述第二图片中搜索满足第一搜索条件的斑块;其中,所述第一搜索条件为像素点灰度值小于等于第一灰度阈值,且灰度值小于等于第一灰度阈值的相互邻接的像素点的个数小于等于第一邻接阈值;
[0325]第一映射子单元,用于将所述斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中;
[0326]第一斑块位置和颜色值提取子单元,用于从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素点的颜色值;
[0327]第一灰度值判断子单元,用于在所述第一斑块位置和颜色值提取子单元提取的颜色值在预定的瑕疵颜色阈值范围内的情况下,从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断以该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内;若是,则将搜索到的斑块作为第一皮肤瑕疵集合。
[0328]具体的,所述第二皮肤瑕疵集合生成单元可以包括:第二搜索子单元、第二映射子单元、第二斑块位置和颜色值提取子单元和第二灰度值判断子单元。
[0329]第二搜索子单元,用于在所述第一图片中搜索满足第二搜索条件的斑块;其中,所述第二搜索条件为像素点灰度值小于等于第二灰度阈值,且灰度值小于等于第二灰度阈值的相互邻接的像素点的个数小于等于第二邻接阈值;
[0330]第二映射子单元,用于将所述斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中;
[0331]第二斑块位置和颜色值提取子单元,用于从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素点的颜色值;
[0332]第二灰度值判断子单元,用于在所述第二斑块位置和颜色提取子单元提取的颜色值在预定的瑕疵颜色阈值范围内的情况下,从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内;若是,则将搜索到的斑块作为第二皮肤瑕疵集合。
[0333]具体的,所述第三、四皮肤瑕疵集合生成单元可以包括:第三搜索子单元、第四搜索子单元、第三映射子单元、第三斑块位置和颜色值提取子单元和第三灰度值判断子单元(图中未示出)。
[0334]其中,第三搜索子单元,用于在所述第三图片中搜索满足第三搜索条件的斑块;其中,所述第三搜索条件为像素点灰度值小于等于第三灰度阈值,且灰度值小于等于第三灰度阈值的相互邻接的像素点的个数小于等于第三邻接阈值;
[0335]第四搜索子单元,用于在所述第三图片中搜索满足第四搜索条件的斑块;其中,所述第四搜索条件为像素点灰度值小于等于第四灰度阈值,且灰度值小于等于第四灰度阈值的相互邻接的像素点的个数小于等于第四邻接阈值;
[0336]第三映射子单元,用于将所述满足第三搜索条件和第四搜索条件斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中;
[0337]第三斑块位置和颜色值提取子单元,用于从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素的颜色值;
[0338]第三灰度值判断子单元,用于在所述颜色值在预定的瑕疵颜色阈值范围内的情况下,从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断以该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内;若是,则将搜索到的满足第三搜索条件斑块作为第三皮肤瑕疵集合,将搜索到的满足第四搜索条件斑块作为第四皮肤瑕疵集合。
[0339]在本发明的一个具体实施例中,所述第一图片生成单元,具体用于对所述待处理皮肤区域进行第一灰度处理,从而生成具有第一黑白对比度的第一图片;
[0340]所述第二图片生成单元,具体用于对所述待处理皮肤区域进行第二灰度处理,从而生成具有第二黑白对比度的第二图片;其中,所述第二灰度处理与所述第一灰度处理方式不同;
[0341]所述第三图片生成单元,具体用于对所述待处理皮肤区域先进行磨皮处理,获得磨皮处理后的图片,再对所述磨皮处理后的图片进行第三灰度处理,从而生成具有第三黑白对比度的第三图片,其中,所述第三灰度处理与所述第一灰度处理方式相同。
[0342]由以上可见 ,本方案中,通过获得待处理皮肤区域的不同突兀度等级图片以及皮肤相似度图片,可以准确、全面的检测出皮肤区域的皮肤瑕疵,为去除皮肤瑕疵提供基础。
[0343]对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0344]为了描述的方便,描述以上装置是以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0345]通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0346]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0347]本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0348]本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0349]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【权利要求】
1. 一种图片处理方法,其特征在于,所述方法包括: 确定待处理图片中的待处理皮肤区域; 确定所述待处理皮肤区域中皮肤瑕疵的位置; 根据确定出的所述皮肤瑕疵在所述待处理皮肤区域中的位置,去除所述待处理图片中对应的皮肤瑕疵,得到处理后的图片。
2.根据权利要求1所述的方法,其特征在于,所述确定待处理图片中的待处理皮肤区域,包括: 检测待处理图片中的遮盖区域; 根据所述遮盖区域确定出所述待处理图片中的非遮盖区域; 在所述非遮盖区域中检测皮肤区域; 或 在所述待处理图片中检测皮肤区域。
3.根据权利要求1或2所述的方法,其特征在于,所述待处理图片,包括: 原始待处理图片或原始待处理图片按照预设的第一比例缩放后得到的图片。
4.根据权利要求1所述的方法,其特征在于,所述确定所述待处理皮肤区域中皮肤瑕疵的位置,包括: 获得所述待处理皮肤区域的不同瑕疵突兀度等级图片; 确定所述待处理皮肤区域的颜色值,根据所述颜色值生成所述待处理皮肤区域的皮肤相似度图片; 根据所述不同瑕疵突兀度等级图片和皮肤相似度图片确定皮肤瑕疵在所述待处理皮肤区域中的位置。
5.根据权利要求4所述的方法,其特征在于,所述确定所述待处理皮肤区域的颜色值,根据所述颜色值生成所述待处理皮肤区域的皮肤相似度图片,包括: 对所述待处理皮肤区域内的若干区域分别进行皮肤颜色值采样,获得针对每个区域的若干米样值; 根据所述采样值计算出每个区域的皮肤颜色值; 分别遍历每个区域内的像素点,计算每个像素点的颜色值与其所在区域的皮肤颜色值之间的相似度值; 将计算出的所述相似度值映射为灰度值,生成反映皮肤颜色的皮肤相似度图片。
6.根据权利要求4或5所述的方法,其特征在于, 所述获得所述待处理皮肤区域的不同瑕疵突兀度等级图片,包括: 生成具有第一黑白对比度的第一图片; 生成具有第二黑白对比度的第二图片;其中,所述第一黑白对比度大于所述第二黑白对比度; 生成具有第三黑白对比度的第三图片;其中,所述第三黑白对比度与第一黑白对比度相同; 所述根据所述不同瑕疵突兀度等级图片和皮肤相似度图片确定皮肤瑕疵在所述待处理皮肤区域中的位置,包括: 根据所述第一至三图片和皮肤相似度图片确定皮肤瑕疵在所述待处理皮肤区域中的位置。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一至三图片和皮肤相似度图片确定皮肤瑕疵在所述待处理皮肤区域中的位置,包括: 根据所述第二图片、皮肤相似度图片生成第一皮肤瑕疵集合; 根据所述第一图片、皮肤相似度图片生成第二皮肤瑕疵集合; 根据所述第三图片、皮肤相似度图片生成第三、四皮肤瑕疵集合; 将所述第一至四皮肤瑕疵集合合并,获得所有皮肤瑕疵在所述待处理皮肤区域中的位置。
8.根据权利要求6所述的方法,其特征在于,根据所述第一至三图片和皮肤相似度图片确定皮肤瑕疵在所述待处理皮肤区域中的位置的步骤包括: 根据所述第二图片、皮 肤相似度图片和待处理皮肤区域生成第一皮肤瑕疵集合; 根据所述第一图片、皮肤相似度图片和待处理皮肤区域生成第二皮肤瑕疵集合; 根据所述第三图片、皮肤相似度图片和待处理皮肤区域生成第三、四皮肤瑕疵集合; 将所述第一至四皮肤瑕疵集合合并,获得所有皮肤瑕疵在所述待处理皮肤区域中的位置。
9.根据权利要求8所述的方法,其特征在于,根据所述第二图片、皮肤相似度图片生成第一皮肤瑕疵集合的步骤包括: 在所述第二图片中搜索满足第一搜索条件的斑块;其中,所述第一搜索条件为像素点灰度值小于等于第一灰度阈值,且灰度值小于等于第一灰度阈值的相互邻接的像素点的个数小于等于第一邻接阈值; 将所述斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中; 从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素点的颜色值;若所述颜色值在预定的瑕疵颜色阈值范围内;则 从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断以该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内; 若是,则将搜索到的斑块作为第一皮肤瑕疵集合。
10.根据权利要求8所述的方法,其特征在于,根据所述第一图片、皮肤相似度图片和待处理皮肤区域生成第二皮肤瑕疵集合的步骤包括: 在所述第一图片中搜索满足第二搜索条件的斑块;其中,所述第二搜索条件为像素点灰度值小于等于第二灰度阈值,且灰度值小于等于第二灰度阈值的相互邻接的像素点的个数小于等于第二邻接阈值; 将所述斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中; 从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素点的颜色值;若所述颜色值在预定的瑕疵颜色阈值范围内;则 从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内; 若是,则将搜索到的斑块作为第二皮肤瑕疵集合。
11.根据权利要求8所述的方法,其特征在于,根据所述第三图片、皮肤相似度图片和待处理皮肤区域生成第三、四皮肤瑕疵集合的步骤包括: 在所述第三图片中搜索满足第三搜索条件的斑块;其中,所述第三搜索条件为像素点灰度值小于等于第三灰度阈值,且灰度值小于等于第三灰度阈值的相互邻接的像素点的个数小于等于第三邻接阈值; 在所述第三图片中搜索满足第四搜索条件的斑块;其中,所述第四搜索条件为像素点灰度值小于等于第四灰度阈值,且灰度值小于等于第四灰度阈值的相互邻接的像素点的个数小于等于第四邻接阈值; 将所述满足第三搜索条件和第四搜索条件斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中; 从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素点的颜色值;若所述颜色值在预定的瑕疵颜色阈值范围内;则 从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断以该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内; 若是,则将搜 索到的满足第三搜索条件斑块作为第三皮肤瑕疵集合,将搜索到的满足第四搜索条件斑块作为第四皮肤瑕疵集合。
12.根据权利要求6所述的方法,其特征在于, 所述生成具有第一黑白对比度的第一图片的步骤包括:对所述待处理皮肤区域进行第一灰度处理,从而生成具有第一黑白对比度的第一图片; 所述生成具有第二黑白对比度的第二图片的步骤包括:对所述待处理皮肤区域进行第二灰度处理,从而生成具有第二黑白对比度的第二图片;其中,所述第二灰度处理与所述第一灰度处理方式不同; 所述生成具有第三黑白对比度的第三图片的步骤包括:对所述待处理皮肤区域先进行磨皮处理,获得磨皮处理后的图片,再对所述磨皮处理后的图片进行第三灰度处理,从而生成具有第三黑白对比度的第三图片,其中,所述第三灰度处理与所述第一灰度处理方式相同。
13.根据权利要求1所述的方法,其特征在于,所述根据确定出的所述皮肤瑕疵在所述待处理皮肤区域中的位置,去除所述待处理图片中对应的皮肤瑕疵,得到处理后的图片,包括: 将所述待处理皮肤区域中的皮肤瑕疵映射到所述待处理图片中; 根据映射处理结果,去除所述待处理图片中的皮肤瑕疵,得到处理后的图片。
14.根据权利要求13所述的方法,其特征在于,在所述将所述待处理皮肤区域中的皮肤瑕疵映射到所述待处理图片中之后,还包括: 在所述待处理图片中,按照预设的第二比例放大所述皮肤瑕疵所在区域,其中,所述预设的第二比例大于I。
15.根据权利要求13或14所述的方法,其特征在于, 所述根据映射处理结果,去除所述待处理图片中的皮肤瑕疵,包括: 计算待处理图片中的皮肤瑕疵中位于预设相对位置的像素点所对应的横向皮肤颜色变化函数y=f (χ),以及纵向皮肤颜色变化函数y’=f U’),其中,X表示所述待处理图片中像素点的横向坐标、X’表示所述待处理图片中像素点的纵向坐标,y表示横向坐标为χ的像素点对应的颜色值、y’表示纵向坐标为χ’的像素点对应的颜色值; 将所述待处理图片中的皮肤瑕疵中每一像素点的横向坐标和纵向坐标分别代入上述横向皮肤颜色变化函数和纵向皮肤颜色变化函数,获得每一像素点在横向及纵向的颜色值; 对所述每一像素点在横向及纵向的颜色值取均值,获得每一像素点对应的正常皮肤颜色值; 依次使用计算出的每一像素点的正常皮肤颜色值替换所述待处理图片中的皮肤瑕疵中每个像素点的颜色值,从而去除所述待处理图片中的皮肤瑕疵,得到处理后的图片。
16.根据权利要求1所述 的方法,其特征在于,所述方法还包括:对所述处理后的图片进行磨皮处理,以获得去除突兀效果的图片。
17.根据权利要求1所述的方法,其特征在于,所述待处理皮肤区域,包括:人脸区域,或除人脸以外的任何皮肤区域。
18.一种图片处理装置,其特征在于,所述装置包括: 皮肤区域确定模块,用于确定待处理图片中的待处理皮肤区域; 皮肤瑕疵确定模块,用于确定所述待处理皮肤区域中皮肤瑕疵的位置; 皮肤瑕疵去除模块,用于根据确定出的所述皮肤瑕疵在所述待处理皮肤区域中的位置,去除所述待处理图片中对应的皮肤瑕疵,得到处理后的图片。
19.根据权利要求18所述的装置,其特征在于,所述皮肤区域确定模块,包括: 遮盖区域检测子模块,用于检测待处理图片中的遮盖区域; 非遮盖区域确定子模块,用于根据所述遮盖区域确定出所述待处理图片中的非遮盖区域; 皮肤区域检测子模块,用于在所述非遮盖区域中检测皮肤区域;或 用于在所述待处理图片中检测皮肤区域。
20.根据权利要求18或19所述的装置,其特征在于,所述待处理图片,包括: 原始待处理图片或原始待处理图片按照预设的第一比例缩放后得到的图片。
21.根据权利要求18所述的装置,其特征在于,所述皮肤瑕疵确定模块,包括: 不同突兀度等级图片获得子模块,用于获得所述待处理皮肤区域的不同瑕疵突兀度等级图片; 皮肤相似度图片生成子模块,用于确定所述待处理皮肤区域的颜色值,根据所述颜色值生成所述待处理皮肤区域的皮肤相似度图片; 皮肤瑕疵确定子模块,用于根据所述不同瑕疵突兀度等级图片和皮肤相似度图片确定皮肤瑕疵在所述待处理皮肤区域中的位置。
22.根据权利要求21所述的装置,其特征在于,所述皮肤相似度图片生成子模块,包括: 采样值获得单元,用于对所述待处理皮肤区域内的若干区域分别进行皮肤颜色值采样,获得针对每个区域的若干采样值; 皮肤颜色值计算单元,用于根据所述采样值计算出每个区域的皮肤颜色值;相似度计算单元,用于分别遍历每个区域内的像素点,计算每个像素点的颜色值与其所在区域的皮肤颜色值之间的相似度值; 皮肤相似度图片生成单元,用于将计算出的所述相似度值映射为灰度值,生成反映皮肤颜色的皮肤相似度图片。
23.根据权利要求21或22所述的装置,其特征在于,所述不同突兀度等级图片获得子模块,包括: 第一图片生成单元,用于生成具有第一黑白对比度的第一图片; 第二图片生成单元,用于生成具有第二黑白对比度的第二图片;其中,所述第一黑白对比度大于所述第二黑白对比度; 第三图片生成单元,用于生成具有第三黑白对比度的第三图片;其中,所述第三黑白对比度与第一黑白对比度相同; 所述皮肤瑕疵确定子模块,具体用于根据所述第一至三图片和皮肤相似度图片确定皮肤瑕疵在所述待处理皮肤区域中的位置。
24.根据权利要求23所述的装置,其特征在于,所述皮肤瑕疵确定子模块,具体用于: 根据所述第二图片、皮肤相似度图片生成第一皮肤瑕疵集合;根据所述第一图片、皮肤相似度图片生成第二皮肤瑕疵集合;根据所述第三图片、皮肤相似度图片生成第三、四皮肤瑕疵集合;将所述第一至四皮肤瑕疵集合合并,获得所有皮肤瑕疵在所述待处理皮肤区域中的位置。
25.根据权利要求23所述的装置,其特征在于,所述皮肤瑕疵确定子模块,包括: 第一皮肤瑕疵集合生成单元,用于根据所述第二图片、皮肤相似度图片和待处理皮肤区域生成第一皮肤瑕疵集合; 第二皮肤瑕疵集合生成单元,用于根据所述第一图片、皮肤相似度图片和待处理皮肤区域生成第二皮肤瑕疵集合; 第三、四皮肤瑕疵集合生成单元,用于根据所述第三图片、皮肤相似度图片和待处理皮肤区域生成第三、四皮肤瑕疵集合; 皮肤瑕疵获得单元,用于将所述第一至四皮肤瑕疵集合合并,获得所有皮肤瑕疵在所述待处理皮肤区域中的位置。
26.根据权利要求25所述的装置,其特征在于,所述第一皮肤瑕疵集合生成单元,包括: 第一搜索子单元,用于在所述第二图片中搜索满足第一搜索条件的斑块;其中,所述第一搜索条件为像素点灰度值小于等于第一灰度阈值,且灰度值小于等于第一灰度阈值的相互邻接的像素点的个数小于等于第一邻接阈值; 第一映射子单元,用于将所述斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中; 第一斑块位置和颜色值提取子单元,用于从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素点的颜色值; 第一灰度值判断子单元,用于在所述第一斑块位置和颜色值提取子单元提取的颜色值在预定的瑕疵颜色阈值范围内的情况下,从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断以该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内;若是,则将搜索到的斑块作为第一皮肤瑕疵集合。
27.根据权利要求25所述的装置,其特征在于,所述第二皮肤瑕疵集合生成单元,包括: 第二搜索子单元,用于在所述第一图片中搜索满足第二搜索条件的斑块;其中,所述第二搜索条件为像素点灰度值小于等于第二灰度阈值,且灰度值小于等于第二灰度阈值的相互邻接的像素点的个数小于等于第二邻接阈值; 第二映射子单元,用于将所述斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中; 第二斑块位置和颜色值提取子单元,用于从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素点的颜色值; 第二灰度值判断子单元,用于在所述第二斑块位置和颜色提取子单元提取的颜色值在预定的瑕疵颜色阈值范围内的情况下,从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内;若是,则将搜索到的斑块作为第二皮肤瑕疵集合。
28.根据权利要求25所述的装置,其特征在于,所述第三、四皮肤瑕疵集合生成单元,包括: 第三搜索子单元,用于在所述第三图片中搜索满足第三搜索条件的斑块;其中,所述第三搜索条件为像素点灰度值小于等于第三灰度阈值,且灰度值小于等于第三灰度阈值的相互邻接的像素点的个数小于等于第三邻接阈值; 第四搜索子单元,用于在所述第三图片中搜索满足第四搜索条件的斑块;其中,所述第四搜索条件为像素点灰度值小于等于第四灰度阈值,且灰度值小于等于第四灰度阈值的相互邻接的像素点的个数小于等于第四邻接阈值; 第三映射子单元,用于将所述满足第三搜索条件和第四搜索条件斑块的位置映射到所述待处理皮肤区域和皮肤相似度图片中; 第三斑块位置和颜色值提取子单元,用于从所述待处理皮肤区域中提取斑块所在位置及斑块所对应像素的颜色值; 第三灰度值判断子单元,用于在所述颜色值在预定的瑕疵颜色阈值范围内的情况下,从所述皮肤相似度图片中,提取斑块所在位置为中心的预定范围内对应像素点的灰度值,并且判断以该位置为中心的预定范围内像素点对应的灰度值是否在表示皮肤颜色相似的灰度阈值范围内;若是,则将搜索到的满足第三搜索条件斑块作为第三皮肤瑕疵集合,将搜索到的满足第四搜索条件斑块作为第四皮肤瑕疵集合。
29.根据权利要求23所述的装置,其特征在于, 所述第一图片生成单元,具体用于对所述待处理皮肤区域进行第一灰度处理,从而生成具有第一黑白对比度的第一图片; 所述第二图片生成单元,具体用于对所述待处理皮肤区域进行第二灰度处理,从而生成具有第二黑白对比度的第二图片;其中,所述第二灰度处理与所述第一灰度处理方式不同;所述第三图片生成单元,具体用于对所述待处理皮肤区域先进行磨皮处理,获得磨皮处理后的图片,再对所述磨皮处理后的图片进行第三灰度处理,从而生成具有第三黑白对比度的第三图片,其中,所述第三灰度处理与所述第一灰度处理方式相同。
30.根据权利要 求18所述的装置,其特征在于,所述皮肤瑕疵去除模块,包括: 皮肤瑕疵映射子模块,用于将所述待处理皮肤区域中的皮肤瑕疵映射到所述待处理图片中; 皮肤瑕疵去除子模块,用于根据映射处理结果,去除所述待处理图片中的皮肤瑕疵,得到处理后的图片。
31.根据权利要求30所述的装置,其特征在于,所述皮肤瑕疵去除模块,还包括: 皮肤瑕疵放大子模块,用于在所述皮肤瑕疵映射子模块将所述待处理皮肤区域中的皮肤瑕疵映射到所述待处理图片中之后,在所述待处理图片中,按照预设的第二比例放大所述皮肤瑕疵所在区域,其中,所述预设的第二比例大于I。
32.根据权利要求30或31所述的装置,其特征在于,所述皮肤瑕疵去除子模块,包括: 函数计算单元,用于计算待处理图片中的皮肤瑕疵中位于预设相对位置的像素点所对应的横向皮肤颜色变化函数y=f (χ),以及纵向皮肤颜色变化函数y’=f (χ’),其中,χ表示所述待处理图片中像素点的横向坐标、χ’表示所述待处理图片中像素点的纵向坐标,y表示横向坐标为χ的像素点对应的颜色值、y’表示纵向坐标为χ’的像素点对应的颜色值; 横纵向颜色值获得单元,用于将所述待处理图片中的皮肤瑕疵中每一像素点的横向坐标和纵向坐标分别代入上述横向皮肤颜色变化函数和纵向皮肤颜色变化函数,获得每一像素点在横向及纵向的颜色值; 正常皮肤颜色值获得单元,用于对所述每一像素点在横向及纵向的颜色值取均值,获得每一像素点对应的正常皮肤颜色值; 颜色值替换单元,用于依次使用计算出的每一像素点的正常皮肤颜色值替换所述待处理图片中的皮肤瑕疵中每个像素点的颜色值,从而去除所述待处理图片中的皮肤瑕疵,得到处理后的图片。
33.根据权利要求18所述的装置,其特征在于,所述装置还包括:磨皮处理模块; 所述磨皮处理模块,用于对所述处理后的图片进行磨皮处理,以获得去除突兀效果的图片。
34.根据权利要求18所述的装置,其特征在于,所述待处理皮肤区域,包括:人脸区域,或除人脸以外的任何皮肤区域。
【文档编号】G06T5/00GK103927718SQ201410137047
【公开日】2014年7月16日 申请日期:2014年4月4日 优先权日:2014年4月4日
【发明者】徐光圣, 马健, 李丁盼 申请人:北京金山网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1