CN103440633B - 一种数字图像自动祛除斑点的方法 - Google Patents

一种数字图像自动祛除斑点的方法 Download PDF

Info

Publication number
CN103440633B
CN103440633B CN201310404195.1A CN201310404195A CN103440633B CN 103440633 B CN103440633 B CN 103440633B CN 201310404195 A CN201310404195 A CN 201310404195A CN 103440633 B CN103440633 B CN 103440633B
Authority
CN
China
Prior art keywords
value
pixel
gray
result
spot
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
CN201310404195.1A
Other languages
English (en)
Other versions
CN103440633A (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 CN201310404195.1A priority Critical patent/CN103440633B/zh
Publication of CN103440633A publication Critical patent/CN103440633A/zh
Application granted granted Critical
Publication of CN103440633B publication Critical patent/CN103440633B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种数字图像自动祛除斑点的方法,其特征在于:通过对图像A依次进行灰度化、对比度增强、梯度极大值查找、皮肤排除、孤立点消除、高斯模糊、阈值处理、区域表求和得到结果D;最后根据结果D与梯度极大值查找的结果对图像A里的斑点进行泊松方程处理,得到自动祛痘祛斑祛痣的最终效果。本方案完全省却了数字图像祛斑操作中手动的动作,整个过程可自动完成,无需手动标定和选择斑点,节省了操作时间和步骤。

Description

一种数字图像自动祛除斑点的方法
技术领域
本发明涉及一种数字图像的处理方法,具体涉及一种自动祛除数字图像中斑点的图像处理方法。
背景技术
随着数字便携设备的普及,各种设备包括手机、平板电脑中也随之大量地应用了数字摄像装置,使用户拍摄照片的门槛大大降低,各种和生活有关的拍摄可以通过简单的操作完成,具有十分便利的特点。特别是对个人的自拍,已成为我们日常生活中常见的行为,甚至已经作为一种社交的技术手段。这类针对人像,特别是脸谱的拍摄,通常需要自拍后对图像进行调整和美化。这类操作比较常见的一种就是将图像里一些不想展现的元素祛除(例如痘、斑、痣等)。
虽然现在的图像处理软件很多都可以满足用户的大部分需求,具备这类祛斑的功能,但是现有的祛斑操作仍然步骤繁多,不够便利和快速。如此,如何尽量少地让用户操作,如何更智能、快速地祛除数字图像的暗斑,成为一个亟待解决的问题。
发明内容
针对现有数字图像处理方法缺少快速、自动的处理的解决办法,本发明提出一种数字图像自动祛斑的方法,其方案如下:
一种数字图像自动祛除斑点的方法,它包括以下步骤:
1)接收一数字图像A,对图像A进行灰度化处理,得到灰度图像B;该处理采用下列两式中的一个:
Gray=0.299*Red+0.587*Green+0.114*Blue;
Gray=(Red*306+Green*601+Blue*117+512)/1024;
其中,Gray为该灰度图像B各像素点的灰度值,Red、Green、Blue分别为图像A各像素点红、绿、蓝三个通道的颜色值;
2)对灰度图像B进行对比度增强处理,公式为:
nResult=nColor+(nColor-128)*(1.0+Contrast)/255
其中,nResult表示对比度增强后的灰度值,nColor表示要进行对比度增强的灰度值,Contrast为对比度增强的强度,范围[0.0,1.0];
3)对灰度图像B进行梯度极大值查找,步骤如下:
首先用 - 1 - 2 - 1 0 0 0 1 2 1 与灰度图像B里的逐个像素点进行卷积运算,然后将计算后的结果进行统计,并将统计结果保存到一个大小为256的数组里,根据统计结果的计算得到阈值K,根据阈值K对卷积运算后的结果进行阈值化处理,大于等于阈值K的设置为255,小于阈值K的设置为0,最终得到梯度结果C;
4)对梯度结果C先后进行皮肤排除与孤立点消除处理;
图片A的宽为w,图片的高为h;皮肤识别后的数据为pEdgeTable;i表示当前像素点的行数,j表示当前的列数;
皮肤排除的步骤:判断当前的像素点是否是皮肤;如果是皮肤的话,则将其所对应的梯度结果C上的值设置为255;该皮肤判断的方法可采用多种现有技术,如下述文献提及的方法M.J.JonesandJ.M.Rehg,“StatisticalColorModelswithApplicationtoSkinDetection”Proc.CVPR,1999.
该孤立点消除处理步骤为:
a.建立边缘个数统计表,过程如下:建立一个数组pSumTable,并都初始化为0,数组的大小为(w+1)*(h+1);接着从第2行开始进行计算,并且每行计算时都是从第2列开始的(即第一行和第一列的数据都不用参与这个计算),每行从预设passSum=0开始赋值;
passSum=passSum+(pEdgeTable[j*(w+1)+i]&0x01);
pSumTable[j*(w+1)+i]=pSumTable[(j-1)*(w+1)+i]+passSum;
b.剔除不连续的点:设定一个大小为3x3的窗口,首先判断pEdgeTable当前像素点的值是否等于0,如果等于0,则继续遍历下一个像素点,否则执行下面操作:
计算pEdgeTable当前像素点为中心的所述窗口内其他像素的值;假设上为top,下为bottom,左为left,右为right,则
top=max(0,j-1);
bottom=min(h,j+2);
right=min(w,i+2);
left=max(0,i-1);
假设上一个搜索窗口内的Edge个数为preWinEdgeCount;当前搜索窗口内的Edge个数为curWinEdgeCount;
先计算上一个搜索窗口内的Edge个数:
p1=(w+1)*top+left;
p2=(w+1)*bottom+left;
offset=right-left;
preWinEdgeCount=pSumTable[p2+offset]+pSumTable[p1]-pSumTable[p2]-pSumTable[p1+offset];
接下来预设r=2,并做循环,直到r大于5则跳出循环,以下为循环的步骤:
计算当前搜索窗口内的Edge个数:
top=max(0,j-r);
bottom=min(h,j+r+1);
right=min(w,i+r+1);
left=max(0,i-r);
p1=(w+1)*top+left;
p2=(w+1)*bottom+left;
offset=right-left;
curWinEdgeCount=pSumTable[p2+offset]+pSumTable[p1]-pSumTable[p2]-pSumTable[p1+offset];
判断curWinEdgeCount-preWinEdgeCount是否小于2,如果小于的话,则认定为不连续的边缘,归为奇异点,将pEdgeTable在该像素点的值设为0;否则将preWinEdgeCount=curWinEdgeCount;
6)对梯度结果C进行高斯模糊处理,并做阈值处理;
高斯模糊是用正态分布计算图像中每个像素的变换:
G ( u , v ) = 1 2 πσ 2 e - ( u 2 + v 2 ) / ( 2 σ 2 )
其中r是模糊半径,σ是正态分布的标准偏差,u是原像素点在x轴上的位置偏移值,v是原像素点在y轴上的位置偏移值;
阈值的公式为:如果大于等于阈值K2的话,则值设置为255,否则设置为0。这边K2的范围[0,128];
6)根据灰度图像B进行区域表求和得到结果D;
结果D的数组大小为图片的宽w与图片的高h的乘积,假设为数组GraySumArea[w][h],先预设数组的所有值为0;
接着计算数组第一行的值,公式为:
GraySumArea[i][0]=GraySumArea[i-1][0]+grayi;
其中i从1开始直到w为止;grayi为坐标(i,0)上像素点的灰度值;
接着计算数组第一列的值,公式为:
GraySumArea[0][j]=GraySumArea[0][j-1]+grayj;
其中j从1开始到h为止;grayj为坐标为(0,j)上像素点的灰度值;
接着计算数组剩余的值,公式为:
GraySumArea[i][j]=grayij+GraySumArea[i][j-1]+GraySumArea[i-1][j]-GraySumArea[i-1][j-1];
其中i从1开始到w为止;j从1开始到h为止;grayij为坐标为(i,j)上像素点的灰度值;
7)根据结果D与梯度结果C对图像A里的斑点进行泊松方程处理,得到自动祛痘祛斑祛痣的最终效果;首先利用结果D进行判断每个像素点是否为斑点;判断规则为判断该像素点在结果D上的值与周围值的差值,判断差值是否小于R值,如果是的话,则不是斑点,继续遍历下一个像素;否则继续判断该像素点在梯度结果C上的值,如果大于T值,则不是斑点;否则是斑点;其中,R的范围为[64,220],T的范围为[64,192];
当该像素点为斑点时,则根据泊松方程Δφ=f对该点进行肤色值的进行融合计算;经过泊松方程处理后得到该像素点新的颜色值,得到自动祛痘祛斑祛痣的最终效果。
作为本方案的优选者,可以有如下改进:所述步骤2)中,所述对比度增强的强度Contrast为0.15。所述步骤5)中的阈值K2设为20。所述步骤7)中R为200,T为128。
本方案带来的有益效果有:
1.完全省却了数字图像祛斑操作中手动的动作,整个过程可自动完成,无需手动标定和选择斑点,节省了操作时间和步骤;
2.在触控屏数字设备中避免了不准确的手势触控带来失效模式,可以仅适用菜单/按钮进行快速操作,不会产生失误。
具体实施方式
本实施例一种数字图像自动祛除斑点的方法,它包括以下步骤:
1)接收一人脸图像A数字图像A,对图像A进行灰度化处理,得到灰度图像B;该处理采用下列两式中的一个:
Gray=0.299*Red+0.587*Green+0.114*Blue;
Gray=(Red*306+Green*601+Blue*117+512)/1024;
其中,Gray为该灰度图像B各像素点的灰度值,Red、Green、Blue分别为图像A各像素点红、绿、蓝三个通道的颜色值;
2)对灰度图像B进行对比度增强处理,公式为:
nResult=nColor+(nColor-128)*(1.0+Contrast)/255
其中,nResult表示对比度增强后的灰度值,nColor表示要进行对比度增强的灰度值,Contrast为对比度增强的强度,取0.15;
3)对灰度图像B进行梯度极大值查找,步骤如下:
首先用 - 1 - 2 - 1 0 0 0 1 2 1 与灰度图像B里的逐个像素点进行卷积运算,然后将计算后的结果进行统计,并将统计结果保存到一个大小为256的数组里,根据统计结果的计算得到阈值K,根据阈值K对卷积运算后的结果进行阈值化处理,大于等于阈值K的设置为255,小于阈值K的设置为0,最终得到梯度结果C;
4)对梯度结果C先后进行皮肤排除与孤立点消除处理;
图片A的宽为w=480,图片的高为h=640;皮肤识别后的数据为pEdgeTable;i表示当前像素点的行数,j表示当前的列数;
皮肤排除的步骤:判断当前的像素点是否是皮肤;如果是皮肤的话,则将其所对应的梯度结果C上的值设置为255;
本方案采用基于肤色模型的皮肤识别判断方法,步骤如下:
(1)对图像进行人脸识别,获取人脸区域;
(2)对步骤(1)获取的人脸区域进行均值计算,获取平均肤色;
(2.1)初始化原始皮肤模型;
(2.1.1)创建肤色模型,大小为256*256;
(2.1.2)依次对肤色模型进行赋值,具体伪代码如下;
预设临时变量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;
}
};
(2.2)计算整个图像的颜色均值,作为初始皮肤的阈值;
(2.2.1)遍历整个图像的像素点,将红色通道、绿色通道、蓝色通道的颜色值累加,得到颜色累加值;
(2.2.2)将颜色累加值除以像素点的总数,得到红色通道、绿色通道、蓝色通道的均值,作为初始皮肤的阈值。
(2.3)根据步骤(2.2)获取得的初始皮肤的阈值计算人脸区域的平均肤色。
(2.3.1)根据如下公式计算平均肤色的黑白值:
GRAY1=0.299*RED+0.587*GREEN+0.114*BLUE
其中,GRAY1为灰度图的当前像素点的灰度值;RED、GREEN、BLUE分别为图像的当前像素点的红、绿、蓝通道的颜色值;
(2.3.2)将步骤(2.3.1)中的黑白值作为阈值,用来排除人脸区域非皮肤的部分;
并依次遍历人脸区域里的像素点的颜色值,根据如下公式获得平均肤色:
skin=SkinModel[red][blue];
其中,skin为经过皮肤模型的颜色映射后的皮肤值;SkinModel为步骤(2.1)的初始化原始皮肤模型;red为红色通道的颜色值;blue为蓝色通道的颜色值。
(3)根据步骤(2)获取的平均肤色计算当前图像的肤色概率映射表;
(3.1)创建肤色概率映射表,大小为256*256;
(3.2)依次对肤色概率映射表进行赋值,具体伪代码如下;
预设临时变量i、j、SkinRed_Left、AlphaValue、Offset、TempAlphaValue、OffsetJ为整数类型;
肤色概率映射表的变量为SkinProbability[256][256];
SkinRed为步骤(2.2.2)计算得到的红色通道的均值;SkinBlue为步骤
(2.2.2)计算得到的蓝色通道的均值;
预设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;
}
};
(4)根据步骤(3)获取的肤色概率映射表对当前图像进行肤色识别,并获得当前图像的肤色概率的结果图,通过如下公式进行实现:
skinColor=SkinProbability[red][blue]
其中,skinColor为结果图的肤色概率值;SkinProbability为肤色概率映射表;red为像素点的红色通道的颜色值;blue为像素点的蓝色通道的颜色值。
该孤立点消除处理步骤为:
a.建立边缘个数统计表,过程如下:建立一个数组pSumTable,并都初始化为0,数组的大小为(w+1)*(h+1);接着从第2行开始进行计算,并且每行计算时都是从第2列开始的(即第一行和第一列的数据都不用参与这个计算),每行从预设passSum=0开始赋值;
passSum=passSum+(pEdgeTable[j*(w+1)+i]&0x01);
pSumTable[j*(w+1)+i]=pSumTable[(j-1)*(w+1)+i]+passSum;
b.剔除不连续的点:设定一个大小为3x3的窗口,首先判断pEdgeTable当前像素点的值是否等于0,如果等于0,则继续遍历下一个像素点,否则执行下面操作:
计算pEdgeTable当前像素点为中心的所述窗口内其他像素的值;假设上为top,下为bottom,左为left,右为right,则
top=max(0,j-1);
bottom=min(h,j+2);
right=min(w,i+2);
left=max(0,i-1);
假设上一个搜索窗口内的Edge个数为preWinEdgeCount;当前搜索窗口内的Edge个数为curWinEdgeCount;
先计算上一个搜索窗口内的Edge个数:
p1=(w+1)*top+left;
p2=(w+1)*bottom+left;
offset=right-left;
preWinEdgeCount=pSumTable[p2+offset]+pSumTable[p1]-pSumTable[p2]-pSumTable[p1+offset];
接下来预设r=2,并做循环,直到r大于5则跳出循环,以下为循环的步骤:
计算当前搜索窗口内的Edge个数:
top=max(0,j-r);
bottom=min(h,j+r+1);
right=min(w,i+r+1);
left=max(0,i-r);
p1=(w+1)*top+left;
p2=(w+1)*bottom+left;
offset=right-left;
curWinEdgeCount=pSumTable[p2+offset]+pSumTable[p1]-pSumTable[p2]-pSumTable[p1+offset];
判断curWinEdgeCount-preWinEdgeCount是否小于2,如果小于的话,则认定为不连续的边缘,归为奇异点,将pEdgeTable在该像素点的值设为0;否则将preWinEdgeCount=curWinEdgeCount;
5)对梯度结果C进行高斯模糊处理,并做阈值处理;
高斯模糊是用正态分布计算图像中每个像素的变换:
G ( u , v ) = 1 2 &pi;&sigma; 2 e - ( u 2 + v 2 ) / ( 2 &sigma; 2 )
其中r是模糊半径,σ是正态分布的标准偏差,u是原像素点在x轴上的位置偏移值,v是原像素点在y轴上的位置偏移值;
阈值的公式为:如果大于等于阈值K2的话,则值设置为255,否则设置为0,;2取20;
6)根据灰度图像B进行区域表求和得到结果D;
结果D的数组大小为图片的宽w与图片的高h的乘积,假设为数组GraySumArea[w][h],先预设数组的所有值为0;
接着计算数组第一行的值,公式为:
GraySumArea[i][0]=GraySumArea[i-1][0]+grayi;
其中i从1开始直到w为止;grayi为坐标(i,0)上像素点的灰度值;
接着计算数组第一列的值,公式为:
GraySumArea[0][j]=GraySumArea[0][j-1]+grayj;
其中j从1开始到h为止;grayj为坐标为(0,j)上像素点的灰度值;
接着计算数组剩余的值,公式为:
GraySumArea[i][j]=grayij+GraySumArea[i][j-1]+GraySumArea[i-1][j]-GraySumArea[i-1][j-1];
其中i从1开始到w为止;j从1开始到h为止;grayij为坐标为(i,j)上像素点的灰度值;
7)根据结果D与梯度结果C对图像A里的斑点进行泊松方程处理,得到自动祛痘祛斑祛痣的最终效果;首先利用结果D进行判断每个像素点是否为斑点;判断规则为判断该像素点在结果D上的值与周围值的差值,判断差值是否小于R值,如果是的话,则不是斑点,继续遍历下一个像素;否则继续判断该像素点在梯度结果C上的值,如果大于T值,则不是斑点;否则是斑点;其中,R为200,T为128;
当该像素点为斑点时,则根据泊松方程Δφ=f对该点进行肤色值的进行融合计算;经过泊松方程处理后得到该像素点新的颜色值,得到自动祛痘祛斑祛痣的最终效果,在不影响头像肤色、毛发等细节的前提下,肉眼已经不可见其上的痣点。

Claims (4)

1.一种数字图像自动祛除斑点的方法,其特征在于:它包括以下步骤:
1)接收一数字图像A,对图像A进行灰度化处理,得到灰度图像B;该处理采用下列两式中的一个:
Gray=0.299*Red+0.587*Green+0.114*Blue;
Gray=(Red*306+Green*601+Blue*117+512)/1024;
其中,Gray为该灰度图像B各像素点的灰度值,Red、Green、Blue分别为图像A各像素点红、绿、蓝三个通道的颜色值;
2)对灰度图像B进行对比度增强处理,公式为:
nResult=nColor+(nColor-128)*(1.0+Contrast)/255;
其中,nResult表示对比度增强后的灰度值,nColor表示要进行对比度增强的灰度值,Contrast为对比度增强的强度,范围[0.0,1.0];
3)对灰度图像B进行梯度极大值查找,步骤如下:
首先用与灰度图像B里的逐个像素点进行卷积运算,然后将计算后的结果进行统计,并将统计结果保存到一个大小为256的数组里,根据统计结果的计算得到阈值K,根据阈值K对卷积运算后的结果进行阈值化处理,大于等于阈值K的设置为255,小于阈值K的设置为0,最终得到梯度结果C;
4)对梯度结果C先后进行皮肤排除与孤立点消除处理;
图片A的宽为w,图片的高为h;皮肤识别后的数据为pEdgeTable;i表示当前像素点的行数,j表示当前的列数;
皮肤排除的步骤:判断当前的像素点是否是皮肤;如果是皮肤的话,则将其所对应的梯度结果C上的值设置为255;
该孤立点消除处理步骤为:
a.建立边缘个数统计表,过程如下:建立一个数组pSumTable,并都初始化为0,数组的大小为(w+1)*(h+1);接着从第2行开始进行计算,并且每行计算时都是从第2列开始的(即第一行和第一列的数据都不用参与这个计算),每行从预设passSum=0开始赋值;
passSum=passSum+(pEdgeTable[j*(w+1)+i]&0x01);
pSumTable[j*(w+1)+i]=pSumTable[(j-1)*(w+1)+i]+passSum;
b.剔除不连续的点:设定一个大小为3x3的窗口,首先判断pEdgeTable当前像素点的值是否等于0,如果等于0,则继续遍历下一个像素点,否则执行下面操作:
计算pEdgeTable当前像素点为中心的所述窗口内其他像素的值;假设上为top,下为bottom,左为left,右为right,则
top=max(0,j-1);
bottom=min(h,j+2);
right=min(w,i+2);
left=max(0,i-1);
假设上一个搜索窗口内的Edge个数为preWinEdgeCount;当前搜索窗口内的Edge个数为curWinEdgeCount;
先计算上一个搜索窗口内的Edge个数:
p1=(w+1)*top+left;
p2=(w+1)*bottom+left;
offset=right-left;
preWinEdgeCount=pSumTable[p2+offset]+pSumTable[p1]-pSumTable[p2]-pSumTable[p1+offset];
接下来预设r=2,并做循环,直到r大于5则跳出循环,以下为循环的步骤:
计算当前搜索窗口内的Edge个数:
top=max(0,j-r);
bottom=min(h,j+r+1);
right=min(w,i+r+1);
left=max(0,i-r);
p1=(w+1)*top+left;
p2=(w+1)*bottom+left;
offset=right-left;
curWinEdgeCount=pSumTable[p2+offset]+pSumTable[p1]-pSumTable[p2]-pSumTable[p1+offset];
判断curWinEdgeCount-preWinEdgeCount是否小于2,如果小于的话,则认定为不连续的边缘,归为奇异点,将pEdgeTable在该像素点的值设为0;否则将preWinEdgeCount=curWinEdgeCount;
5)对梯度结果C进行高斯模糊处理,并做阈值处理;
高斯模糊是用正态分布计算图像中每个像素的变换:
其中r是模糊半径,σ是正态分布的标准偏差,u是原像素点在x轴上的位置偏移值,v是原像素点在y轴上的位置偏移值;
阈值的公式为:如果大于等于阈值K2的话,则值设置为255,否则设置为0,这边K2的范围[0,128];
6)根据灰度图像B进行区域表求和得到结果D;
结果D的数组大小为图片的宽w与图片的高h的乘积,假设为数组GraySumArea[w][h],先预设数组的所有值为0;
接着计算数组第一行的值,公式为:
GraySumArea[i][0]=GraySumArea[i-1][0]+grayi;
其中i从1开始直到w为止;grayi为坐标(i,0)上像素点的灰度值;
接着计算数组第一列的值,公式为:
GraySumArea[0][j]=GraySumArea[0][j-1]+grayj;
其中j从1开始到h为止;grayj为坐标为(0,j)上像素点的灰度值;
接着计算数组剩余的值,公式为:
GraySumArea[i][j]=grayij+GraySumArea[i][j-1]+GraySumArea[i-1][j]-GraySumArea[i-1][j-1];
其中i从1开始到w为止;j从1开始到h为止;grayij为坐标为(i,j)上像素点的灰度值;
7)根据结果D与梯度结果C对图像A里的斑点进行泊松方程处理,得到自动祛痘祛斑祛痣的最终效果;首先利用结果D进行判断每个像素点是否为斑点;判断规则为判断该像素点在结果D上的值与周围值的差值,判断差值是否小于R值,如果是的话,则不是斑点,继续遍历下一个像素;否则继续判断该像素点在梯度结果C上的值,如果大于T值,则不是斑点;否则是斑点;其中,R的范围为[64,220],T的范围为[64,192];
当该像素点为斑点时,则根据泊松方程Δφ=f对该点进行肤色值的进行融合计算;经过泊松方程处理后得到该像素点新的颜色值,得到自动祛痘祛斑祛痣的最终效果。
2.根据权利要求1所述一种数字图像自动祛除斑点的方法,其特征在于:所述步骤2)中,所述对比度增强的强度Contrast为0.15。
3.根据权利要求1所述一种数字图像自动祛除斑点的方法,其特征在于:所述步骤5)中的阈值K2设为20。
4.根据权利要求1所述一种数字图像自动祛除斑点的方法,其特征在于:所述步骤7)中R为200,T为128。
CN201310404195.1A 2013-09-06 2013-09-06 一种数字图像自动祛除斑点的方法 Active CN103440633B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310404195.1A CN103440633B (zh) 2013-09-06 2013-09-06 一种数字图像自动祛除斑点的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310404195.1A CN103440633B (zh) 2013-09-06 2013-09-06 一种数字图像自动祛除斑点的方法

Publications (2)

Publication Number Publication Date
CN103440633A CN103440633A (zh) 2013-12-11
CN103440633B true CN103440633B (zh) 2016-01-20

Family

ID=49694325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310404195.1A Active CN103440633B (zh) 2013-09-06 2013-09-06 一种数字图像自动祛除斑点的方法

Country Status (1)

Country Link
CN (1) CN103440633B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104732510B (zh) * 2013-12-23 2017-12-19 浙江大华技术股份有限公司 一种相机镜头黑斑检测方法及装置
CN104834429A (zh) * 2014-02-10 2015-08-12 联想(北京)有限公司 一种界面显示方法及电子设备
CN103929629B (zh) * 2014-04-24 2018-11-06 厦门美图网科技有限公司 一种基于图像主要颜色的图像处理方法
CN106296576B (zh) * 2016-08-05 2019-07-16 厦门美图之家科技有限公司 图像处理方法和图像处理装置
CN106875332A (zh) * 2017-01-23 2017-06-20 深圳市金立通信设备有限公司 一种图像处理方法及终端
CN109558878B (zh) * 2017-09-27 2022-11-22 北京国双科技有限公司 图像识别方法和装置
CN109345480B (zh) * 2018-09-28 2020-11-27 广州云从人工智能技术有限公司 一种基于图像修复模型的人脸自动去痘方法
CN109389562B (zh) * 2018-09-29 2022-11-08 深圳市商汤科技有限公司 图像修复方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101299267A (zh) * 2008-07-02 2008-11-05 北京中星微电子有限公司 一种人脸图像处理方法及装置
CN101916370A (zh) * 2010-08-31 2010-12-15 上海交通大学 人脸检测中非特征区域图像处理的方法
CN103268475A (zh) * 2013-05-10 2013-08-28 中科创达软件股份有限公司 一种基于人脸、肤色检测的皮肤美容方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101299267A (zh) * 2008-07-02 2008-11-05 北京中星微电子有限公司 一种人脸图像处理方法及装置
CN101916370A (zh) * 2010-08-31 2010-12-15 上海交通大学 人脸检测中非特征区域图像处理的方法
CN103268475A (zh) * 2013-05-10 2013-08-28 中科创达软件股份有限公司 一种基于人脸、肤色检测的皮肤美容方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于人脸识别的图像美化系统设计与实现;叶龙宝;《中国优秀硕士学位论文全文数据库信息科技辑 》;20120715;全文 *

Also Published As

Publication number Publication date
CN103440633A (zh) 2013-12-11

Similar Documents

Publication Publication Date Title
CN103440633B (zh) 一种数字图像自动祛除斑点的方法
KR102554724B1 (ko) 이미지 내 객체를 식별하기 위한 방법 및 상기 방법을 실행하기 위한 모바일 디바이스
CN104574285B (zh) 一种自动祛除图像黑眼圈的方法
US10509948B2 (en) Method and device for gesture recognition
CN104282002B (zh) 一种数字图像的快速美容方法
CN106326823B (zh) 一种获取图片中头像的方法和系统
CN104599297B (zh) 一种对人脸自动上腮红的图像处理方法
CN102521579B (zh) 一种基于二维平面摄像头推的动作识别方法及系统
CN105243371A (zh) 一种人脸美颜程度的检测方法、系统及拍摄终端
CN104331690B (zh) 一种基于单张图像的肤色人脸检测方法及系统
CN105260720B (zh) 指纹识别的方法及装置
CN106097354B (zh) 一种结合自适应高斯肤色检测和区域生长的手部图像分割方法
CN104679242A (zh) 基于单目视觉复杂背景下的手势分割方法
CN114612941B (zh) 一种基于掌静脉特征的多模式身份认证方法、装置及系统
CN104156643A (zh) 一种利用眼睛视线来实现密码输入的方法及其硬件装置
CN112712569B (zh) 一种肤色检测方法、装置、移动终端和存储介质
CN106651879A (zh) 一种指甲图像的提取方法及系统
CN109344706A (zh) 一种可单人操作的人体特殊姿势照片的获取方法
CN110363747A (zh) 智能化异常细胞判断方法、装置及计算机可读存储介质
CN104392211A (zh) 一种基于显著性检测的皮肤识别方法
CN109712095A (zh) 一种快速边缘保留的人脸美化方法
CN108345867A (zh) 面向智能家居场景的手势识别方法
CN101968849B (zh) 一种基于3g智能手机的图片去红眼方法
CN106097261A (zh) 图像处理方法和装置
CN113221606B (zh) 一种基于ims视频会议登录的人脸识别方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant