回顾研讨可牛印象软件中负有肤质量保证留成效的磨皮算法及其实现细节,完美的保留皮肤材料磨皮法

   
 在几年前写的一篇有关BEEP的稿辰时,笔者曾经说过Beep的去噪功用能够用来磨皮,并且付诸了定论BEEP比可牛和美图等的效劳要越发好,今后看来,那多少个结论真的是太为夸张和一定了。差异的人的审雅观分化,同壹位在分化时段审美观也会持有出入,未来总的来说,笔者到时以为可牛影象的含有肤质量保证留效果的磨皮越发自然,也愈发符合实际的动静。

那些磨皮方法是平湖教授发明的,为多谢他的成立,提出把此措施称为平湖法。

   
 在前段日子里,又专断的百度了下PS的磨皮教程,看到了诸多的已经看过的例证,也看看了一些当即反对的小说。个中就包蕴http://www.missyuan.com/thread-468975-1-1.html此间讲的流水生产线,因为观望其第2步为:

先请欣赏平湖先生的创作:

     2、用插件磨皮

这是原图

       
这一步很重点,直接影响最终效果,磨光一些,不要担心纹理。

图片 1

       
平湖教育工小编恐怕用的NeatImage,小编那边运用的是Portraiture,
把红框内的滑块都拉到最大。

那是效果图

     
当时友好从没NeatImage,也未设置Portraiture,所以对那些科目就不予了。

图片 2

   
 当小编重新浏览此教程时,终于耐下心自身考试了下,
就算小编要么尚未设置NeatImage和Portraiture,可是能够直接用PS自带的外表模糊来替代,即使效果会迥然差别,不过却不影响算法的主干职能。事实再也印证一个真理:外人讲一千遍好,不及本身都一遍感受深。

今后自小编也许用高低频磨皮示例那张图来演示平湖法磨皮。

   
 那么这么些科目标一个最首要的作用就是磨皮的还要保留了肤质,很接近于可牛印象的功效,而频仍的实践表明,可牛软件百分之百也是利用了看似的历程。

请看原图:

   
 大家把格外教程的简练操作步骤列表如下:

图片 3

  一、复制1个图层,大家定义改层名称叫HighPass

一、打开图像,复制图层

     二、用插件对HighPass层磨皮;

图片 4

   
 3、应用图像,形式选用减去,缩放值为壹,偏差128;

二、用插件磨皮 这一步很关键,间接影响最终效果,磨光1些,不要操心纹理。
平湖老师只怕用的NeatImage滤镜,小编那边运用的是Portraiture滤镜,
把红框内的滑块都拉到最大。

   
 肆、更改HighPass层混合格局为线性光,不反射率合适取值。

图片 5

   
 5、对HighPass层实行高斯模糊,模糊半径0.5-二左右。

试过其余磨皮方法,效果差1些,提议就用地方的多个滤镜插件之一。

  基本就这么收工了,就如从未什么样高深复杂的东西。

3、那张图色素斑点严重,扩展一步去色素斑点。
不管你用哪些情势,去掉色素斑点就行。比如,小编用高斯模糊+历史记录画笔
这一步不是必需的,色素斑点不严重,就不必去了。 高斯歪曲

 
 至于效果:大家用几幅实际的图像来测试下(第三步用外表模糊来取代)。

图片 6

 
 图片 7 
  图片 8   
 图片 9

历史记录画笔

              
 原图                          去斑供给的纹路图                结果图(表面模糊参数半径=十,阈值=1陆)

图片 10

 
 图片 11   图片 12  
 图片 13   

4、应用图像

       
             原图                                        去斑需求的纹路图                          结果图(表面模糊参数半径=10,阈值=50)

图片 14

     
为了程序的完成,大家对各种步骤都开始展览对应的辨析,为方便,大家假设原始图像层为Src层。

请留心设置:

      (一)复制图层:
那个没啥好说的,无非是分配三个同等大小的内部存款和储蓄器,然后memcpy 函数复制
Src到HighPass层。

图片 15

          HighPass=
Copy(Src);

五、更改混合方式为线性光

     
(二)对HighPass层磨皮:这一个算法能够挑选:表面模糊、导向滤波、双边滤波、各向异性扩散、BEEP、局地均方差、Domain
transfer、 Adaptive Manifolds、 Local Laplacian
Filters等其余拥有保边效果的EPF-Filter,那里不多说。

图片 16

         表明式为:  HighPass =
EPF-Filter(HighPass);

6、今后把不反射率滑块渐渐向左拉,到色斑刚好未有殆尽

     
(叁)应用图像:这里的界面看起来就如很复杂,那代码是否很复杂呢,其实代码简单的三告投杼,就是下边的总括公式:

图片 17

        HihgPass = HighPass – Src

7、高斯模糊 奇迹出现了,被磨掉的细节、纹理又回涨了!
仔细调节模糊半径,以细节、纹理满意为度,提出0.五~三

  • 128;

图片 18

           
看上去那一个公式是否很通晓,不错,这些和高反差保留的算法是1模壹样的,只是Photoshop内嵌的高反差保留用的是高斯模糊,那里用的是EPF滤波器而已。

八、磨皮到此形成。
当然,图像还要继续精细调整,调法本示例就不赘述了,看看最终效果:

       (四)
从编程角度来说,要把上述进度的第六步和第六步交流顺序,不然会取得错误的结果,由此那里第陆步是:

图片 19

       HighPass =
GuassBlur(HighPass, Radius);

    当中Radius为高斯模糊的半径。

        (5) 举办图层混合:
线性光混合的总计公式也很粗大略:

     假定七个相邻图层X和Y,X在下方,Y在上头,X与Y混合,则X是本色,Y是混合色,X与Y混合获得的水彩是结果色Z,对于线性光混合情势,其计算公式为:

          Z = X + 2 * Y –
25陆;    (原先认为是  – 25伍,后用PS CS6验证是 – 25陆)

     不发光度的总计公式就一发不难,如若Opacity代表Y的不光滑度,则合成公式为:

           Z = (X * (100-
Opacity) + Y * Opacity ) / 100;

     那么三个综合在一起的总括公式为:

          Z =  (X * (100-
Opacity) + (X + 2 * Y – 256)* Opacity ) / 100;

     
综合上述四个步骤,最终的总结公式即为:

      Dest =(Src * (100 – Opacity) + (Src + 2 * GuassBlur(EPFFilter(Src) – Src + 128) – 256) * Opacity) /100
;

   
 总的来说,那个算法并不曾什么尤其复杂的地点,其利害攸关的东山再起皮肤材质的手续是第五步的高斯模糊,那些模糊的半径一般越大,材质越强,不过太大,磨皮效果就从不了,因而,那里须要把握合适的度,一般半径在0.伍-二里头相比合适。

   
 至于为啥用了这么些高斯模糊就能够过来图像的质地,作者骨子里也是某个想法的,不过当下还不成熟,一时不管他,知道结果而不管缘由局地时候也是一种幸福。 

   
 再来说说算法的参数难题啊,作为明日APP上美颜必备的这几个效果,每种APP都希望给用户展现出更少的更傻瓜(智能)的参数,在本进程中,比如第3步,必然有成都百货上千可选的参数配置:假使选用表面模糊,则须求规定半径及阈值;要是运用导向滤波,则1般也急需半径参数。怎样依据用户UI中的参数(比如磨皮程度)来规定相应的内部的参数,就要求针对各类分化的滤波器来做往往的调节和测试和试验,那几个并无一定的法则可依据。 

   
 再如第叁步应用图像中常数12捌,其实也不自然是个定值,假如把他调大,则处理后的图像全部偏亮,调小则图像偏暗。

   
 第六步的图层的不折射率参数也是二个道理,假如不反射率值越大,则图片全体的斑点大概会偏多,偏小,那么图像又会超负荷模糊,只怕取个3/6是个不利的挑3拣肆啊,可能本人依据拍卖的纹理图的某些目标做个算法更好呢。

   
 算法速度方面实际首要在于第1步,也正是EPF滤波器,这些就是个各显神通的好地方,不多言。

  其次就是高斯模糊的乘除,高斯模糊必然有浮点计算,那对于手提式有线电话机等别的硬件,大概是个硬伤。而只要用方框模糊可能线性模糊等代表,则存在贰个题目就是歪曲的矮大幅即半径为1时,纹理苏醒的机能都有点过,尤其是在小编的次序中,高斯模糊的计量用了大半占了整套用时的1/3.

   
 如若看下那个的流程,能够认为美图里的别样三个磨皮算法都只是进展了该流程的第3步就结束了,若是她在拉长后续的拍卖,也必将能有和可牛类似的意义。

   
 最终鄙视下可牛和美图程序的磨皮算法的速度吗(小编指的是PC上先后的快慢):

   
 作者用的遵照局部均方差的磨皮格局外加锐化等进度的耗费时间本着地点第3幅所谓的淑女平均耗费时间约
3伍ms(基于表面模糊),25ms(基于均方差);

   
 而可牛可能美图作者估量感觉了,至少要有一千ms左右。

  那么看似的PS教程比如此处:http://www.psjia.com/photoshop/photops/2012/0106/3891.html 的马上几个进度算法其实也很不难,并且也拥有一定不错的坚守,而一旦从贯彻上记挂也就若是一下多少个经过:

Invert(Src, Dest);
HighPass(Dest, Dest, 10);
GuassBlur(Dest, Dest, 1);
BlendImage(Src, Dest, Dest, BlendMode::Overlay, 255);

  最终我们来比较下可牛、美图、本文的拍卖功用:

  图片 20  图片 21

                  原图                                   美图秀秀的智能模糊
程度深

  图片 22 
 图片 23

            可牛的磨皮
力度5                                   本文的磨皮效果

 
 能够见见,本文的效应和可牛的十二分周围,能够证实可牛也使用的该算法。

   
 附上三个坚守所谓平湖法的流水生产线的做的三个测试程序:   仿可牛磨皮特效.rar

图片 24

 

图片 25

 

****************************小编:
laviewpbt   时间: 201伍.八.6    联系QQ:  33184777转发请保留本行新闻**********************