可以动用到类似于磨皮那序列型中,     2、用插件磨皮

     在1979年Lee公布的杂文《Lee Filter
Digital Image Enhancement and Noise Filtering by Use of Local
Statistics》中,提出了依照局地音信去除加性噪音、乘性噪音及加性乘性混合噪音的格局,经过细致的就学和编码,发现其去除加性噪音的法子效果越发好,具有当今部分EPF算法类似的边缘保留成效,并且其运算并不复杂,可以运用到接近于磨皮那连串型中。

   
 在几年前写的一篇关于BEEP的篇章时,我已经说过Beep的去噪成效可以用于磨皮,并且付诸了定论BEEP比可牛和美图等的功力要更为好,现在总的来说,那多少个结论真的是太为夸张和永恒了。不一样的人的审美观分化,同一个人在分裂时段审赏心悦目也会具备分裂,现在看来,我到时觉得可牛影象的含有肤质保留效果的磨皮越发自然,也尤为符合实际的情事。

  关于部分均方差有着比较普遍的利用,在自身博客的按照局部均方差相关音讯的图像去噪及其在实时磨皮美容算法中的应用选择一些标准差达成图像的部分比较度增强算法中都有谈及,即可以用于去噪也可以用来增长图像,但是一直统计其计算量较大,一般都是透过某种方式展开优化,典型的即因此积分图来处理:

   
 简单的算法描述如下,对于一幅N*M大小灰度图像,用710官方网站 1代表(i,j)地点处的像素值,那么在(2*n+1)*(2*m+1)窗口内部的有的平均值及一些均方差可代表为:

   
 在前段日子里,又随意的百度了下PS的磨皮教程,看到了好多的早已看过的例证,也来看了一部分及时反对的作品。其中就概括http://www.missyuan.com/thread-468975-1-1.html此地讲的流水线,因为观看其第二步为:

       
  710官方网站 2

               
  710官方网站 3

     2、用插件磨皮

       展开:

       及

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

                     710官方网站 4

           
 710官方网站 5

       
平湖老师或许用的NeatImage,我那里运用的是Portraiture,
把红框内的滑块都拉到最大。

                               
  710官方网站 6

       加性去噪后的结果为:

     
当时温馨从未有过NeatImage,也未设置Portraiture,所以对那么些课程就反对了。

                               
  710官方网站 7

         
 710官方网站 8

   
 当自身再也浏览此教程时,终于耐下心自己考试了下,
固然自己或者没有安装NeatImage和Portraiture,可是足以一直用PS自带的外表模糊来顶替,尽管功能会迥然分化,不过却不影响算法的大旨功能。事实再度说美素佳儿(Friso)(阿博特)个真理:别人讲一千遍好,不如自己都三回感受深。

                               
 710官方网站 9

   其中:

   
 那么那些课程的一个最保养的功力就是磨皮的同时保留了肤质,很相近于可牛影象的效果,而频仍的实践评释,可牛软件100%也是选择了接近的进程。

                               
 710官方网站 10

             
  710官方网站 11

   
 大家把越发教程的简便操作步骤列表如下:

                               
 710官方网站 12

     
 式(4)中σ为用户输入的参数。

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

                               
 710官方网站 13

     
 就是这么个大约的经过,能平滑图像但还要保证边缘基本不受影响,比如下图的结果:

     2、用插件对HighPass层磨皮;

                             
  710官方网站 14

 

   
 3、应用图像,形式接纳减去,缩放值为1,偏差128;

  上式中八个累积一个是平方积分图,一个是增加积分图,累加积分图在SSE图像算法优化连串六:OpenCv关于灰度积分图的SSE代码学习和革新中曾经谈及,而平方积分图由于数量范围的题目,用int类型的数目来处理的话,只好处理很小很小的图,因而要求使用浮点类型,经过测试,如若应用SSE指令,由于SSE的浮点计算精度实在是低,比FPU的还要低,积分图那种拉长性质的算法总结出来的结果会存在很大的误差,更加是在图像比较宽而半径相比较刻钟,会看到明明的失实结果,半径稍微大点时,也会有肯定竖条纹出现(小图像好像不会冒出哪些大问题),如下图所示:

710官方网站 15

   
 4、更改HighPass层混合方式为线性光,不透明度合适取值。

   
  710官方网站 16     
  710官方网站 17 
 710官方网站 18

       

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

         
  小半径                        
 大半径                    
合理的结果     

   
  那几个能够的人头让其能在图像磨皮方面发挥一定的职能。

  基本就像是此收工了,似乎并未怎么高深复杂的东西。

  因而,若是使用积分图,考虑种种别型的图像,最好是行使double类型保存中间的积分图数据,那是个很惊人的内存消耗,也会招致时间的扩充。

     
在来探视这些算法的频率怎么着。由地点的总结公式能够见见,其关键的统计量是一对均值以及均布均方差,均值的盘算优化措施很多,典型的比如累计积分图。而关于均布均方差的优化,推荐大家看那里:http://fiji.sc/Integral_Image_Filters,其焦点的推翻公式为:

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

  在SSE图像算法优化体系十三:超高速BoxBlur算法的兑现和优化(Opencv的进度的五倍)一文中,我们描述了Boxblur的优化,优化后的快慢即比传统的快,也占据很少的内存,大家着眼下BoxBlur的累加式:710官方网站 19 以及像素平方的累加式710官方网站 20,他们除理数据分歧外,其他并无本质的区分的,因而710官方网站 21也是可以使用类似于Boxblur的办法举办优化和处理的,那样上述算法就改成了2个那种累积算法的同步举办算法,并且同步举行可以减弱过多再一次数据的加载和拍卖,比单独开展四个经过实际上是要更节省时间的。

  

 
 710官方网站 22 
  710官方网站 23   
 710官方网站 24

  那么必要注意的时,由于710官方网站 25是对像素的平方进行添加,还考虑使用int类型来保存列累加值以及水平方向的累加值,那么理论上讲最大的平安半径能够完毕90(不会发出溢出),统计如下:

               
  710官方网站 26

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

    Sqrt(Int.MaxValue /
(Byte.MaxValue * Byte.MaxValue)) / 2 – 1 = Sqrt(2147483647 / 65025) / 2

        which expands to

 
 710官方网站 27   710官方网站 28  
 710官方网站 29   

  • 1 = 90

                   
 710官方网站 30

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

  对于部分均方差相关的算法来说,90的半径已经完全满意了实在的需求。

                               
  710官方网站 31

     
为了程序的落到实处,我们对各样步骤都开展相应的分析,为方便,我们只要原始图像层为Src层。

  使用SSE优化,实际测试表面,对于3000*2000的灰度图求取均方差几乎需求13ms(包含了最终的求sqrt进程的时刻,是一定快的)。

                               
  710官方网站 32

      (1)复制图层:
那个没啥好说的,无非是分配一个相同大小的内存,然后memcpy 函数复制
Src到HighPass层。

710官方网站,  此外,局地均方差是像素领域的值减去该领域的平均值的平方累积和,那样的结果在强边缘处均方差会特意精通,用于某法会并发边缘效应,如若大家对那些略带改造下,使用像素领域的值减病逝界的混淆值,在求累加值,会不会有啥样结果吗,此时一经平均值用y表示,则要求总括710官方网站 33以此值,同样的y就是上述的Boxblur的值,总括那几个的710官方网站 34优化措施和Boxblur又是平等的,一环套一环,当然那些时候的速度会比地方的慢一点,因而公共的乘除无法重新使用了,大约必要17ms。

                               
 710官方网站 35

          HighPass=
Copy(Src);

  更宽广的讲,仍能用上述方法计算任意两幅图像的有些平方差,速度和功能一样很高。比如计算原图和高斯模糊后的图的局地平法差,会博得怎么样结果吗?

                               
 710官方网站 36

     
(2)对HighPass层磨皮:那个算法可以选择:表面模糊、导向滤波、双边滤波、各向异性扩散、BEEP、局地均方差、Domain
transfer、 艾达(Ada)ptive Manifolds、 Local Laplacian
Filters等其它具有保边效果的EPF-Filter,那里不多说。

  使用那种艺术优化后,我以前提的磨皮算法针对1080P的图可以形成约20ms每帧,而且效果更加好,完全可以选拔到视频拍卖中。

                               
 710官方网站 37

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

  参考效用下载:https://files.cnblogs.com/files/Imageshop/SSE_Optimization_Demo.rar,见里面的Boxblur

                               
 710官方网站 38

     
(3)应用图像:那里的界面看起来如同很复杂,那代码是否很复杂呢,其实代码简单的万人传实,就是上面的总结公式:

  • >LeeAddtiveNoiseFilter 以及Enhance
    ->MakeUp和ImageInfo->Stdfilter等。

                             
  710官方网站 39

        HihgPass = HighPass – Src

 

       Both sums can be generated from
two Integral Images
over 710官方网站 40 and 710官方网站 41 respectively.

  • 128;

 

      
经过这么的推理,可以看看一些均方差也足以经过累计积分图飞速已毕,那样的结果是程序的功能和有些的半径参数非亲非故,由此,功能格外高。

           
看上去这么些公式是不是很熟练,不错,这些和高反差保留的算法是一模一样的,只是Photoshop内嵌的高反差保留用的是高斯模糊,这里用的是EPF滤波器而已。

     
 我个人在这么些的基础上,从编码角度更是开展了优化,对于一幅30W(500*600)像素的彩色图像处理时间约为20ms(I3的记录簿CPU)。

       (4)
从编程角度来说,要把上述进程的第四步和第五步交换顺序,否则会获得错误的结果,因而那里第四步是:

 

       HighPass =
GuassBlur(HighPass, Radius);

     
 上述公式是本着灰度图像举行的,对于周边的RGB彩色图,只要对R/G/B三大路分别开展处理就OK了。

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

 

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

     
 有了上述基础,经过个人的寻找,对于磨皮应用,那些算法的五个参数(1)半径可取:max(Src->Width,
Src->Height) * 0.02, 用户输入的σ可取10 + DenoiseLevel *
DenoiseLevel * 5,其中DenoiseLevel
为磨皮的程度参数,范围从1到10,越大磨皮越厉害。

     假定多少个相邻图层X和Y,X在凡间,Y在上面,X与Y混合,则X是本色,Y是混合色,X与Y混合得到的颜料是结果色Z,对于线性光混合方式,其统计公式为:

        

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

     
 正如我在篇章《 一种具有细节保留功效的磨皮算法 》中提议的平等,磨皮算法须求考虑眼睛头发等非肤色部位不被过度处理,一种不难的处理形式就是用越发简短的水彩判断来控制是每个像素点是还是不是为要求处理的地方,比如自己在实际的处理中就概括用了之类的法子:

     不透明度的总结公式就一发简易,要是Opacity表示Y的不透明度,则合成公式为:

           

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

     for (Y = 0; Y < Height; Y++)
    {
        LinePS = Src->Data + Y * Src->WidthStep;
        LinePD = Skin->Data + Y * Skin->WidthStep;
        for (X = 0; X < Width; X++)
        {
            if (LinePS[0] >20 && LinePS[1] > 40 && LinePS[2] > 50)  //    皮肤识别有很多算法,但没有一个能完美的包含所有的皮肤区域,我认为宁愿多处理一些非皮肤                                                                           区域,也比少处理更合理些
                LinePD[X] = 255;                                    //    为什么取这些数据,我只能告诉这些数据是前人的一些经验没有什么数学公式来推导和证明的
            LinePS += 3;            
        }
    }                                                               //    以上处理得到的是硬边界,直接使用会到底结果图有较为明显的痕迹,因此可使用模糊平滑下

     那么七个综合在同步的计算公式为:

   
 为了让识其余区域界线不是尤其生硬,要求对分辨区域拓展一定的拍卖,一般就是用羽化算法,标准的物化算法是高斯模糊,可是高斯模糊有浮点计算,一种替代格局就是用方框模糊来替代,实际上二种形式赢得的结果在视觉上是没有太多的区其他,不过方框模糊唯有整数运算,成效上会高很多。

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

   
 那样的辨识处理后,把拍卖后图和原图举办Alpha混合,那样即保留了磨皮的光润区域,又能担保头发等部位不被平滑掉。

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

        for (Y = 0; Y < Height; Y++)
        {
            LinePS = Src->Data + Y * Src->WidthStep;
            LinePD = Dest->Data + Y * Dest->WidthStep;
            LinePM = Mask->Data + Y * Mask->WidthStep;
            for (X = 0; X < Width; X++)
            {
                Alpha = LinePM[0]; 
                if (Alpha != 255)
                {
                    InvertAlpha = 255 - Alpha;                                         //    AlphaBlend的混合过程,使用DIV255来提高速度
                    LinePD[0] = Div255(LinePD[0] * Alpha + LinePS[0] * InvertAlpha);    //  Blue分量
                    LinePD[1] = Div255(LinePD[1] * Alpha + LinePS[1] * InvertAlpha);    //    Green分量    
                    LinePD[2] = Div255(LinePD[2] * Alpha + LinePS[2] * InvertAlpha);    //    Red分量
                }
                LinePS += 3;                                                            //    移动到下一个像素,24位                
                LinePD += 3;
                LinePM++;                                                               //    移动到下一个Mask值
            }
        }

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

   
 在处理完了后,从视觉角度考虑,全体图依然有点模糊,这些时候应该举办了适龄的锐化来增进图像的完整锐度,最合适的是USM锐化,可是USM锐化是根据高斯模糊的,因而又更加耗时,这一个时候可以设想用最简答的圈子锐化方式来处理,比如借助下边的卷积矩阵,就能得到正确的视觉效果。

   
 总的来说,这么些算法并不曾什么尤其复杂的地方,其根本的还原皮肤质感的步调是第四步的高斯模糊,那些模糊的半径一般越大,质感越强,不过太大,磨皮效果就从不了,由此,那里需求把握合适的度,一般半径在0.5-2里面相比较适当。

        -1   0    -1 

   
 至于为何用了这一个高斯模糊就足以过来图像的质感,我骨子里也是有些想法的,不过当下还不成熟,暂时不管他,知道结果而不管缘由局地时候也是一种幸福。 

        0     8    0      /     4 

   
 再来说说算法的参数问题啊,作为明天APP上美颜必备的那些意义,每个APP都梦想给用户呈现出更少的更傻瓜(智能)的参数,在本进程中,比如第二步,必然有那么些可选的参数配置:若是采用表面模糊,则须求规定半径及阈值;倘若选用导向滤波,则相似也亟需半径参数。怎样根据用户UI中的参数(比如磨皮程度)来规定相应的其中的参数,就要求针对每个分化的滤波器来做往往的调试和尝试,这些并无稳定的法则可听从。 

       -1     0    -1

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

   
 考虑到这些算法对种种像素的亮度值的更动并不是很大,对于彩色图像,纵然可以转移到其余的涵盖亮度分量的水彩空间后,只对亮度举行处理,然后在转换回来,应该对视觉的熏陶不大,那样去除颜色空间的转移时间,可以增强三倍的速度,是卓殊可观的,常见的蕴藏亮度的颜色空间有LAB,HSV,YUV,YCbCr等,其中YCbCr和RGB的转换公式非凡简单,没有浮点总计,对完全的效用影响不大,由此可以采用那几个空间。

   
 第五步的图层的不透明度参数也是一个道理,如果不透明度值越大,则图片全部的星点可能会偏多,偏小,那么图像又会过度模糊,也许取个50%是个科学的选取啊,或者自己根据拍卖的纹理图的某个目标做个算法更可以吗。

   
再者,经过实验,发现也能够把锐化操作放在对亮度处理这步,而不是放在最终,那样,锐化操作也只要求处理一个份量,同样能提升效能。

   
 算法速度方面实际上首要取决于第二步,也就是EPF滤波器,那么些就是个各显神通的好地方,不多言。

    贴出我处理的函数的流水线:

  其次就是高斯模糊的乘除,高斯模糊必然有浮点总计,那对于手机等任何硬件,可能是个硬伤。而只要用方框模糊或者线性模糊等代表,则设有一个题目就是混淆的小不点儿幅度即半径为1时,纹理恢复生机的效果都有点过,尤其是在我的次序中,高斯模糊的计量用了大半占了整个用时的1/3.

/// <summary>
/// 实现图像的磨皮。
/// <param name="Src">需要处理的源图像的数据结构。</param>
/// <param name="Dest">需要处理的源图像的数据结构。</param>
/// <param name="DenoiseMethod">磨皮的算法,0为双边磨皮,1为均方差磨皮。</param>
/// <param name="DenoiseLevel">磨皮的程度,有效范围[1,10],数据越大,磨皮越明显。</param>
/// <param name="WhiteMethod">美白的算法,0为Log曲线美白,1为色彩平衡磨皮。</param>
/// <param name="NonSkinLevel">美白的程度,有效范围[1,10],数据越大,美白越明显。</param>
///    <remarks>原图、目标图必须都是24位的。</remarks>
IS_RET __stdcall SkinBeautification(TMatrix *Src, TMatrix *Dest, int DenoiseLevel, int WhiteMethod, int WhiteLevel)
{
    if (Src == NULL || Dest == NULL) return IS_RET_ERR_NULLREFERENCE;
    if (Src->Data == NULL || Dest->Data == NULL) return IS_RET_ERR_NULLREFERENCE;
    if (Src->Width != Dest->Width || Src->Height != Dest->Height || Src->Channel != Dest->Channel || Src->Depth != Dest->Depth) return IS_RET_ERR_PARAMISMATCH;
    if (Src->Channel != 3) return IS_RET_ERR_NOTSUPPORTED;
    if ((DenoiseLevel < 1 || DenoiseLevel > 10)) return IS_RET_ERR_ARGUMENTOUTOFRANGE;
    if ((WhiteMethod != 0 && WhiteMethod != 1) || (WhiteLevel < 1 || WhiteLevel > 10)) return IS_RET_ERR_ARGUMENTOUTOFRANGE;

    IS_RET Ret = IS_RET_OK;

    TMatrix *Skin = NULL, *Y = NULL, *Cb = NULL, *Cr = NULL, *YY = NULL;
    unsigned char *Table = (unsigned char *)IS_AllocMemory(256, true);        
    Ret = IS_CreateMatrix(Src->Width, Src->Height, Src->Depth, 1, &Skin);                //    分配皮肤区域的内存
    if (Ret != IS_RET_OK) goto Done;

    Ret = IS_CreateMatrix(Src->Width, Src->Height, Src->Depth, 1, &Y);
    if (Ret != IS_RET_OK) goto Done;

    Ret = IS_CreateMatrix(Src->Width, Src->Height, Src->Depth, 1, &Cb);
    if (Ret != IS_RET_OK) goto Done;

    Ret = IS_CreateMatrix(Src->Width, Src->Height, Src->Depth, 1, &Cr);
    if (Ret != IS_RET_OK) goto Done;

    Ret = IS_CreateMatrix(Src->Width, Src->Height, Src->Depth, 1, &YY);
    if (Ret != IS_RET_OK) goto Done;

    Ret = RGBToYCbCr(Src, Y, Cb, Cr);                                                             // 第一步: 将RGB转换到YCbCr空间
    if (Ret != IS_RET_OK) goto Done;

    int SpaceError = 10 + DenoiseLevel * DenoiseLevel * 5;

    Ret = LeeAdditvieNoiseFilter(Y, YY, max(Src->Width, Src->Height) * 0.02, SpaceError);        //    第二步:对Y分量进行加性噪音的去除
    if (Ret != IS_RET_OK)  goto Done;

    Ret = Sharpen(YY, YY);                                                                       //    第三步:对处理后的Y分量进行锐化
    if (Ret != IS_RET_OK)  goto Done;

    YCbCrToRGB(YY, Cb, Cr, Dest);                                                                //    第四步:将图像从YCbCr空间转换会RGB空间

    if (WhiteMethod == 0)
    {
        for (int V = 0; V < 256; V++)
        {
            //  Table[V] = .........
        }
    }
    else if (WhiteMethod == 1)
    {
        for(int V = 0; V < 256; V++)
        {
            //  Table[V] = ............
        }
    }

    Ret = Curve(Dest, Dest, Table, Table, Table);                              //    第五步:在RGB空间对磨皮后的图进行美白处理
    if (Ret != IS_RET_OK)  goto Done;

    Ret = GetRawSkinRegion(Src, Skin);                                         //    第六步:分析图像大概的皮肤区域
    if (Ret != IS_RET_OK)  goto Done;

    Ret = BlendImageWithMask(Src, Dest, Skin);                                 //    第七步:对全局磨皮、美白后的图和原始图按照属于皮肤区域的程度进行混合
    if (Ret != IS_RET_OK)  goto Done;

Done:;
    IS_FreeMatrix(&Skin);                                                      //    注意释放内存
    IS_FreeMatrix(&Y);
    IS_FreeMatrix(&Cb);
    IS_FreeMatrix(&Cr);
    IS_FreeMatrix(&YY);
    IS_FreeMemory(Table);
    return IS_RET_OK;
}

   
 假使看下那么些的流水线,可以认为美图里的其他一个磨皮算法都只是举办了该流程的第二步就终止了,如果她在加上后续的处理,也必将能有和可牛类似的职能。

   第五步的美白处理借使放在对亮度分量的处理进程中,图像全体会所有偏色,就如有一种肤色红润的效率,可是对一些图像会倍感颜色不自然。

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

     
各部分耗时比例见下图,测试图像大小是500*600。

   
 我用的根据局部均方差的磨皮方式外加锐化等经过的耗时本着地点第二幅所谓的仙人平均耗时约
35ms(基于表面模糊),25ms(基于均方差);

序号

函数名

用时(ms)

百分比(%)

备注

1

RGBToYCbCr

2

10

 

2

LeeAdditvieNoiseFilter

7

35

 

3

Sharpen

2

10

 

4

YCbCrToRGB

2

10

 

5

Curve

1

5

 

6

GetRawSkinRegion

4

20

 

7

BlendImageWithMask

2

10

 

8

合计

20

100

 

   
 而可牛或者美图我推断感觉了,至少要有1000ms左右。

 

  那么看似的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);

 

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

       

  710官方网站 42  710官方网站 43

      

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

 

  710官方网站 44 
 710官方网站 45

 

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

       

 
 可以看来,本文的职能和可牛的可怜接近,可以印证可牛也拔取的该算法。

 

   
 附上一个比照所谓平湖法的流水线的做的一个测试程序:   仿可牛磨皮特效.rar

 

710官方网站 46

 

 

 

710官方网站 47

 

 

 

****************************作者:
laviewpbt   时间: 2015.8.6    联系QQ:  33184777
转发请保留本行消息**********************

     

 

 

    各样功效比较如下:

710官方网站 48 
      710官方网站 49

                                         
      原图                                
                                    磨皮后的图

710官方网站 50 
      710官方网站 51

                                 
删除第三步后的图                                                        
                                                     
 删除第六第七步后的图

 

  那么些算法最大的亮点是所有经过的其余函数都并未浮点计算,那对于一些硬件来说是很要紧的,不过一个败笔是优化后的算法不可能相互,在本人的I3台式机电脑上30W的像素处理时间20ms,完全能兑现实时效果。

   
 有趣味的心上人可按照本人的讲述自己落成,测试程序: 连忙磨皮

     可调参数如下界面所示:

710官方网站 52

 

710官方网站 53

 

 

****************************小编:
laviewpbt   时间: 2015.7.27    联系QQ:  33184777
转载请保留本行音信**********************

 

相关文章