必赢亚洲手机app下载


10高分辨率模糊

社会思想哲思录07自我辩解与体会不调和必赢亚洲手机app

一文中图像去雾算法的原理必赢亚洲手机app

      最新的法力见
http://video.sina.com.cn/v/b/124538950-1254492273.html
 

     
可处理录像的演示:录像去雾效果

   
 在图像去雾这多少个世界,几乎向来不人不知底《Single Image Haze Removal Using
Dark Channel
Prior
》这篇著作,该文是二零零六年CVPR最佳杂谈。作者何凯明学士,二〇〇七年浙大大学毕业,二零一一年香港(Hong Kong)中文大学大学生毕业,可谓是功力深厚,惊讶于国内部分所谓大学生的水准,何这样的硕士才足以真正称之为Doctor。

    
关于何学士的一部分材料和杂谈,我们可以访问这里:http://research.microsoft.com/en-us/um/people/kahe/

    
最起始接触何的这篇随笔是在二〇一一年,说其实的非凡时候,只是随便浏览了下,看到其中的soft
matting过程相比较复杂,并且实施进度相当慢,就一贯不什么样大的趣味。近来又奇迹拾起,仔细研读,觉得杂谈的推理步骤特别明晰,讲解很到位。恰好适逢浏览到其其余一篇作品《Guided
Image
Filtering
》 ,其中提到了足以用导向滤波来代表soft
matting的进程,且速度高速,因而,我对去雾的趣味算法又大大提高了。
 

     本文紧要上是对《Single Image Haze
Removal Using Dark Channel
Prior》的翻译、整理、及部分解释。假使你的英文水准好,指出看原稿可能来的更爽些。

    一、杂谈思想的粗略描述 

     首先看望暗通道先验是咋样:

      
在多数非天空的一部分区域里,某有些像素总会有至少一个颜料通道具有很低的值。换言之,该区域光强度的最小值是个很小的数。

  咱们给暗通道一个数学概念,对于随意的输入图像J,其暗通道可以用下式表明:

                                   必赢亚洲手机app 1 

      式中Jc意味着彩色图像的每个通道 ,Ω(x)表示以像素X为主旨的一个窗口。 

   
式(5)的意思用代码表明也很简短,首先求出每个像素RGB分量中的最小值,存入一副和原来图像大小相同的灰度图中,然后再对这幅灰度图举办小小的值滤波,滤波的半径由窗口大小决定,一般有WindowSize
= 2 * Radius + 1;          

      暗通道先验的论战提议:

                                                           
必赢亚洲手机app 2           

     实际生活中造成暗原色中低通道值首要有多少个因素:a)汽车、建筑物和城市中玻璃窗户的阴影,或者是树叶、树与岩石等当然山水的黑影;b)色彩鲜艳的实体或外部,在RGB的两个通道中多少通道的值很低(比如红色的草地/树/植物,绿色或肉色的繁花/叶子,或者黑色的水面);c)颜色较暗的物体或者表面,例如灰暗色的树枝和石块。总而言之,自然风景中处处都是影子或者彩色,那么些景点的图像的暗原色总是很惨淡的。

     
我们抛开杂文中罗列的那个例子,自己从网上找几幅没有雾的风景照,看看结果如下:

   必赢亚洲手机app 3    
必赢亚洲手机app 4

   必赢亚洲手机app 5    
必赢亚洲手机app 6

   必赢亚洲手机app 7    
必赢亚洲手机app 8

                     
一些无雾的图片                                                                               
  其暗通道

在探视一些有雾的图的暗通道:

   必赢亚洲手机app 9  
必赢亚洲手机app 10

   必赢亚洲手机app 11  
必赢亚洲手机app 12

          一些有雾的图样                                                                              
   其暗通道

  上述暗通道图像均接纳的窗口大小为15*15,即最小值滤波的半径为7像素。

     
由上述几幅图像,可以肯定的看看暗通道先验理论的普遍性。在作者的杂文中,总括了5000多副图像的特性,也都基本吻合这多少个先验,因而,大家可以认为实际一条定律。

     
有了这一个先验,接着就需要举办部分数学方面的推理来最终化解问题。

  首先,在电脑视觉和统计机图形中,下述方程所讲述的雾图形成模型被大面积选取:

                                                  
必赢亚洲手机app 13

 
 其中,I(X)就是我们现在已经部分图像(待去雾的图像),J(x)是大家要回升的无雾的图像,A是天下大气光成分,
t(x)为透射率。现在的已知条件就是I(X),要求目的值J(x),彰着,这是个有那一个解的方程,由此,就需要有的先验了。

  将式(1)稍作处理,变形为下式:

                                                   
必赢亚洲手机app 14

   
如上所述,上标C表示R/G/B多个通道的意趣。

   
首先假使在每一个窗口内透射率t(x)为常数,定义他为必赢亚洲手机app 15,并且A值已经给定,然后对式(7)两边求一次最小值运算,拿到下式:

                                 
必赢亚洲手机app 16

   
上式中,J是待求的无雾的图像,依照前述的暗原色先验理论有:

                                              
必赢亚洲手机app 17

     因而,可推导出:

                                                        
必赢亚洲手机app 18

   
把式(10)带入式(8)中,得到:

                                                 必赢亚洲手机app 19

    那就是透射率必赢亚洲手机app 20的预估值。

   
在现实生活中,即便是晴天白云,空气中也设有着部分颗粒,因而,看远处的物体还是可以感觉到雾的震慑,此外,雾的留存令人类感到景深的存在,由此,有必不可少在去雾的时候保留一定程度的雾,这可以透过在式(11)中引入一个在[0,1]
之间的因子,则式(11)修正为:

                                              
必赢亚洲手机app 21

     本文中持有的测试结果依赖于: 
ω=0.95。

    
上述推论中都是只要全球达气光A值时已知的,在其实中,我们可以依靠暗通道图来从有雾图像中拿走该值。具体步骤如下:

      1)
从暗通道图中遵从亮度的高低取前0.1%的像素。

          2)
在那么些岗位中,在原来有雾图像I中找寻对应的有所最高亮度的点的值,作为A值。

    
到这一步,大家就可以举办无雾图像的回升了。由式(1)可知:  J = ( I –
A)/t + A  

     现在I,A,t都已经求得了,因而,完全可以开展J的盘算。

     当投射图t
的值很刻钟,会招致J的值偏大,从而使淂图像全部向白场过度,由此一般可安装一阈值T0,当t值小于T0时,令t=T0,本文中有所效率图均以T0=0.1为正式计量。

     由此,最终的回复公式如下:

                              
 必赢亚洲手机app 22

    
当直接用上述申辩举办复原时,去雾的功力实在也是很肯定的,比如下面一些例证:

   必赢亚洲手机app 23   
必赢亚洲手机app 24

   必赢亚洲手机app 25  
 必赢亚洲手机app 26

                
有雾图                                           
 去雾图

      注意到第一幅图的原图四个字的周围彰着有一块不协调的地点,而第二图顶部水平方向似乎有一块没有开展去雾处理,这一个都是出于大家的透射率图过于粗糙了。

     
要拿走进一步精致的透射率图,何学士在著作中提议了解soft
matting方法,能得到充分细致的结果。可是她的一个沉重的瑕疵就是速度特慢,不接纳于实际运用。在二〇一一年,何学士又除了一片杂文,其中提到了导向滤波的方法来赢得较好的透射率图。该措施的重要过程集中于简单的方框模糊,而方框模糊有多重和半径无关的全速算法。由此,算法的实用性特强,关于这些导向滤波算法我们在何大学生的网站可以自己去研习下,除了在去雾方面外,还拥有别样多地方的运用,这有些本文不多述。

     使用了导向滤波后的去雾效果:

  必赢亚洲手机app 27  
必赢亚洲手机app 28

  必赢亚洲手机app 29  
必赢亚洲手机app 30 

         
  使用原有的预估透射率图                               
 使用导向滤波后的透射率图

  必赢亚洲手机app 31   
必赢亚洲手机app 32

               (a)
原图                               
  (b)  去雾结果图

  必赢亚洲手机app 33    必赢亚洲手机app 34

                (c)   
暗通道图                          (d) 导向图
(原始图像的灰度图)

  必赢亚洲手机app 35  
 必赢亚洲手机app 36

                (e) 
 预估透射率图                       (f)   使用导向滤波后的透射率图

  二、各参数对去雾结果的震慑

  第一:窗口的大大小小。这一个对结果来说是个第一的参数,窗口越大,其涵盖暗通道的票房价值越大,暗通道也就越黑。大家不去从理论角度分析,从推行的效率来看,似乎窗口越大,去雾的职能越不明了,如下图所示:

   必赢亚洲手机app 37   
 必赢亚洲手机app 38

                              (a)
原始图像                            (b)
窗口大小=11

   必赢亚洲手机app 39  
必赢亚洲手机app 40

              (c)
窗口大小=21                         (d)
窗口大小=101 

  我的提议是窗口大小在11-51期间,即半径在5-25中间。

    
式(12)中的ω具有着显然的意义,其值越小,去雾效果越不肯定,举例如下:

  
必赢亚洲手机app 41   必赢亚洲手机app 42

                                    (a)
原始图像                                  
(b)    ω=0.5         

  
必赢亚洲手机app 43   必赢亚洲手机app 44    

                                       (c)   
ω=0.8                                                                  
    (d)    ω=1 

    三:编码的步子

  若是你仔细的辨析了初稿的细路,加上适量的参照,编码其实并不是很劳碌。

  1)按照原有图像求暗通道,参考代码如下:

    for (Y = 0, DarkPt = DarkChannel; Y < Height; Y++)
    {
        ImgPt = Scan0 + Y * Stride;
        for (X = 0; X < Width; X++)
        {
            Min = *ImgPt;
            if (Min > *(ImgPt + 1)) Min = *(ImgPt + 1);
            if (Min > *(ImgPt + 2)) Min = *(ImgPt + 2);
            *DarkPt = Min;
            ImgPt += 3;
            DarkPt++;
        }
    }

    MinFilter(DarkChannel, Width, Height, Radius);

    这里需要专注的是MinFilter算法的便捷实现,提供一篇杂谈供有需要的仇敌学习:STREAMING
MAXIMUM-MINIMUM FILTER USING NO MORE THAN THREE COMPARISONS PER
ELEMENT
 。这一个算法的刻钟复杂度是O(1)的。

     
2)按文中所描述的算法自动拿到全球大气光的值。

     这里表达某些,原始杂谈中的A最后是取原始像素中的某一个点的像素,我骨子里是取的符合条件的所有点的平均值作为A的值,我这样做是因为,淌要是取一个点,则各通道的A值很有可能整个很类似255,这样的话会促成处理后的图像偏色和产出大量色斑。原文作者说这么些算法对天空部分不需特备处理,我实在发现该算法对有天上的图像的意义一般都欠好。天空会现出分明的过渡区域。作为化解方案,我扩张了一个参数,最大环球大气光值,当统计的值超越该值时,则就取该值。
 

    必赢亚洲手机app 45  
必赢亚洲手机app 46  
 必赢亚洲手机app 47

                       
原图                                                        
未对A值做限定                  最大A值限定为220

       3)
按式(12)统计预估的透射率图。

  在式(12)中,每个通道的数量都急需除以对应的A值,即归一化,这样做,还存在一个题材,由于A的选项过程,并不可能确保每个像素分量值除以A值后都自愧不如1,从而导致t的值可能小于0,而那是不容许的,原文作者并不曾交代这或多或少是怎么处理的。我在实际上的编码中发觉,尽管确实这么做了,其效率也并不是很理想 ,由此,我最终的法门是在式(12)中,不考虑A的计量。

        4)总计导向滤波图。

  
这里可以一直用原始的图像做导向图,当然也得以用其灰度图,不过用RGB导向图在下一步的精打细算中会占用相比较大的日子。

        5)按照《Guided Image
Filtering
》小说中的公式(5)、(6)、(8)编码总结拿到迷你的透射率图。

    网络上有这么些算法的
matlab代码可下载的,这里贴部分代码:

  function q = guidedfilter(I, p, r, eps)
  %   GUIDEDFILTER   O(1) time implementation of guided filter.
  %
  %   - guidance image: I (should be a gray-scale/single channel image)
  %   - filtering input image: p (should be a gray-scale/single channel image)
  %   - local window radius: r
  %   - regularization parameter: eps

  [hei, wid] = size(I);
  N = boxfilter(ones(hei, wid), r); % the size of each local patch; N=(2r+1)^2 except for boundary pixels.

  % imwrite(uint8(N), 'N.jpg');
  % figure,imshow(N,[]),title('N');
  

  mean_I = boxfilter(I, r) ./ N;
  mean_p = boxfilter(p, r) ./ N;
  mean_Ip = boxfilter(I.*p, r) ./ N;
  cov_Ip = mean_Ip - mean_I .* mean_p; % this is the covariance of (I, p) in each local patch.

  mean_II = boxfilter(I.*I, r) ./ N;
  var_I = mean_II - mean_I .* mean_I;

  a = cov_Ip ./ (var_I + eps); % Eqn. (5) in the paper;
  b = mean_p - a .* mean_I; % Eqn. (6) in the paper;

  mean_a = boxfilter(a, r) ./ N;
  mean_b = boxfilter(b, r) ./ N;

  q = mean_a .* I + mean_b; % Eqn. (8) in the paper;
  end

      
由地方的代码,可见,紧要的工作量在均值模糊上,而均值模糊是个很飞速的算法,关于均值模糊的优化可参看我在此以前的篇章:彩色图像高速模糊之懒惰算法。

      还有某些就是,上述总计需要在[0,1]限制内开展,也就是说导向图和预估的透射率图都不可能不从[0,255]先映射到[0,1]在进行测算。

     
关于guidedfilter中的半径r值,因为在前方举办小小的值后暗通道的图像成一块一块的,为了使透射率图更加精致,提出这些r的取值不低于举办小小的值滤波的半径的4倍,如下图所示:

   
必赢亚洲手机app 48    
必赢亚洲手机app 49

          (a) 
r=最小值滤波半径的2倍
                       (b) r=最小值滤波半径的8倍

      可以观察,当r比较小的时候,在透射率图中着力看不到什么细节音信,由此復苏处的图像边缘处不显然。

     
参数eps的取值也具有侧重,他重点是为着制止总计中除以0的不当以及为了使得一些统计结果未必过大,一般提议取值0.001或者更小。

     
如若利用的印花RGB图做导向图,总结时间上会扩展很多,所的到的透射率图的边缘会比灰度图所拍卖的保留了更多的底细,效果上略微比灰度图好,如下所示:

    
必赢亚洲手机app 50  
 必赢亚洲手机app 51

              (a)
原图                                                                               
    (b)预估的透射率图

    
必赢亚洲手机app 52   
必赢亚洲手机app 53

                      
(c)使用灰度图为导向图得到的透射率图                      
    (d)使用RGB图为导向图得到的透射率图

     必赢亚洲手机app 54   
必赢亚洲手机app 55

           (e)灰度图为导向图对应的去雾效果    
                       
  (f)RGB图导向图对应的去雾效果

       以RGB图为导向图的估摸中,涉及到3*3局部矩阵求逆的长河,即使用非matlab语言写,可以先借助于matlab的符号统计效能,以及中间的符号计看相令simple,把统计结果算出来,然后再再其他高档语言中实现。

       (6)
按式(22)举办无雾图像的复原。

 四、其他部分去雾效果图

 
必赢亚洲手机app 56 
必赢亚洲手机app 57 
必赢亚洲手机app 58

   必赢亚洲手机app 59  
 必赢亚洲手机app 60  
必赢亚洲手机app 61

   必赢亚洲手机app 62   
必赢亚洲手机app 63  
必赢亚洲手机app 64

   必赢亚洲手机app 65  
 必赢亚洲手机app 66  
必赢亚洲手机app 67

                             
原图                                                
去雾效果图                                                     
透射率图

      上图中最后一副图我接连做了五次去雾的拍卖。 

      在原文中,有如此一段话:

  Since the scene radiance is usually
not as bright as the atmospheric light, the image after haze removal
looks dim. So we increase the exposure of J(x) for
display.

     意思就是说直接去雾后的图像会比原来的暗,由此在处理完后需要开展自然的曝光增强,但笔者没有证实其是什么增强的,
由此,这里的图和她论文的效应有所不同时正常的。一般在去雾处理后再用自动色剂之类的算法增强下会得到相比满足的结果,如下图:

     必赢亚洲手机app 68 
   必赢亚洲手机app 69  
 必赢亚洲手机app 70

         
原图                
去雾后              +自动色阶

     
去雾算法近期也装有广大其他的模式,可是我所接触的,很多都是以这多少个为根基,因而,先弄会以此为探究其他的去雾算法能奠定坚实的功底。

      网络上有一些相比较好的暗原色先验去雾的matlab代码:比如和本文基本对应的matlab资源:http://files.cnblogs.com/Imageshop/cvpr09defog%28matlab%29.rar

  后记:稍微有看了几篇去雾的稿子,基本上都是围绕着获得透视率图做作品,比如一些篇章讲用联合双边滤波格局拿到迷你的透射率,从自我个人浅薄的认识中,我以为去雾已基本上跳不出暗原色这一个局面了。

     
我对两岸滤波算法这也做了试验,发现这一个的效益也还行,就是速度慢了很多,双边滤波的高速算法其实快不起来的,所以这一个的实用性不高,我选取了有的图像做相比较:

     必赢亚洲手机app 71   
必赢亚洲手机app 72

                                    (a)
原图                                                              
(b)   联合双边滤波去雾图

     必赢亚洲手机app 73   
必赢亚洲手机app 74

                        (c)
导向滤波拿到透射率图                                                  
(d)联合双边滤波透射率图(Sigmad=SigmaR=100)

       上图可以很显明的看来联合双边滤波的透射率图没有导向滤波的巧夺天工,但比原来的粗疏的透射率图依旧好过多,过渡很细腻,因而,也能赢得正确的视觉去雾效果。

      
联合双边滤波器中的算法是参照了OpenCv中相关函数写的。

     和平日一样,提供一个可供我们测试效果的主次:
按照暗原色先验的图像去雾演示程序

    必赢亚洲手机app 75

   
我分别用VB6和C#做了个程序,三个程序都早已经过各自的言语形式展开了优化,算法部分编码是一模一样的,C#运行速度大约是VB6的1.8倍。

     在处理速度上,比
matalb的快了许多倍,在I3的台式机电脑上,一副1024*768的图像去雾时间大约在150ms内(以灰度图为导向图)。

 

 五、算法的局限性

 

     
暗原色先验是一种总括的结果,是对大气室外无雾照片(outdoor haze-free
images)的总计结果,如若目的场景内在的就和大气光类似,比如雪地、白色背景墙、大海等,则由于前提条件就不正确,因而一般不可能赢得满足的效劳,而对于一般的山水照片以此算法能处理的不错。

    

 

    2013.8.23 后记补充修正:

     在连续对该算法的关心中,发现自己在前头做出了一个荒唐的论断,就是关于式(11)中/A的操作。我在头里说这些除法会引起局部问题,因而,去除了这一步。但是后来的实践注解正是有了这一步,对于比较度低的图像才方可拿走很好的去雾高相比度图。

    前面说的/A操作可能会导致t的值小于0,这种情景就可以把t的值直接设置为0来化解。

   
还有一个作业就是式(11)严苛的来说是要对原本图像的各种通道举行归一化后,再取每个通道R/G/B值的纤维值得到中间图,然后对这个当中图举行点名半径的蝇头值滤波后,通过11式取得粗糙的透射率图,那么这样就需要多不少总括,我在实际中发现只要直白用后面的暗通道图/A实行操作,两者的效应区别不强烈,因而,可用这种便利的艺术。

必赢亚洲手机app 76  
必赢亚洲手机app 77

 上图是一副经典的测试图,即便取得了相比好的功能,不过似乎马路那一块的效用不如部分其别人公开的收获那么好。

必赢亚洲手机app 78  
必赢亚洲手机app 79

    
这也是一副相比较普遍的测试图,该图也是紧用去雾拿到结果,未做其它的后甩卖,同CSDN一个的案例库:图像去雾的算法研讨中的效果相比,在整幅图像的相比较和和协调性上都要好一个档次。

    
再如下图,也比CSDN那多少个案例库中的效果要好过多。

 
必赢亚洲手机app 80必赢亚洲手机app,  
必赢亚洲手机app 81

     还有:

必赢亚洲手机app 82 
必赢亚洲手机app 83

必赢亚洲手机app 84  必赢亚洲手机app 85

   

   总括:我对这种去雾算法的功用依旧很好听的, 效果和速度都还相比适中。

   附件的测试程序已经一起革新。

   2013.10,10 后记补充:

    一贯听说C的效能很高,于是用C实现了该算法,并且编制了一个可供其他语言调用的dll文件,然后对小小值滤波算法又举行了出格的优化,算法速度有了很大的增高,特别是在用VS2010时,编写C的代码可以勾选下图中的SSE选项和飞跃(fp:fast),程序会调用SSE一些函数,实现指令级此外并行。而这多少个C#的编译器是无力回天实现的。

必赢亚洲手机app 86

    
同样的算法,相对于原始的C#次第,程序的快慢能增进一倍左右,对于800*600的图像,在自身的I3的CPU上平均能能达到20fps的速度(只占用了一个核的CPU资源),由此可以适用于不抢先该限制内的实时图像处理。

    
同样我扩大了3个里面可调的参数供我们测试。

必赢亚洲手机app 87

     相应的DLL函数讲明如下:

     c风格:

void HazeRemovalUseDarkChannelPrior(unsigned char * Src,unsigned char * Dest,int Width,int Height,int Stride, int Radius ,int GuideRadius, int MaxAtom, float Omega,float Epsilon,float T0 )

    c#调用:

 [DllImport("HazeRemoval.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode, ExactSpelling = true)]
  private static extern void HazeRemovalUseDarkChannelPrior(byte* Src, byte* Dest, int Width, int Height, int Stride, int Radius,int GuideRadius, int MaxAtom, float Omega, float Epsilon, float T0);

    VB6调用:

Private Declare Sub HazeRemovalUseDarkChannelPrior Lib "HazeRemoval.dll" (ByVal Src As Long, ByVal dest As Long, ByVal Width As Long, ByVal Height As Long, ByVal Stride As Long, ByVal Radius As Long, ByVal GuideRadius As Long, ByVal MaxAtom As Long, ByVal Omega As Single, ByVal Epsilon As Single, ByVal T0 As Single)

     

    
调用实例源代码下载:http://files.cnblogs.com/Imageshop/HazeRemovalTest.rar

 2013.11,22修正: 

  通过共同双边滤波求透射率图的意义下面的不得法的,进最新的钻研结果注解,双边滤波确实也能收获迷你的投射图,比如依然那方面的测试图像,不同的SigmaS和SigmaR下得到透射率效果如下:

  
必赢亚洲手机app 88   
 必赢亚洲手机app 89

          SigmaS=50,SigmaR=30                          
SigmaS=100,SigmaR=30

 

 2014.1.12
重大改进(可实现实时效果):

   
 何的算法效果以及科普的实用性都比任何的去雾算法要好,而重大的题材就是其速度依旧不够快,有着太多的浮点总括。鉴于此,作者也反复试着对代码举办深层次的优化,包括SSE处理、并行运行等,但由于算法本身的依次执行,不能全程并行,偶尔一个小函数可以互相,但出于其自己执行就特意快,比如不要5ms,你去用并行算法可能耗时还会大一部分。因而,一向没有什么样大的迈入,对于一副1024*768的彩图进行去雾需要90ms,这必然不可能满意要求。

   
 目前,在思考,既然暗通道去雾的透射率图比此外的算法都来的小巧,倘若方便的减退一点点其精度,其去雾的效率理论上相应不会有太大的界别,于是自己想开了一种方法,即求取透射率的时候不是对原图举行求取,而是先对原图举办下采样,比如裁减为原图的1/4,统计出小图的透射率,之后在经过插值的法门的收获原图大概的透射率,则应该也足以得到效益。经过实践,这种方法大大的提高了举行进度,而且效果和原有的方案基本一致,对于1024*768的图像大约只需要(I3CPU)30ms了,如若进一步取1/9的缩放,则只需要大约20ms,完全能够满意工业实时性要求高的场合。

   
当然,如若您的压缩全面不是特地大的话,比如裁减为原本的0.5尺寸,可能三次缩放所用的耗时还抵消了总结小图的透射率图所换到的获利,由此必须合理合法采取这一个下采样率。

   
要贯彻那样的进度,当然如故需要很高的优化技术的,这一个事物仍旧有着保存比较好。 

   
我做了一个顺序,集成了本博客中6种图像去雾的算法: 图像去雾综合版本

必赢亚洲手机app 90

     

   
用暗通道的算法对一段视频举办了拍卖,我们可以在此间看看功用:http://video.sina.com.cn/v/b/124538950-1254492273.html

 
  必赢亚洲手机app 91

****************************笔者:
laviewpbt   时间: 2013.8.23    联系QQ:  33184777
 转载请保留本行信息********************

 

 

 写博不易,土豪请打赏,屌丝一分也是爱(非强制要求):

 

相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图