一种人像磨皮方法和装置的制作方法

文档序号:6467789阅读:184来源:国知局
专利名称:一种人像磨皮方法和装置的制作方法
技术领域
本发明涉及数码图像处理技术领域,特别涉及一种人像磨皮方法和装置。
背景技术
随着数码相机的日益普及,用户对数码相机拍摄得到的数码照片效果也 提出更高要求。人像照片是数码相机拍摄得到的数码照片中的一个重要类 别。用户往往希望拍摄得到的人像照片比本人更加美丽,因此各种针对人像 照片进行处理美化的方法应运而生。人像处理美化方法中比较重要是人像磨皮技术。数码照片中的人像皮肤 上可能会出现斑点,从而影响了人像的美观。该斑点可能是数码相机本身的 噪声造成的,也可能是被拍摄对象的皮肤缺陷,如色斑、皱紋、毛孔粗大等 造成的。人像磨皮,顾名思义就是去除人像皮肤上的斑点,使得照片中人像 皮肤细腻,白皙。Adobe公司推出的PHOTOSHOP软件可以实现对数码照片进行人像磨 皮。但PHOTOSHOP软件是一种面向专业人员的图像处理软件,其搡作对 于普通用户来说过于烦瑣。普通用户希望能有一种"傻瓜式,,的处理方案, 通过一键式操作实现人像磨皮。发明内容有鉴于此,本发明实施例提出一种针对数码照片的人像磨皮方法和装 置,能够通过一键式操作实现人像磨皮。本发明实施例提出的 一种人像磨皮方法,包括如下步骤选取原始图像中人像的皮肤区域;复制原始图像,得到一临时图像;对所述临时图像进行中值滤波; 在所选取的皮肤区域内,将原始图像的像素值与中值滤波后的临时图像的 像素值合并,得到最终图像。本发明实施例提出的一种人像磨皮装置包括 皮肤区域选取模块,用于选取原始图像中人像的皮肤区域; 磨皮处理模块,用于复制原始图像得到临时图像,对临时图像进行中值滤波;合并输出模块,用于在皮肤区域选取模块所选取的皮肤区域内,将磨皮 处理模块得到的中值滤波后的临时图像的像素值与原始图像的像素值合并, 得到最终图像。从以上技术方案可以看出,根据选取的皮肤区域;将原始图像复制得到 临时图像,对临时图像进行中值滤波相当于实现全图范围的磨皮;再将皮肤 区域范围内的中值滤波后的临时图像的像素值和原始图像的像素值合并,从 而实现^f又对皮肤区域范围内进行磨皮处理。本发明实施例的方案中,用户只 需 一键操作就可以实现对拍摄的人像照片的特殊处理,而且不影响成像质 量,最大程度地为用户节约了时间和费用,而且效果理想。


,图1为本发明实施例提出的人像磨皮方法的实现流程图; 图2为本发明实施例提出的人像磨皮装置的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明 作进一步的详细阐述。本发明实施例提出的人像磨皮的实现流程如图l所示,包括如下步骤 步骤101:以鼠标点击处的像素值为基础,选取人像的皮肤区域。该步骤可以分为两步,第一步,初选皮肤区域;第二步,在第一步初选的皮肤区域的基础上,进一步确定皮肤区域的边缘。所述初选皮肤区域的具体做法可以是将鼠标点选的像素值作为基础像 素值,计算图像中任意坐标(i,j)的像素值与基础像素值的差值,若差值小 于预先设定的阈值,则认为坐标(i,j)处的像素属于皮肤区域,否则坐标(i,j) 处的像素不属于皮肤区域。像素值通常具有多个分量,例如RGB模式的像素值包括红(Red)、绿 (Green)、蓝(Blue)三个分量,上述差值可以是这三个分量分别计算的 差值,再将三个差值分别与预先设置的三个阈值比较,若各个分量的差值均 小于阈值则认为坐标(i,j)处的像素属于皮肤区域,如果有任何一个分量的 差值大于阈值则坐标(i,j)处的像素不属于皮肤区域。在某些情况下,上述做法可能把图像中颜色与人皮肤相近的像素也认为 是皮肤区域,因此可以再加一个限定条件,皮肤区域的像素必须直接或间接 与鼠标点击处的像素连通。具体做法包括步骤a:将鼠标点击处的像素设为皮肤区域中的像素。步骤b:搜索与皮肤区域直接相邻的像素,计算搜索到的像素与基础像 素值的差值;将差值小于预先设定的阈值所对应的像素设为皮肤区域中的像 素;步骤c:判断是否完成对皮肤区域直接相邻的像素的搜索,若是,则结 束皮肤区域的选取过程,否则返回步骤b。在完成了皮肤区域的初选之后,就可以执行第二步操作,对皮肤区域的 边缘部分进行空间滤波,得到专门描述皮肤区域边缘的图像,并将该图像也 作为皮肤区域。第二步操作的目的是将眼角、嘴角等边缘部分也划分到皮肤 区域中,使这些部分不被磨皮处理。在对处理结果要求不高时,也可省略该 操作。所述空间滤波,就是使用拉普拉斯矩阵,套在原始图像上进行加权矩阵计算。下面为一个5x5的拉普拉斯矩阵的示例—0, 0, 0, O,(T 0, -2, -2, -2, 00,-2,5,-2,0 ( 1 )0, -2, -2, -2, 0 0, 0, 0, 0,0_上述拉普拉斯变化的矩阵,核心取值是15,周围是-2。也就是在强调本 身像素和周围不同像素的区别。这样可以通过不同颜色分离出边缘。实际应 用中,拉普拉斯矩阵的各个算子也可以取其它值,只要能够满足分离出边缘的要求即可。将初选皮肤区域的边缘像素周围预定范围内的像素均作为备选区域。 对于备选区域内坐标值为(i, j)的像素点Xj,」,将该像素点以及相邻以 及次相邻的像素点组成一个5x5矩阵—(义,_2 ,广2 ),(《—2 ,,一 ),(《_2 ". ), d ,川),(《—2 "-+2 )— (X,—!,广2 ),(《—,,,—,),(Z,—' ),,), ,乂+2 )(JT,,卜2),(X,,"),(I,"),(Z。+),(义,,), (2) (X,+, ,,2 ),,,—, ), ". ), (Z,+, "+1 ), ,;+2)—(X,+2V_2 ),(X,+2,尸,),(Z,+2,, ),(X,+2V+, ),(X,+2,/+2 )一将矩阵(1 )的各个算子与矩阵(2)对应位置的像素相乘,将所得乘积 再累加求和,将所得和再除以矩阵(1)的算子之和,就得到坐标(i,j)处 空间滤波后的值。将备选区域内所有像素均进行空间滤波处理后,备选区域的图像能够更 加精确的描述皮肤区域的边界。步骤102:复制原始图像,得到一临时图像。 步骤103:对临时图像进行中值滤波。中值滤波是对一个滑动窗口内的诸像素灰度值排序,用其中值代替窗口 中心像素的原来灰度值,它是一种非线性的图像平滑法,它对脉冲干扰级噪 声的抑制效果好,在抑制随机噪声的同时可以有效保护边缘少受模糊。以下通过具体例子对中值滤波进行说明。假设从原始图像中选取一个大小为3x3的像素矩阵(3)224 756 73 1现在计算该矩阵中心位置的值,就是将该位置及其周围的像素值排序。 周围的定义,要根据滑动窗口大小来定,本例子中仅包含与其直接相邻的像 素,则滑动窗口大小为3x3。排序结果如下1,2,2,3,4,5,6,7,7。找到位置在 中间的值4。则将临时图像中与该矩阵中心位置坐标的像素值设为4。对临时图像中的每个像素依次进行上述计算,就得到中值滤波后的临时 图像。滑动窗口的大小也可取为5x5,则需要考虑与中心像素直接相邻、以 及次相邻的像素。需要考虑的图像矩阵的大小也为5x5。这种情况下的中 值滤波过程与上述3x3的情况类似,故不再赘述。步骤104:在所选定皮肤区域内,将临时图像的像素与原始图像对应坐 标位置的像素合并,得到最终图像。所述合并可以采用如下方式设定图层l的透明度t,对于皮肤区域内的坐标(i, j),中值滤波后的 临时图像中该坐标的像素值为bmpl (i, j),原始图像中该坐标的像素值为 bmpO (i,j),则合并后坐标(i,j)的像素值为rera/"/,力=[6w尸0(/,力x (1 — 〃 100) + 6m/ l(/, _/) x 〃 100]作为一种较佳的实施方式,所述选取皮肤区域用如下方法来实现在原始图像上新建一个蒙板图层,则原始图像为背景图层;确定蒙板图层中与背景图层的皮肤区域对应的像素,即坐标与皮肤区域像素的坐标相同的那些像素;将蒙板图层中所确定像素的像素值设为常数值Cl,将蒙板图层中剩下 像素的像素值设置为常数值C2。 Cl可以取为(#000000),表现为黑色区域; C2可以取为(#FFFFFF),表现为白色区域。实际应用中,Cl和C2也可以取为其它预先设定的值。这样,在蒙板图层中看,所有的像素分成了两部分,黑色的部分代表皮 肤区域,白色的部分代表非皮肤区域,这样就可以很方便地选取皮肤区域。本发明实施例还提出了一种人像磨皮装置,如图2所示,包括皮肤区域选取模块210,用于以鼠标点击处的像素值为基础,选取原始图 像中人像的皮肤区域;磨皮处理模块220,用于复制原始图像得到临时图像,对临时图像进行中 4直滤波;合并输出模块230,用于在皮肤区域选取模块210所选取的皮肤区域内, 将磨皮处理模块220得到的临时图像的像素与原始图像对应坐标位置的像素合 并,得到最终图像。所述皮肤区域选取模块210包括皮肤区域初选单元211和边缘确定单元212,皮肤区域初选单元211用于将鼠标点选的像素值作为基础像素值,计算图 像中任意坐标(i,j)的像素值与基础像素值的差值,若差值小于预先设定的阈 值,则认为坐标(i,j)处的像素属于皮肤区域,否则坐标(i,j)处的像素不属 于皮肤区域;或者,所述皮肤区域初选单元211用于将鼠标点击处的像素设为皮肤区 域中的像素;搜索与皮肤区域直接相邻的像素,计算搜索到的像素与基础像 素值的差值;将差值小于预先设定的阈值所对应的像素设为皮肤区域中的像 素;所述边缘确定单元212用于在皮肤区域初选单元确定的皮肤区域的基 础上,确定皮映区域的边缘。所述皮肤区域选取模块210包括蒙板图层处理单元213,所述蒙板图层 处理单元212用于在原始图像上新建一个蒙板图层;确定蒙板图层中与原始 图像的皮肤区域对应的像素,即坐标与皮肤区域像素的坐标相同的那些像 素;将蒙板图层中所确定像素的像素值设为常数值Cl,将蒙板图层中剩下像素的像素值设置为常数值C2;较佳地,常数值Cl为(#000000),表现为 黑色区域;C2可以取为(#FFFFFF),表现为白色区域。则所述边缘确定单元212用于将蒙板图层皮肤区域的边缘部分进行空 间滤波,具体包括将蒙板图层皮肤区域边缘预定范围内的像素作为备选区 域的像素;对于备选区域内坐标值为(i, j)的像素Xi,」,将该像素以及周围 的像素组成大小为MxM的像素点矩阵,所述M为自然数;将该像素点矩 阵中的各个元素与预定的大小为MxM的拉普拉斯矩阵对应位置的算子分 别相乘,将所得乘积再累加求和,所得和再除以所述拉普拉斯矩阵的算子之 和,得到坐标(g)处空间滤波后的值。较佳地,所述磨皮处理模块220包括像素矩阵选取单元221,用于从临时图像处理前的像素中选取NxN的像 素矩阵;排序单元222,用于将像素矩阵选取单元221所选取的N x N的像素矩阵 中各个位置像素值大小排序,将位置在中间的值作为该像素矩阵中心位置的像 素值。所述合并输出模块230包括合并计算单元231,用于设定临时图像的透明度t,对于皮肤区域选取模块 所确定的皮肤区域内的坐标(i, j),中值滤波后的临时图像中该坐标的像素值 为bmpl (i, j),原始图像中该坐标的像素值为bmp0 ( i,j ),根据公式 "^〃(/,y)-[6w/)0(/,力x(1—〃100) + Zro/7l(/,力x〃100]计算合并后坐标(i」)的像素值j.);输出单元232,用于在合并计算单元完成处理后,将结果输出。 本发明实施例方案中,用户只需一键操作就可以实现对拍摄的人像照片的特殊处理,而且不影响成像质量,最大程度地为用户节约了时间和费用。而且效果理想。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的石更件平台的方式来实现,当然也可以全部通过硬件来 实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技 术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,智能终端 或数码相机等)执行本发明各个实施例或者实施例的某些部分所述的方法。 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本 发明的保护范围之内。
权利要求
1、一种人像磨皮方法,其特征在于,包括如下步骤选取原始图像中人像的皮肤区域;复制原始图像,得到一临时图像,对所述临时图像进行中值滤波;在所选取的皮肤区域内,将原始图像的像素值与中值滤波后的临时图像的像素值合并,得到最终图像。
2、 根据权利要求1所述的人像磨皮方法,其特征在于,所述选取人像的皮 肤区域的步骤包括以鼠标点击处的像素值为基础,初选皮肤区域;在初选的皮肤区域的基础上,进一步确定皮肤区域的边缘。
3、 根据权利要求2所述的人像磨皮方法,其特征在于,所述以鼠标点击处 的像素值为基础,初选皮肤区域的步骤包括将鼠标点选的像素值作为基础像素值,计算图像中任意坐标(i,j)的像 素值与基础像素值的差值,若差值小于预先设定的阈值,则认为坐标(i,j) 处的像素属于皮肤区域,否则坐标(i,j)处的像素不属于皮肤区域。
4、 根据权利要求2所述的人像磨皮方法,其特征在于,所述以鼠标点击处 的像素值为基础,初选皮肤区域的步骤包括将鼠标点击处的像素设为皮肤区域中的像素;搜索与皮肤区域直接相邻的像素,计算搜索到的像素与基础像素值的差 值;将差值小于预先设定的阈值所对应的像素设为皮肤区域中的像素;判断是否完成对皮肤区域直接相邻的像素的搜索,若是,则结束皮肤区 域的选取过程,否则返回所述搜索与皮肤区域直接相邻的像素的步骤。
5、 根据权利要求2、 3或4所述的人像磨皮方法,其特征在于,所述选 取人像的皮肤区域进一步包括在原始图像上新建一个蒙板图层;确定蒙板图层中与背景图层的皮肤区域对应的像素,即坐标与皮肤区域像素的坐标相同的那些像素;将蒙板图层中所确定像素的像素值设为常数值Cl,将蒙板图层中剩下像素的像素值设置为常数值C2。
6、 根据权利要求5所述的人像磨皮方法,其特征在于,所述在初选的 皮肤区域的基础上,进一步确定皮肤区域的边缘的步骤包括将背景图层皮肤区域的边缘预定范围内的像素作为备选区域的像素; 对于备选区域内坐标值为(i, j)的像素Xi,j,将该像素以及周围的像素组 成大小为MxM的像素点矩阵,所述M为自然数;将该像素点矩阵中的各个 元素与预定的大小为MxM的拉普拉斯矩阵对应位置的算子分别相乘,将所得 乘积再累加求和,所得和再除以所述拉普拉斯矩阵的算子之和,得到坐标(i,j)处空间滤波后的值。
7、 才艮据权利要求6所述的人像磨皮方法,其特征在于,若M=5,所述拉 0, 0, o, o,o-0, -2, -2, -2, 0 0, -2, 15, -2, 0 0, -2, -2, -2, 0 0, 0, 0, 0,0普拉斯矩阵为
8、 根据权利要求1所述的人像磨皮方法,其特征在于,所述对临时图像进 行中值滤波包括从临时图像中选取NxN的像素矩阵,将该像素矩阵中各个位置像素值大 小排序,将位置在中间的值作为该像素矩阵中心位置的像素值。
9、 据权利要求8所述的人像磨皮方法,其特征在于,所述在所选取的皮肤 区域内,将原始图像与中值滤波后的临时图像合并的步骤包括设定临时图像的透明度t,对于皮肤区域内的坐标(i, j),临时图像中该坐 标的像素值为bmpl (i, j),原始图像中该坐标的像素值为bmp0 (i,j),根据公 式TOfw/他/^[Z7m; 0(z',/)x(1-〃100) + 6w;7l(i,/)x,/100]计算合并后坐标(i,j )的像素值mvM//0',y)。
10、 一种人像磨皮装置,其特征在于,包括皮肤区域选取模块,用于选取原始图像中人像的皮肤区域; 磨皮处理模块,用于复制原始图像得到临时图像,对临时图像进行中值滤波;合并输出模块,用于在皮肤区域选取模块所选取的皮肤区域内,将磨皮处 理模块得到的中值滤波后的临时图像的像素值与原始图像的像素值合并,得到 最终图像。
11、 冲艮据权利要求io所述的人像磨皮装置,其特征在于,所述皮肤区域选取模块包括皮肤区域初选单元和边缘确定单元,皮肤区域初选单元用于将鼠标点选的像素值作为基础像素值,计算图像中 任意坐标(ij)的像素值与基础像素值的差值,若差值小于预先设定的阈值, 则认为坐标(i,j)处的像素属于皮肤区域,否则坐标(i,j)处的像素不属于皮 肤区域;或者,所述皮肤区域初选单元用于将鼠标点击处的像素设为皮肤区域中 的像素;搜索与皮肤区域直接相邻的像素,计算搜索到的像素与基础像素值 的差值;将差值小于预先设定的阔值所对应的像素设为皮肤区域中的像素;分进行空间滤波,具体包括将皮肤区域边缘预定范围内的像素作为备选区 域的像素;对于备选区域内坐标值为(i, j)的像素Xi,i,将该像素以及周围 的像素组成大小为MxM的像素点矩阵,所述M为自然数;将该像素点矩 阵中的各个元素与预定的大小为MxM的拉普拉斯矩阵对应位置的算子分 别相乘,将所得乘积再累加求和,所得和再除以所述拉普拉斯矩阵的算子之 和,得到坐标(i,j)处空间滤波后的值。
12、 根据权利要求11所述的人像磨皮装置,其特征在于,所述皮肤区 域选取模块包括蒙板图层处理单元,所述蒙板图层处理单元用于在原始图像 上新建一个蒙板图层;确定蒙板图层中与原始图像的皮肤区域对应的像素, 即坐标与皮肤区域像素的坐标相同的那些像素;将蒙板图层中所确定像素的 像素值设为常数值Cl ,将蒙板图层中剩下像素的像素值设置为常数值C2。
13、 根据权利要求10所述的人像磨皮装置,其特征在于,所述磨皮处 理模块包括像素矩阵选取单元,用于从临时图像处理前的像素中选取NxN的像素矩阵;排序单元,用于将像素矩阵选取单元所选取的NxN的像素矩阵中各个位 置像素值大小排序,将位置在中间的值作为该像素矩阵中心位置的像素值。
14、 根据权利要求13所述的人像磨皮装置,其特征在于,所述合并输出模 块包括合并计算单元,用于设定临时图像的透明度t,对于皮肤区域选取^^莫块所确 定的皮肤区域内的坐标(i,j),中值滤波后的临时图像中该坐标的像素值为bmpl (i , j ),原始图像中该坐标的像素值为bmp0 ( i,j ),根据公式 ww//(/,力=[6w/70(i, y) x (1 _〃 100) + 6m; l(/,力x 〃 100]计算合并后坐标(i,j )的4象素值输出单元,用于在合并计算单元完成处理后,将结果输出。
全文摘要
本发明公开了一种人像磨皮方法,包括如下步骤以鼠标点击处的像素值为基础,选取原始图像中人像的皮肤区域;复制原始图像,得到一临时图像;对所述临时图像进行中值滤波;在所选取的皮肤区域内,将原始图像与中值滤波后的临时图像合并,得到最终图像。本发明还公开了一种针对数码照片的人像磨皮装置。本发明方案能够通过一键式操作实现人像磨皮处理,最大程度地为用户节约了时间和费用。
文档编号G06T5/00GK101404082SQ20081017424
公开日2009年4月8日 申请日期2008年11月14日 优先权日2008年11月14日
发明者炯 刘, 刘海滨, 昊 季 申请人:深圳市迅雷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1