值图像处理方法与数学形态学演示课件_第1页
值图像处理方法与数学形态学演示课件_第2页
值图像处理方法与数学形态学演示课件_第3页
值图像处理方法与数学形态学演示课件_第4页
值图像处理方法与数学形态学演示课件_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2020/12/17,1,第7章二值图像处理及形态学,本章重点: 二值图像处理 形态学运算 主要内容: 二值图像处理 灰度图像的二值化处理 像素的连接 像素间的距离 形态学运算 数学形态学的基本运算有4个: 膨胀(或扩张) 腐蚀(或侵蚀) 开启 闭合,2020/12/17,2,7.1 二值图像,定义: 整幅图像画面内仅黑白二值的图像。 像素值仅有0和1-(或0和255). 目的: 将采集获得的多层次灰度图像处理成二值图像(binary image ),以便于分析理解和识别并减少计算量。 图像 属性,2020/12/17,3,二值图像处理的一般流程,2020/12/17,4,灰度图像的二值化处理

2、,选择某个阈值 T ,将原始图像变换为二值图像: 当 f (x,y) = T 时, f (i,j) = 1 ; 当 f (x,y) T 时, f (i,j) =0 . 如何选择阈值 T ?,2020/12/17,5,阈值 选择,直方图方法 背景与目标差异大并且面积相当时直方图出现双峰,这时的最低谷点为 T。,2020/12/17,6,直方图方法,2020/12/17,7,直方图方法,当图像中的对象图形与背景的灰度值之差很大时,因在直方图中能形成明显的谷,因而这一方法是适用的。 在干扰多的图像或复杂的图像中,因在直方图中不能形成明显的谷,因而有时难以适用。,2020/12/17,8,多阈值方法,

3、多层次地选择阈值 T ,常用于黑白的伪彩色显示。,2020/12/17,9,其他方法,微分直方图方法 梯度阈值法,2020/12/17,10,二值图像的连接性,邻域:-(考虑一个像素) 对于任意的像素(i,j),把像素的集合(i+p,j+q);p,q是一对适当的整数称为像素(i,j)的邻域(neighbor)。 直观上看,就是像素(i,j)附近适当像素的集合。 在用正方形点阵表示的数字图像中,只把位于上下左右的4点作为最近邻域的情形和把位于对角线上的4点也包括在最近邻域的情形是最常被采用的。,2020/12/17,11,邻域,直观上看,这是像素(i,j)附近的像素形成的区域. 最经常采用的是4

4、-邻域和8-邻域,4-邻域和8-邻域,N4(p),ND(p),N8(p),2020/12/17,13,邻域,4-邻域: F(i,j)=(i+1,j),(i,j+1),(i-1,j),(i,j-1) 像素(i,j)的4-邻域如下:,2020/12/17,14,邻域,8-邻域: E(i,j)=F(i,j) U (i+1,j+1),(i-1,j+1),(i-1,j-1) ,(i+1,j-1) 像素(i,j)的8-邻域如下(有时也用记号x1x8来表示) 逆时针记号,2020/12/17,15,邻接考虑两个像素的关系,两个像素互相存在于4-/8-邻域里时,把它们称为互相4-/8-邻接(4-/8- adj

5、acent)。 注意: 4邻接与8邻接的区别。 4邻接也是8邻接,但8邻接不一定是4邻接。,2020/12/17,16,邻接,互为4-邻域的两像素叫4-邻接。 (P*,Pi |i=0,2,4,6) 互为8-邻域的两像素叫8-邻接。 (P*,Pi |i=0,12,3,4,5,6,7),2020/12/17,17,像素的连接考虑两个像素并且相同值,对于二值图像中具有相同值的两个像素a和b,设所有和它们具有相同值的像素为Pi,当存在各Pi 和Pi-1为4-/8-邻域的像素序列P0(=a),P1,P2,Pn-1,Pn(=b)时,像素a和b称为4-/8-连接。 另外,这个像素序列称为4-/8-路径(4-

6、/8-path)。 如下图为连接像素对的例子。 思考:研究连接的目的是什么?,2020/12/17,18,a1和a2构成4-连接,c和 e构成4-连接,a1和 b不能构成连接,a2和 d不能构成连接,前景像素的关系(邻域,邻接,连接),注意:考虑4时,同时也是8,2020/12/17,20,连接成分(连通域)-考虑像素集合或组,在某个二值图像中,若把互相连接的像素的集合汇集为一组(类),则可得到具有若干个0值(0-像素)和具有若干个1值的像素(1-像素)形成的组。 把每个组称为连接成分(connected component)。 注意:在考虑一个二值图像的连接成分时,把1-像素的连接成分看成4

7、-/8-连接时,对于0-像素的连接成分,若不把它们看成相反的8-/4-连接就会产生矛盾。,2020/12/17,21,连接成分,在下图中,若把各1-像素看成是用8-连接的含义来连接的话,则中间的0-像素理应是被包围着的。,但是,如果把0-像素也用8-连接来考虑的话,则这个像素就会与右上的0-像素连接起来,从而产生矛盾。,即,0-像素的连接性和1-像素的连接性 有必要采用互反 的形式。,连接成分,(a)4个4连接的连接成分,(b)2个8连接的连接成分。,2020/12/17,23,孔,在0-像素的连接成分中,如果存在和画面的外围(外围的1行1列)的像素不相连接的成分,则把它称为孔(hole)。,

8、指:全被1值像素包围的0-像素连接成分.,2020/12/17,24,单连接成分、多重连接成分,当1像素的连接成分不包含孔时,称为单连接成分,至少包含一个孔时称为多重连接成分。,2020/12/17,25,区域和边界(边缘),令R是图像中的像素子集。如果R是连接成分,称R为一个区域。 一个区域R的边界(也称为边缘或轮廓)是区域中像素的集合,该区域有一个或多个不在R中的邻点。如果R是整幅图像,边界是最外面的像素集合。 正常情况下,一个区域指图像的一个子集,并且区域边界中的任何像素都作为区域边界部分全部包含于其中。 边缘和边界的区别: 一个有限区域的边界形成一条闭合通路,并且是“整体”的概念。 边

9、缘是由具体某些导数值(超过预先设定的阈值)的像素组成。边缘的概念是基于在不连续点进行灰度级测量的局部概念。 但在二值区域中提取边缘和提取区域边界是一样的。,2020/12/17,26,连接成分的标记,为区分连接成分,求得连接成分个数,连接成分的标记,即标号分配操作是不可缺少的。 一般在标记的时候把属于同一区域的不同连接成分数标记为不同的标号。 也就是说二值图像中的每一个连接成分都有一个属于自己的标记。 对属于同一个1像素连接成分的所有像素分配相同的编号,对不同的连接成分分配不同的编号的操作,叫做连接成分的标记。 标记通常采用顺序标记的方法。顺序标记法通过对图像从左到右,从上到下作两次扫描来实现

10、标记。,2020/12/17,27,连接成分的标记标记的例子1,(a)输入图像 (b)标记结果 标记的例子,连接成分的标记标记的例子2,2020/12/17,29,连接数考虑一个像素,某个1-像素x0的连接数,可以利用其8-邻域像素的值f(x1)f(x8)按下式定义: 4-连接用Nc(4), 8-连接用Nc(8)表示.,2020/12/17,30,连接数,无论是4-连接还是8-连接的情形,连接数总是取04之间的值。 下面是表示3*3像素中央像素的连接数(8-连接)。4-连接数?,2020/12/17,31,连接数,采用连接数的1-像素的分类: 连接数=0:孤立点或内部点 连接数=1:端点 连接

11、数=2:连接点 连接数=3:分枝点 连接数=4:交叉点,-考虑:目的?,2020/12/17,32,像素的可删除性,当改变一个像素的值时,整个图像的连接性不变(不出现各连接成分的分离、结合、孔的消失及生成这种现象),则称这个像素为可删除的(deletable)。 可以从理论上证明可删除的像素和连接数等于1的像素是一致的。 图像细化过程中,对端点的处理应慎重,否则连接成分改变,线长变短。 删除过程决不能改变连接成分!,2020/12/17,33,像素的可删除性,分析,为什么?,2020/12/17,34,删除时注意,不要让线段变短,2020/12/17,35,像素间的距离,一般地,对于某一集合S

12、的元素p,q,r,把满足下述性质(称为距离的三公理)的函数d称为距离(distance)。 (1)只有当p=q时,才有d(p,q)=0; (2)d(p,q)=d(q,p) (3)d(p,r)=d(p,q)+d(q,r),2020/12/17,36,像素间的距离,虽然能够定义满足上式的各种各样的距离函数,但在数字图像处理中,对于两个像素(i,j)和(h,k),经常采用下面的距离:,2020/12/17,37,像素间的距离,欧几里德距离,从一个像素开始的距离,2020/12/17,38,像素间的距离,4-邻域距离,从一个像素开始的距离,2020/12/17,39,像素间的距离,8-邻域距离,从一个

13、像素开始的距离,2020/12/17,40,像素间的距离,从上面的例子可知,从一个像素开始的等距离线,在de中大致呈圆形,在d4 中呈旋转了45度的正方形,在d8中呈正方形。 因此,有时 把d4称为街区化距离(city-block distance); 把d8称为国际象棋盘距离(chess-board distance)。,2020/12/17,41,7.2 二值数学形态学图像处理,起源 数学形态学(Mathematics Morphology)形成于1964年,法国巴黎矿业学院马瑟荣(G. Matheron)和其学生赛拉(J. Serra)从事铁矿核的定量岩石学分析,提出了该理论。,2020

14、/12/17,42,数学形态学图像处理,发展 数学形态学是一门建立在严格数学理论基础上的学科,其基本思想和方法对图像处理的理论和技术产生了重大的影响。 形态学一般指生物学中研究动物和植物结构的一个分支。数学形态学表示以形态为基础对图像进行分析的数学工具。 目前,形态学图像处理已成为数字图像处理的一个主要研究领域。 在文字识别、显微图像分析、医学图像、工业检测、机器人视觉都有很成功的应用。,2020/12/17,43,数学形态学图像处理,定义 数学形态学(Mathematical Morphology)是分析几何形状和结构的数学方法。 它建立在集合代数的基础上,是用集合论方法定量描述目标几何结构

15、的学科。 这种结构表示的可以是分析对象的宏观性质,例如,在分析一个工具或印刷字符的形状时,研究的就是其宏观结构; 也可以是微观性质,例如,在分析颗粒分布的纹理时,研究的便是微观结构。,2020/12/17,44,数学形态学图像处理,它的基本思想: 是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的。 数学形态学的数学基础和所用的语言是集合论。 数学形态学的应用可以简化图像数据,保持它们的基本形状,并除去不相干的结构。,2020/12/17,45,数学形态学图像处理,形态学研究几何结构的基本思想 利用一个结构元素(相当于模板)去探测一个图像。 看是否能将这个结构元

16、素很好地填放在图像的内部。,2020/12/17,46,数学形态学图像处理,形态学研究几何结构的基本思想 通过对图像内适合放入结构元素的位置做标记,就可得到关于图像结构的信息。 这些信息与结构元素的尺寸和形状都有关。 构造不同的结构元素,便可完成不同的图像分析,得到不同的分析结果。 包括两部分:图像和结构元素(一个小图像),2020/12/17,47,数学形态学图像处理,数学形态学的基本运算有4个: 膨胀(或扩张) 腐蚀(或侵蚀) 开启 闭合 结构元素:对每个结构元素先要指定一个原点,它是结构元素参与形态学运算的参考点. 注意:原点可以包含在结构元素中,也可以不包含在结构元素中(即原点不一定要

17、属于结构元素),但良种情况下运算结果常不相同.,最基本运算,2020/12/17,48,数学形态学图像处理,1、膨胀(dilation) 简单膨胀是将与某物体接触的所有背景合并到该物体的过程。 过程的结果是使物体的面积增大了相应数量的点。 如果物体是圆的,它的直径在每次膨胀后增大2个像素。 如果两个物体在某点相隔少于3个像素,它们将在该点连通起来(合并为一个物体)。,2020/12/17,49,数学形态学图像处理-膨胀,膨胀在填补分割后物体中的空洞时很有用。 一般膨胀定义为:,2020/12/17,50,数学形态学图像处理,采用基本的3*3结构元素时,一般膨胀化为简单膨胀。,2020/12/1

18、7,51,膨胀运算,例:膨胀运算图解:图(a)阴影部分为集合A,图(b)中阴影部分为结构元素B(标有+处为原点),图(c)为B的映像,图(d)中的2种阴影部分合起来为集合膨胀后的集合。(深色阴影部分为扩大的部分),2020/12/17,52,数学形态学图像处理-腐蚀,2、腐蚀(Erosion) 简单的腐蚀是消除物体所有边界点的一种过程,其结果使剩下的物体沿其周边比原物体小一个像素的面积。(如3*3的结构元素) 如果物体是圆的,它的直径在每次腐蚀后将减少2个像素。 如果物体任一点的宽度不大于2个像素的物体将被除去。 腐蚀对从一幅分割图像中去除小且无意义的物体是很有用的。,2020/12/17,5

19、3,数学形态学图像处理-腐蚀,一般腐蚀定义为:,A用B腐蚀的结果是所有x的集合,其中B平移x后仍在A中。即,用B来 腐蚀A得到的集合是B完全包括在A中时B的原点位置的集合。 使用基本的3*3结构元素时,一般意义的腐蚀简化为简单腐蚀。,2020/12/17,54,数学形态学图像处理,例腐蚀运算图解。图(a)阴影部分为集合B,图(b)中阴影部分为结构元素S(标有+处为原点),图(c)中的深色部分为腐蚀后的结果 ,(浅色阴影部分为原来的部分).图(d)中的深色部分为对腐蚀后的结果再用相同的结构元素进行膨胀的结果。 (浅色阴影部分为原来的部分). 注意:先腐蚀再膨胀不一定能完全恢复原来的内容.先膨胀再

20、腐蚀也不一定能完全恢复原来的内容.,2020/12/17,55,先膨胀再腐蚀不一定能完全恢复原来的内容.比较 b 和d图,2020/12/17,56,原点不包含在结构元素中的膨胀和腐蚀,原点包含在结构元素中时,膨胀有: 腐蚀有: 但原点不包含在结构元素中时,相应的结果会有不同.,2020/12/17,57,原点不包含在结构元素中的膨胀运算,内容来自 章毓晋- 人民邮电出版社,2020/12/17,58,原点不包含在结构元素中的腐蚀运算,2020/12/17,59,原点不包含在结构元素中的腐蚀运算,2020/12/17,60,膨胀和腐蚀的对偶性,一个运算对图像目标的操作相当于另一个运算对图像背景

21、的操作.,2020/12/17,61,膨胀和腐蚀的对偶性,2020/12/17,62,数学形态学图像处理-开启运算,3、开启运算 先腐蚀后膨胀的过程称为开启运算。 它具有消除细小物体、在纤细点处分离物体和平滑较大物体的边界时不明显改变其面积的作用。 开启运算定义为:,2020/12/17,63,开启操作的几何解释,假设将结构元素B看成一个转球. 开启结果的边界通过B中的点完成,即B在A的边界内部转动时,B中的点所能到达A的边界的最远点. 注意:最后的结果是去除了三角形的三个角. 开启后的面积小于或等于原面积,2020/12/17,64,数学形态学图像处理-闭合运算,4、闭合运算 先膨胀后腐蚀的

22、过程称为闭合运算。 它具有填充物体内细小空洞、连接临近物体、在不明显改变物体面积的情况下平滑其边界的作用。 闭合运算定义为:,2020/12/17,65,闭合操作的几何解释,假设将结构元素B看成一个转球. 闭合结果的边界通过B中的点完成,即B在A的边界外部转动时,B中的点所能到达A的边界的最远点. 注意:闭合后的结果,填充了原来的小三角.面积一般大于或等于原面积.,2020/12/17,66,数学形态学图像处理,通常,当噪声图像用阈值分割时,所得到的边界往往很不平滑的,物体区域具有一些错判的孔,背景区域上则散布着一些小的噪声物体。 连续的开和闭运算可以显著地改善这种情况。 有时接连几次腐蚀迭代

23、之后,加上相同次数的膨胀,才可以产生所期望的效果。,2020/12/17,67,开启运算使目标轮廓光滑,并去掉了毛刺和孤立点,锐化角,闭合运算则填平小沟,弥合孔洞和裂缝。膨胀和腐蚀的反复使用就可检测或清除图像中的小成分或孔。,2020/12/17,68,开启和闭合操作的进一步的例子,图(a)是原图.图(b)(e)是开启的结果,向外的拐角圆滑了,向内的拐角未受影响,中间的桥接消失了;图(f)(i)是闭合的结果,向内的拐角圆滑了,向外的拐角未受影响,左边的缝隙消失了.,2020/12/17,69,数学形态学图像处理,5、腐蚀和膨胀的变种 通常反复施以腐蚀运算,将使一个物体变得不存在。 类似地,反复

24、膨胀将把一幅图像中的所有物体合并为一个。 然而,可以对腐蚀和膨胀过程适当地加以改变,以便在一些应用中产生更合适的效果。,2020/12/17,70,数学形态学图像处理,(1)收缩(Shrinking) 当腐蚀以一种不触及单像素物体的方式时,这个过程称为收缩(Shrinking)。 当物体总数必须保持不变时,这种方法很有用。 但收缩时会使非常不圆的物体(如哑铃状的物体)分解,因此这种技术有它的局限性。,2020/12/17,71,数学形态学图像处理,(2)细化(Thinning) 将一个曲线形物体细化为一条单像素宽的线,从而图形化地显示出其拓扑性质。这种方法可用作分隔有相互接触物体的算法的基础。

25、 (3)抽骨架细化的一种。 也称中轴变换。 (4)粗化:在不合并相互分离的物体下进行扩大边界。,2020/12/17,72,膨胀处理的一个例子:填补隙缝,2020/12/17,73,腐蚀,膨胀,开运算用来消除小物体、在纤细点处分离物体、平滑较大物体的边界 闭运算用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积,2020/12/17,74,开运算,闭运算,腐蚀,膨胀,2020/12/17,75,形态学滤波,形态学可以构造与空间滤波概念类似的滤波器. 右图(a)中的二值图像显示了受噪声污染的部分指纹图像.(噪声表现为黑色背景上的亮元素与亮指纹部分的暗元素). 消除噪声,使图

26、像失真尽可能减少. 先开启操作再闭合操作. 图(c)是腐蚀的结果,背景噪声被消除了,因为噪声的尺寸小于结构元素.而包含于指纹中的噪声元素(黑点)的尺寸却有增加.图(d)的膨胀结果消除了指纹中的噪声.=开启操作消除了背景和指纹中的噪声,但在指纹纹路间产生了新的间断. 图(e)对开启的结果进行膨胀,大部分的间断被恢复了,但纹路变粗了;图(f)再对结果进行腐蚀.=闭合操作 最后的结果有些指纹的纹路没有被完全恢复.进一步用抽取骨架的办法.,2020/12/17,76,课堂练习,左图为二值图像B(7*7),右为结构元素图像S(3*3,原点在中间),求对B进行开启和闭合运算的图像.对结果进行讨论. 未出现

27、的像素为0-像素.,2020/12/17,77,先腐蚀后膨胀的过程称为开启运算。,2020/12/17,78,先膨胀后腐蚀的过程称为闭合运算。,2020/12/17,79,结果,开启闭合的结果.开启的结果把小成分或幅度狭小的部分除掉.闭合的结果对连接成分的小孔或细小的凹进部分填充.,2020/12/17,80,MATLAB应用实例-根据具体版本调整,(1)、dilate(imdilate)函数 该函数能够实现二值图像的膨胀操作,有以下形式: BW2=dilate(BW1,SE) BW2=dilate(BW1,SE,n) 其中:BW2=dilate(BW1,SE)表示使用二值结构要素矩阵SE对图

28、像数据矩阵BW1执行膨胀操作。输入图像BW1的类型为double或unit8,输出图像BW2的类型为unit8。BW2=dilate(BW1,SE,n)表示执行膨胀操作n次。,2020/12/17,81,MATLAB应用实例-根据具体版本调整,(2)、erode(imerode) 函数 该函数能够实现二值图像的腐蚀操作,有以下形式: BW2= erode(BW1,SE) BW2= erode(BW1,SE,n) 其中:BW2= erode(BW1,SE)表示使用二值结构要素矩阵SE对图像数据矩阵BW1执行腐蚀操作。输入图像BW1的类型为double或unit8,输出图像BW2的类型为unit8

29、。BW2= erode(BW1,SE,n)表示执行腐蚀操作n次。,2020/12/17,82,MATLAB应用实例-根据具体版本调整,(3)、bwmorph函数 该函数的功能是能实现二值图像形态学运算。它的格式如下: BW2=bwmorph(BW1,operation) BW2=bwmorph(BW1,operation,n) 其中:对于格式,bwmorph函数可对二值图像BW1采用指定的形态学运算;对于格式,bwmorph函数可对二值图像BW1采用指定的形态学运算n次。operation为下列字符串之一: clean:除去孤立的像素(被0包围的1) close:计算二值闭合 dilate:用

30、结构元素计算图像膨胀 erode:用结构元素计算图像侵蚀 ,2020/12/17,83,MATLAB应用实例,(4)、imclose函数 该函数功能是对灰度图像执行形态学闭运算,即使用同样的结构元素先对图像进行膨胀操作后进行腐蚀操作。调用格式为: IM2=imclose(IM,SE) IM2=imclose(IM,NHOOD) IMCLOSE(IM,NHOOD) performs closing with the structuring element STREL(NHOOD), where NHOOD is an array of 0s and 1s that specifies the s

31、tructuring element neighborhood.,2020/12/17,84,MATLAB应用实例,(5)、imopen函数 该函数功能是对灰度图像执行形态学开运算,即使用同样的结构元素先对图像进行腐蚀操作后进行膨胀操作。调用格式为: IM2=imopen(IM,SE) IM2=imopen(IM,NHOOD) IMCLOSE(IM,NHOOD) performs closing with the structuring element STREL(NHOOD), where NHOOD is an array of 0s and 1s that specifies the s

32、tructuring element neighborhood.,2020/12/17,85,例:用MATLAB编程实现图像去噪,用二值形态学方法对图像中的噪声进行滤除的基本思想是:使用具有一定形态的结构元素去度量和提取图像中的对应形状,以达到消除图像噪声的目的。下面是二值形态学消除图像噪声的一个实例。 首先将tire.tif图像加入椒盐噪声,这种噪声前面已经介绍过,它在亮的图像区域内是暗点,而在暗的图像区域内是亮点,再对有噪声图像进行二值化操作,再对有噪声图像进行开启操作,由于这里的结构元素矩阵比噪声的尺寸要大,因而开启的结果是将背景上的噪声点去除了,最后对前一步得到的图像进行闭合操作,将轮

33、胎上的噪声点去掉了。,2020/12/17,86,算法实现的程序代码,I1=imread(tire.tif); %读灰度图tire.tif I2=imnoise(I1,salt %显示原图象和加椒盐噪声后的灰度图像,2020/12/17,87,算法实现的程序代码,I3=im2bw(I1); %把加椒盐噪声后的灰度图像二值化 figure,imshow(I3) ,title(二值图象) %显示二值化后的图像,I4=bwmorph(I3,open); %对二值噪声图像进行二值形态学开运算 figure,subplot(1,2,1),imshow(I4),title(开运算后);%显示开运算后的图像 I5=bwmorph(I4,close); %对上述图像进行形态学闭运算 subplot(1,2,2),imshow(I5),title(闭运算后)%显示最终处理后的图像,2020/12/17,88,英语小练习,In general case, morphological image processing operates by passing a structuring element over the image in an activity sim

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论