分享

基于双层连通性检测的路面裂缝图像去噪算法

 GXF360 2017-06-23
? 基于双层连通性检测的路面裂缝图像去噪算法

基于双层连通性检测的路面裂缝图像去噪算法

彭 博1,罗楠欣2,蒋阳升2,3,4,陈 成5,K C PWANG5
(1.重庆交通大学 交通运输学院,重庆 400074;2.西南交通大学 交通运输与物流学院,四川 成都 610031;3.西南交通大学 综合运输四川省重点实验室,四川 成都 610031;4.西南交通大学 综合交通运输智能化国家地方联合工程实验室,四川 成都 610031;5.School of Civil&Environmental Engineering,Oklahoma State University,OK,74078,USA)

摘要:为了消除路面裂缝图像中的孤立噪声并保护裂缝边缘的细致特征,本文基于像素和裂缝子块两个层级的连通性检测设计了去噪算法,主要包括3个部分:(1)像素连通性检测,剔除连通性差的像素;(2)孤岛噪声消除算法,删除相对孤立的目标区域;(3)8×8裂缝子块去噪算法。然后,提出了算法流程并探讨参数的选择。最后,应用Visval Stvdio 2008和OpenCV编程对本文算法、常用的中值滤波去噪法、长线段和黑色像素比例法进行性能测试,结果表明,本文算法可有效消除孤立噪声并保持边缘连续性,具有更高的准确率(85.06%)和召回率(85.80%),综合性能指标F1值比后两者分别高0.74%~19.19%和0.20%~12.06%。

关键词:道路工程;路面裂缝;去噪算法;图像处理;连通性检测

0 引言

20世纪70年代以来,路面破损图像自动识别技术受到广泛重视,研发了许多路面破损图像检测系统,如日本Komatsv系统(分辨率2 048×2 048)[1]、美国PCES系统(1 024像素/8英尺)[1]和DHDV(分辨率3 704×2 048)[2]、中国CiCs路面检测车(分辨率3 056×2 048)。许多先进的路面检测系统均能采集精度达1 mm/像素的路面图像;同时,也出现了许多图像处理算法,其中,裂缝图像自动识别备受关注。由于路面图像包含大量噪音,裂缝识别的研究工作主要集中在图像增强和图像分割[3]。图像增强包括频域方法(如高低通滤波器)和空域方法(如中值滤波[4]、直方图均衡化[5]),能改善图像视觉效果、突出感兴趣的区域,大都对灰度图像进行处理;图像分割则基于区域方法(如OTSU分割[3]、动态阈值法[6])或边界方法(如Canny[7]等边缘检测算子、小波边缘检测[8-9]、基于裂缝种子生长的边缘检测算法[11])将图像分为许多感兴趣的区域,获得裂缝二值图像。

由于图像通常受到杂物、砂石和油污等影响,分割后获得的裂缝二值图像大多存在孤立噪声[3,12],对此,文献[4],[13]采用中值滤波去除裂缝图像噪声;文献[14]采用长线段与原图进行与操作和判断黑色像素所占比例的方法去除图像孤立噪声点;文献[15]设定路面噪声区域的周长小于20像素,从而去除孤立噪声。综观这些算法,它们的去噪效果并不令人满意:中值滤波平滑3×3邻域,具有模糊效果;文献[14]的方法在3×3邻域内进行处理,容易破坏边缘特征且无法完全消除孤立噪声;文献[15]的方法能消除规定尺寸的孤立噪声,但在1 mm/像素的图像中去噪能力十分有限。

为了消除孤立噪声、保护边缘细致特征,本文针对1 mm/像素的路面裂缝二值图像去噪处理设计了基于双层连通性检测的去噪算法,包括像素连通性检测、孤岛噪声消除和裂缝子块去噪3个部分;然后,提出了算法流程并探讨参数的选择;最后,对算法性能进行测试分析。

1 像素连通性检测算法

通常裂缝目标尺寸较大且其像素紧密相连,而孤立噪声则为散点或尺寸较小、像素连通性较差的不规则块状。如果能计算每个像素所连接像素的数目,就知道该连通区域的尺寸,通过设定连接像素数目的阈值,就可以判断该像素及其所连通的区域是否为噪声,这就是像素连通性检测算法的基本思想。下面介绍一些与算法相关的定义。

(1)搜索方向。检测像素连通性时前进的方向即为搜索方向,分为原始方向和拓展方向[16]。每个像素指向8个相邻像素的方向为原始方向,依次编号为0~7,每一个方向又有3个拓展方向,如:方向1的拓展方向为0,1,2;方向2的拓展方向为1,2,3,如图1所示,这样每次搜索都朝着原来方向的正负45°范围内前进,保持搜索方向的一致性。

(2)噪声判定标准。本文将路面图像噪声定义为:缺乏连通性的、与周围目标像素相对孤立的散点或连通点集,即任意被判定为目标物的像素,若其连通长度L0≤阈值L,则视为噪声予以剔除。

图1 搜索方向
Fig.1 Search directions

二值图像中一般以黑色像素(像素值为0)代表裂缝目标,白色像素(像素值为255)为背景,本文也采用这种二值化原则,只需要对黑色的像素进行连通性检测。对于一幅二值化处理后的裂缝图片,像素连通性检测算法从图像左上角像素开始,有如下3个步骤,处理效果见图2(c)。

(1)若像素值为0,进入(2);否则,进入(3);(2)沿着图1所示的搜索方向进行像素连通长度计算,以方向0为例,若该相邻像素值为0(目标物),则中心像素的延伸长度R1=2;继续沿着方向

0的拓展方向0,1,7搜索,若方向7的像素为0,则R1=3;再继续沿着7的拓展方向0,6,7搜索,若有像素为0,R1=4,依次类推。最后获得中心像素8个方向的延伸长度R1~R8,令R=max{R1,R2,…,R8},那么中心像素的连通长度L0≤2R-1,只要R≤(L+1)/2,就有L0≤L,则所检测像素为噪声,予以剔除;否则,作为目标物保留下来。然后,进入(3);(3)按照从左到右、从上至下的顺序,扫描下一个像素,并进入(1)判断该像素值是否为0。

图2 去噪实例
Fig.2 Examples of denoising processing

2 孤岛噪声消除算法

连通性检测算法执行后,保留下来的均为连通长度L0>L的不规则连通区域,如果某个区域尺寸较小且距离周边任何区域都较远,那么,该区域很可能也是噪声块。如图3所示,子块U与W尺寸均较小,但U相对孤立,连通性差,更可能是噪声;而W距离大子块V很近,连通性较好,更可能是目标像素。因此,设计算法剔除孤立的区域,并命名为孤岛噪声消除算法。

孤岛噪声消除算法主要依靠半径为r的环形去噪模板(图4)进行,有如下4个步骤,处理效果见图2(d)。

(1)选取去噪模板。图4所示为r=5像素的去噪模板,类似地,还可以设计6,7等其他半径值的模板;

(2)判断像素(i,j)是否为黑色,若是,进入(3),否则,进入(2)对下一个像素进行处理;

(3)判断像素(i,j)所在的连通子块是否为孤岛噪声。以图4的去噪模板为例,计算模板中处于圆形边缘位置36个像素的值,如像素(i-6,j-3),(i-6,j-2),(i-6,j-1)。如果这些像素值均为255,表明像素(i,j)所在的连通子块与周围的黑色像素割裂开了,为孤岛噪声,将这36像素包围的区域像素值均改为255;否则,像素(i,j)值不变。进入(2)对下一个像素进行处理;

(4)重复(2)~(3),应用去噪模板对图片中所有黑色像素进行计算处理。

图3 孤岛噪声示意图
Fig.3 Schematic diagram of insular noises

3 裂缝子块去噪算法

像素连通性检测和孤岛噪声去除算法针对单个像素进行处理,前者可以消除连通长度L0≤L的噪声,后者可以剔除半径≤r的孤立区域。例如,L=7,r=5时,可消除长度≤7 mm的噪声和半径≤5 mm的孤立区域。一方面,路面噪声长度和半径常达到几厘米,故L和r较小时去噪能力比较有限。另一方面,一张

3.5 m×2.0 m的路面图像多达7 000 000个像素,L 和r值每增加1,图像处理的计算增量将非常惊人。因此,为了提高去噪能力并降低计算成本,拟用较小的L和r值处理图像并进行8×8降维处理,然后针对8×8子块设计动态阈值法判定是否为噪声,最后剔除连接长度较短的子块,以保护裂缝的连续性。

图4 半径为5个像素的环形去噪模版
Fig.4 Annular denoising mask w ith radius of 5 pixels

3.1 裂缝子块初步识别

将图像分为8×8的子块,每个子块含有的目标像素数量为0~64,通过设定阈值t判断其是否属于裂缝子块。若t值过高,会获得过少的裂缝子块;反之,就会获得过多的裂缝子块,据此,提出了一种动态方法确定阈值t,以避免这种情况。令某子块目标像素数目为n(0≤n≤64),对于一张路面图像,每设定一个t值都会获得相应数量的裂缝子块。经过图像测试,n=0时,显然不是裂缝子块;n=1~15时,可能为裂缝子块,而n>15时,大都为裂缝子块。令ti=i,i=1,2,…,15,获得相应的裂缝子块数量为Ni。合理的裂缝子块数量N应介于max {Ni}和min{Ni}之间,于是将{Ni}的平均数作为N的最佳估计值,当|N-Ni|最小时,相应的ti则为t的取值,从而识别裂缝子块。

3.2 裂缝子块去噪

以子块为基本单元,应用前文基于连通性检测的去噪算法剔除连接长度小于等于Y的裂缝子块。例如,当Y=5时,就可以根据裂缝子块初步识别图像和原二值图像删除长度和面积分别达4.0 cm和3.2 cm2的目标区域。裂缝子块识别和去噪处理如图2(e)和图2(f)所示。

4 算法实现

4.1 算法流程

将像素连通性检测算法、孤岛噪声消除算法和裂缝子块去噪算法结合在一起,构成了一个完整的二值图像去噪算法,流程如图5所示。应用Visval Stvdio 2008的C++语言和OpenCV编程实现整个算法,处理实例如图2所示,其中,步骤(1)设定L=7,r=5和Y=7;步骤(2)消除连通长度≤L的目标像素,见图2(c);步骤(3)消除孤岛噪声,见图2 (d);步骤(4)以Y为阈值进行裂缝子块识别和去噪,见图2(e)、图2(f);最后,结合步骤(3)和(4)的处理结果,提取裂缝子块内部的目标像素,见图8(d)。可以看出,算法结合像素和裂缝子块两个层级进行计算处理,具有以下优点:(1)保留了大尺寸目标;(2)保护了像素连通性和细致的边缘特征;(3)对二值化图片具有通用性。

图5 去噪算法流程
Fig.5 Procedure of denoising algorithm

4.2 算法参数选择

本文算法能精确计算像素和子块连通长度,要剔除噪声,就必须明确噪声的尺寸。于是,首先需要设定L,其值越大,则消除的噪声尺寸越大,消除量越多;反之,噪声尺寸越小,消除量也越小,如图6所示。对于r,其值越大,则可以消除的噪声块越大,却容易漏检孤立噪声;若r较小,去噪尺寸较小,但对孤立噪声比较敏感,容易剔除它们。图7便显示了r=5和r=9时对图6(b)进行孤岛噪声消除的效果差异。最后,Y的选择与L的原理一致,不再赘述。综上所述,算法能剔除的噪声最大长度为8×Y,最大面积为8×8×Y。

路面裂缝图像的噪声尺寸较小(长度约为5 cm左右),因而可取L=7。再经过L=3,5,7,r=5,7,9,Y=5,7组合测试路面图像,发现L=7,r=

5,Y=7时(去噪长度和面积为56 mm和448 mm2)能较好地消除油污、散落颗粒和随机噪声,程序运算量也处于较低水平。因此,对于路面裂缝图像去噪处理,推荐参数取值为L=7,r=5,Y=7。此外,算法也适用于其他领域的图像识别与去噪处理,只是需要根据实际情况(主要是噪声尺寸)调整,L,r和Y。

图6 连通性检测对比
Fig.6 Comparison of connectivity checking

图7 孤岛噪声消除对比
Fig.7 Com parison of insular noise rem oval

5 去噪算法性能分析

5.1 算法评价指标

算法优劣需要定量的指标来衡量,现有研究大都采用准确率来衡量图像处理算法的优劣[14],但准确率具有一定的局限,例如:对于一张有裂缝的路面图片,裂缝检测算法检测到了1 000个像素,其中900个判断准确,准确率高达90%,但实际上图片有2 000个裂缝像素,它只正确地检测到了45%的裂缝像素,因此算法并不好。为了充分反应算法性能,引入了信息检索领域常用的准确率-召回率(P-R)[17]

式中,TP为正确检测出来的目标像素数目;FP为不是目标物却检测为目标物的像素数目;FN为是目标物却没检测出来的像素数目。对于一张路面图片,令集合A为算法检测结果,集合B为实际应正确检测出来的结果(手动标注而得),C=A∩B表示算法正确地检测出来的像素集合,则

P和R越高越好,但很多情况下它们是矛盾的,因此需要综合考虑。F1值是最常用的综合判定指标,它是P和R的加权调和均值。F1越大,表明算法结果越准确、全面,性能也就越高。

5.2 去噪算法对比分析

中值滤波是经典的去噪方法之一,计算简单、容易实施;长线段与原图进行与操作和判断黑色像素所占比例的方法不会造成模糊效应,在众多孤立噪声消除算法中性能较优,两者都常用于路面裂缝识别等领域的图像处理。为了验证本文算法性能,分别应用中值滤波去噪法(算法1)、长线段与原图进行与操作和判断黑色像素所占比例的方法(算法2)和本文算法(算法3,L=7,r=5,Y=7)对图2(b)进行去噪处理,结果如图8(b)~8(d)所示,手动标注的实际裂缝图像见图8(a)。可以直观地看出,本文算法更有效地去除了孤立噪声。从实现过程来看,本文算法仅以L=3对图像进行连通性检测,就相当于对3×3邻域进行计算处理,即可实现算法1和算法2的去噪效果,且像素连续性更好。因此,本文算法适用范围远大于算法1和算法2。

为了进一步定量评价算法优劣,对40张512× 512路面图片(1 mm/像素)进行OTSU阈值分割,然后应用各算法消除噪声,并与手动标注的实际裂缝图像进行对比,最后根据式(2)~式(7)计算P,R和F1值(见表1),图9~图11分别为P,R 和F1的分布曲线。

由表1的性能指标均值可看出:准确率从高到低依次为算法3(85.06%)、算法2(81.43%)和算法1(78.43%);算法3召回率(85.80%)最

高,算法2(82.20%)和算法1(79.97%)紧随其后;F1值从高到低依次为算法3(84.55%)、算法2(80.85%)和算法1(76.97%)。对40张图像处理结果进行对比分析表明:算法3准确率高于算法2的有31例(高0.58%~16.19%),只有9例低于算法2(低0.59%~1.42%);算法3准确率高于算法1的有32例(高0.64%~19.98%),8例低于算法1(低1.19%~4.37%),见图9。召回率方面,算法3高于算法2的有38例(高0.29%~10.05%),高于算法1的有29例(高0.29%~23.05%),11例低于算法1(低0.28%~2.05%),见图10。算法3的F1值只有两例低于算法2(低0.44%和1.09%),其余均高于算法2(高0.20%~12.06%)和算法1(高0.74%~19.19%),见图11。

图8 去噪算法效果对比
Fig.8 Comparison of denoising algorithm effects

因此,无从准确率、召回率和F1的均值还是分布曲线来看,算法3都优于算法2,算法2则优于算法1。最终,根据表1和图11,本文算法的F1值可比算法2提高0.20%~12.06%,比算法1提高0.74%~19.19%。

表1 去噪算法性能指标(单位:%)
Tab.1 Performance indexes of denoising algorithm s(unit:%)

图片序号  算法1(中值滤波) 算法2(长线段和黑色像素比例法)P R算法3(本文算法)F1 P R F1 P R F1 76.73 91.57 83.50 85.01 90.10 87.48 94.92 94.10 94.51 2 81.13 83.88 82.48 87.56 85.09 86.31 96.74 86.52 91.35 3 79.93 90.14 84.73 88.67 88.14 88.41 93.51 94.20 93.85…………………………1 40 40.97 99.53 58.05 42.75 97.92 59.52 44.23 98.21 60.99平均值78.43 79.97 76.97 81.43 82.20 80.85 85.06 85.80 84.55

图9 准确率曲线
Fig.9 Precision curves

图10 召回率曲线
Fig.10 Recall rate curves

5.3 二值化方法对算法性能的影响分析

跟其他二值图像去噪方法一样,本文算法的性能受二值化图像质量的影响。为了分析这种影响,对1张路面灰度图像分别以0,5,10,…,255为阈值进行图像分割,获得52张二值图像;接着用本文算法对它们进行去噪处理;然后手动标注实际裂缝图像,与52张去噪图像对比,计算出52组P-RF1值,绘制成如图12所示的曲线。通常情况下,路面裂缝像素灰度值较低,而阈值分割将灰度图中低于阈值的像素判断为裂缝目标,阈值越低,判断为裂缝的像素越少越准确,漏检的裂缝像素越多,反之,则准确性越低、漏检像素越少,于是,随着阈值的增加,P逐渐降低、R逐渐升高,F1值则呈现出先上升后下降的趋势(见图12)。当选取合适的

阈值(图12中大约为100)进行二值化处理时,F1值最高,因此,结合性能优良的图像分割方法(如OTSU分割),本文算法去噪性能更佳。

图11 算法F1值
Fig.11 F1 values of different algorithms

图12 分割阈值对P-R-F1的影响
Fig.12 Impacts of threshold segmentation on P-R-F1

6 结论

针对路面裂缝二值图像中孤立噪声较多、边缘连续性较差的情况,本文基于像素和裂缝子块两个层级的连通性检测设计去噪算法,并进行了测试分析,结果表明:(1)本文算法既能消除孤立噪声,又能保护裂缝的边缘特征及其连续性,性能优于中值滤波、长线段和黑色像素比例法,适用于路面裂缝识别;(2)算法可调整3个参数,以满足不同规格的去噪需求;(3)单独应用准确率或召回率衡量图像处理算法性能具有一定的局限,准确率-召回率是更科学合理的评判标准;(4)算法效果受二值化处理过程的影响,当结合性能优良的图像分割算法时,效果更佳。综上所述,本文算法能消除连通长度较短的目标像素和孤立区域,保留大尺寸目标且不破坏像素连通性,有利于裂缝连接与识别,同时也可推广应用到其他领域的图像处理,对二值化图像去噪具有普适性。

参考文献:

References:

[1] WANG K C P.Design and Implementation of Avtomated Systems for Pavement Svrface Distress Svrvey[ J]. Jovrnal of Infrastrvctvre Systems,2000,6(1):4-32.

[2] WANG K C P,HOU ZQ,GONGW G.Avtomated Road Sign Inventory System Based on Stereo Vision and Tracking [ J]. Compvter-aided Civil and Infrastrvctvre Engineering,2010,25(6):468-477.

[3] 孙波成,邱延峻.路面裂缝图像处理算法研究[J].公路交通科技,2008,25(2):64-68. SUN Bo-cheng,QIU Yan-jvn.Pavement Crack Diseases Recognition Based on Image Processing Algorithm [J]. Jovrnal of Highway and Transportation Research and Development,2008,25(2):64-68.

[4] JITPRASITHSIRI S. Development of a New Digital Pavement Image Processing Algorithm for Unified Crack Index Compvtation [D].Salt Lake City:University of Utah,1997.

[5] 张娟,沙爱民,孙朝云,等.基于相位编组法的路面裂缝自动识别[J].中国公路学报,2008,21(2):39-42. ZHANG Jvan,SHA Ai-min,SUN Chao-yvn,et al. Pavement Crack Avtomatic Recognition Based on Phasegrovping Method [ J]. China Jovrnal of Highway Transport,2008,21(2):39-42.

[6] 王茜蒨,彭中,刘莉.一种基于自适应阈值的图像分割算法[J].北京理工大学学报,2003,23(4):521-524. WANG Qian-qian,PENG Zhong,LIU Li.An Adaptive Method of Image Segmentation [ J]. Transactions of Beijing Institvte of Technology,2003,23(4):521-524.

[7] CANNY J.A Compvtational Approach to Edge Detection [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.

[8] ZHOU J,HUANG P S,CHIANG F P.Wavelet-based Pavement Distress Detection and Evalvation [J].Optical Engineering,2006,45(2):409-411.

[9] NEJAD F M,ZAKERI H. A Comparison of Mvltiresolvtion Methods for Detection and Isolation of Pavement Distress[ J].Expert Systems with Applications,2011 (38):2857-2872.

[10] HUANG Y X,XU BG.Avtomatic Inspection of Pavement Cracking Distress[ J].Jovrnal of Electronic Imaging,2006,15(1):185-188.

[11] GAVILáN M,BALCONES D,MARCOS O,et al. Adaptive Road Crack Detection System by Pavement Classification [J].Sensors,2011(11):9628-9657.

[12]马常霞,赵春霞,狄峰,等.自然环境下路面裂缝的识别[J].工程图学学报,2011,32(4):20-26. MA Chang-xia,ZHAO Chvn-xia,DI Feng,et al.Road Crack Detection vnder Natvral Environment[J].Jovrnal of Engineering Graphics,2011,32(4):20-26.

[13]赵轲.路面裂缝图像自动识别系统研究[D].西安:长安大学,2009. ZHAO Ke.The Design and Research of Pavement Crack Identification System[D].Xi,an:Chang,an University,2009.

[14]李刚,贺昱曜.不均匀光照的路面裂缝检测和分类新方法[J].光子学报,2010,39(8):1405-1408. LI Gang,HE Yv-yao.A Novel Image Detection and Classification for Pavement Crack vnder Non-Uniform Illvmination [ J].ACTA Photonica Sinica,2010,39 (8):1405-1408.

[15] LI L,CHAN P,RAO A,et al.Flexible Pavement Distress Evalvation Using Image Ananysis[ C] // Applications of Advanced Technologies in Transportation Engineering,Minneapolis:ASCE,1991:473-477.

[16] CHENG H D,CHEN J R,GLAZIER C,et al.Novel Approach to Pavement Cracking Detection Based on Fvzzy Set Theory [ J]. Jovrnal of Compvting in Civil Engineering,1999(13):270-280.

[17] ZOU Q,CAO Y,LIQ Q,et al.CrackTree:Avtomatic Crack Detection from Pavement Images[ J].Pattern Recognition Letters,2012,33(3):227-238.

A Denoising Algorithm for Pavement Cracking Images Based on Bi-layer Connectivity Checking

PENG Bo1,LUO Nan-xin2,JIANG Yang-sheng2,3,4,CHEN Cheng5,K C PWANG5
(1.School of Traffic and Transportation,Chongqing Jiaotong University,Chongqing 400074,China;2.School of Transportation and Logistics,Sovthwest Jiaotong University,Chengdv Sichvan 610031,China;3.Key Laboratory of Comprehensive Transportation of Sichvan Province,Sovthwest Jiaotong University,Chengdv Sichvan 610031,China;4.National-provincial United Engineering Laboratory of Integrated and Intelligent Transportation,Sovthwest Jiaotong University,Chengdv Sichvan 610031,China;5.College of Civil and Environmental Engineering,Oklahoma State University,OK 74078,USA)

Abstract:In order to remove the isolated noises in pavement cracking images and protect the fine featvres of cracking edges,a denoising algorithm is designed based on the connectivity checking of pixel level and cracking svbimage level,which has 3 main parts:(1)pixel connectivity checking,to eliminate pixels with bad connectivity;(2)a denoising algorithm towipe ovt insvlar target regions;(3)8×8 cracking svbimage denoising algorithm.Then,the algorithm procedvre is pvt forward and the parameter selection is discvssed. At last,the performance tests of the algorithm and 2 commonly vsed methods(median filtering and the algorithm based on long line and black pixel percentage)are condvcted vsing Visval Stvdio 2008 and OpenCV programming.The resvlt indicates that the proposed algorithm can remove isolated noises effectively and keep continvity of cracking edgeswith higher precision(85.06%)and recall rate(85.80%),and can achieve better scores of comprehensive performance index F1:0.74%-19.19%and 0.20%-12.06% higher than those of the other 2 methods respectively.

Key words:road engineering;pavement cracking;denoising algorithm;image processing;connectivity checking

作者简介:彭博(1986-),男,四川南充人,博士.(pengbo351@126.com)

基金项目:国家自然科学基金基金项目(51108391,61170041);中央高校基本科研业务费专项资金项目(A0920502051208-99)

收稿日期:2014-08-27

doi:10.3969/j.issn.1002-0268.2015.11.002

中图分类号:U416.23

文献标识码:A

文章编号:1002-0268(2015)11-0007-07

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多