骨架提取与重建

合集下载

肝脏血管骨架的三维重建及实现

肝脏血管骨架的三维重建及实现
data through curve flow filter,and segments CT im age sequence of l iver pipeline,using region growing segmentation r ood- e1.Then,based on the ana lysis of two binary image thinning algorithm and morphology,it realizes liver vascular skeleton extraction by the way of 3D image thinning algorithm .By provid ing a graphica l ils er interface,it provide s l iver dis ease cl i- nicians with the technology research foundation of the clinica l diagnosis.
2016年 6月 第 16卷第 2期
廊坊师范学院学报 (自然科学版 ) Journal of Langfang Teachers University(Natural Science Edition)
Jun.2016 V 01.16 No.2
肝 脏 血 管 骨架 的 三维 重 建 及 实现
中 的一 个 方 向 ,保证 算 法平衡 对 称进 行 ,提取 的骨 架 据 的提取 和过 滤操 作 基 础 上 ,对 获 得 的 多 目标 检 测
视化 ,提供全方位的肝脏立体信息 ,实现病变的量化 以平行于 ,Y, 坐标轴 的方 向采样而来 ,根据各方
描述 ,构建虚拟手术环境 ,对血管病变 的预防 、诊断 向采样间距 、采样起点和采样大小 ,图像可由像素类

骨架提取(skeleton)-二值图像细化

骨架提取(skeleton)-二值图像细化

⾻架提取(skeleton)-⼆值图像细化# ⾻架提取-skeleton# ⾻架提取属于形态学处理范畴,放在skimage.morphology⼦模块内# ⾻架提取,也叫⼆值图像细化。

将⼀个连通区域细化成⼀个像素的宽度,⽤于特征提取和⽬标拓扑表⽰。

# skimage.morphology⼦模块提供了两个函数⽤于⾻架提取,分别是Skeletonize()函数和medial_axis()函数。

## skimage.morphology.skeletonize(image)# 格式为:skimage.morphology.skeletonize(image)# 输⼊和输出都是⼀幅⼆值图像。

# 例1:from skimage import morphology,drawimport numpy as npimport matplotlib.pyplot as plt#创建⼀个⼆值图像⽤于测试image = np.zeros((400, 400))#⽣成⽬标对象1(⽩⾊U型)image[10:-10, 10:100] = 1image[-100:-10, 10:-10] = 1image[10:-10, -100:-10] = 1#⽣成⽬标对象2(X型)rs, cs = draw.line(250, 150, 10, 280)for i in range(10):image[rs + i, cs] = 1rs, cs = draw.line(10, 150, 250, 280)for i in range(20):image[rs + i, cs] = 1#⽣成⽬标对象3(O型)ir, ic = np.indices(image.shape)circle1 = (ic - 135)**2 + (ir - 150)**2 < 30**2circle2 = (ic - 135)**2 + (ir - 150)**2 < 20**2image[circle1] = 1image[circle2] = 0#实施⾻架算法skeleton =morphology.skeletonize(image)#显⽰结果fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(8, 4))ax1.imshow(image, cmap=plt.cm.gray)ax1.axis('off')ax1.set_title('original', fontsize=20)ax2.imshow(skeleton, cmap=plt.cm.gray)ax2.axis('off')ax2.set_title('skeleton', fontsize=20)fig.tight_layout()plt.show()#例2:利⽤系统⾃带的马图⽚进⾏⾻架提取from skimage import morphology,data,colorimport matplotlib.pyplot as pltimage=color.rgb2gray(data.horse())image=1-image #反相#实施⾻架算法skeleton =morphology.skeletonize(image)#显⽰结果fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(8, 4))ax1.imshow(image, cmap=plt.cm.gray)ax1.axis('off')ax1.set_title('original', fontsize=20)ax2.imshow(skeleton, cmap=plt.cm.gray)ax2.axis('off')ax2.set_title('skeleton', fontsize=20)fig.tight_layout()plt.show()## skimage.morphology.medial_axis(image, mask=None, return_distance=False)# medial_axis就是利⽤中轴变换⽅法计算前景(1值)⽬标对象的宽度,格式为:# skimage.morphology.medial_axis(image, mask=None, return_distance=False)# mask: 掩模。

matlab骨架提取

matlab骨架提取

matlab骨架提取MATLAB是一种强大而又广泛使用的数学软件,它有能力进行图像处理并提取图像的特征。

其中,骨架提取是一种常见的图像处理技术,可以将图像中的细节信息提取出来并进行分析。

下面介绍MATLAB骨架提取的基本流程及其实现方法。

1.图像预处理图像预处理是骨架提取的重要步骤,它可以使图像中的噪声、模糊和阴影等因素减轻,从而提高骨架提取的效果。

常用的预处理方法有去噪、二值化、边缘检测等。

其中,二值化是将图像转换为黑白的二值图像,边缘检测是将图像中的边缘提取出来。

2.形态学处理形态学处理是指对图像进行膨胀、腐蚀等操作,以改变图像中像素的形状和结构。

在骨架提取中,形态学处理可以设置不同的结构元素,以使得骨架提取结果更加准确。

常用的形态学处理方法有膨胀、腐蚀、开运算、闭运算等。

3.骨架提取骨架提取是指从二值图像中提取出其主干骨架的过程。

常用的骨架提取算法有细化算法、倒数距变换算法、中轴变换算法等。

其中,细化算法是最常用的骨架提取算法之一,它是基于迭代的二值形态学算法,可以得到相对准确的骨架结果。

4.骨架后处理骨架后处理是指对提取得到的骨架进行处理,以得到更加完整的形态信息。

它可以用于去除骨架中的毛刺、孤立点等干扰噪声,也可以用于将骨架与原图像进行匹配,以便于进一步分析和处理骨架。

综上所述,MATLAB骨架提取是一种广泛用于图像处理领域的技术。

它可以帮助用户提取出图像中的主干骨架,并在其基础上进行各种形态分析和处理。

尽管骨架提取存在一些局限性,如难以处理部分凸起物体的骨架、骨架分支过于复杂等问题,但它仍然是一种有效的图像处理技术,可以用于医学图像分析、机器视觉、遥感等领域。

人体骨骼模型的三维重建与运动分析

人体骨骼模型的三维重建与运动分析

人体骨骼模型的三维重建与运动分析人体骨骼模型的三维重建与运动分析是一项重要的研究领域,它涉及到医学、生物力学、计算机视觉等多个学科的交叉。

通过对人体骨骼模型的三维重建和运动分析,我们可以更好地了解人体骨骼系统的结构和功能,为医学诊断、康复治疗、运动训练等领域提供有价值的信息和指导。

一、人体骨骼模型的三维重建人体骨骼模型的三维重建是指通过从图像或视频中提取关键点或轮廓线并进行计算机处理,将人体表面形状转化为三维空间中的骨骼模型。

这个过程需要利用计算机视觉算法和图像处理技术,包括特征提取、目标检测、姿态估计等步骤。

在特征提取方面,常用的方法包括兴趣点检测、边缘检测、纹理分析等。

通过在图像中提取出人体的特征点或边缘,可以建立起人体的轮廓,进而进行骨骼模型的建立。

在目标检测方面,常用的方法有基于模板匹配的方法、基于深度学习的方法等。

通过使用这些目标检测方法,可以在图像中准确地找到人体的位置和姿态。

在姿态估计方面,目前广泛应用的是基于图像结构的方法和基于统计学的方法。

前者通过建立人体姿态与图像结构之间的映射关系,来估计人体的姿态;后者则通过对训练集进行统计学建模,来估计出最可能的姿态。

通过上述方法,我们可以将人体的表面形状转化为三维空间中的骨骼模型,并获得人体的姿态信息。

二、人体骨骼模型的运动分析在完成人体骨骼模型的三维重建后,我们可以进行对人体运动的分析。

运动分析主要涉及骨骼模型的动力学分析和运动轨迹的重建。

动力学分析是指通过分析人体骨骼模型,在特定运动下的力学特性和力的作用方式。

这需要对骨骼模型进行物理建模,包括关节、骨头、肌肉等的建模,以及施加力的模拟。

通过分析骨骼模型在运动中受到的力的变化和分布,可以了解人体关节的受力情况,进而为运动训练和康复治疗提供指导。

运动轨迹的重建是指根据人体骨骼模型的姿态信息,通过对时间序列上的姿态数据进行插值和计算,得到人体运动的轨迹。

这个过程需要考虑到人体运动的平滑性和连续性,以及可能存在的运动噪声。

基于拉普拉斯算子迭代法的点云骨架提取

基于拉普拉斯算子迭代法的点云骨架提取

基于拉普拉斯算子迭代法的点云骨架提取点云骨架提取是计算机视觉领域中一项重要的任务,它可以将点云中的主要形状特征提取出来,为后续的物体识别、形状分析等任务打下基础。

本文将重点介绍一种基于拉普拉斯算子迭代法的点云骨架提取方法。

点云是由大量的三维点坐标组成的数据集,广泛应用于三维重建、场景分析、虚拟现实等领域。

然而,点云数据通常包含大量的细节和噪声,导致形状特征难以直接提取。

因此,对点云进行骨架提取能够将其简化为一系列骨架点,保留主要形状特征,提高后续处理的效率和准确性。

拉普拉斯算子迭代法是一种基于局部特征的骨架提取方法,其基本思想是通过迭代优化的方式,逐步确定点云中的骨架点。

具体步骤如下:首先,将点云数据进行三角化处理,得到点之间的邻接关系。

然后,计算每个点的法向量,用于后续的相关计算。

接着,进行初始化,选择一部分点作为初始的骨架点,并计算其质心。

然后,对每个点进行迭代优化。

首先,计算每个点到其邻接点的平均距离。

然后,根据平均距离,计算每个点的拉普拉斯能量,作为点的重要性度量。

通过比较每个点的拉普拉斯能量,选择能量最小的点作为新的骨架点,并更新骨架点集合和质心。

接下来,更新每个点的邻接关系和法向量。

对于新的骨架点,将其添加到邻接关系中,并重新计算其他点到它的平均距离。

同时,对于与新的骨架点相邻的点,更新其法向量。

最后,根据骨架点的质心和邻接关系,生成点云的骨架。

该方法的优势在于能够充分利用点云中的局部特征,准确地提取出主要形状特征。

同时,该方法可以根据应用需要进行参数调整,灵活性较高。

然而,该方法的实际应用中仍然存在一些挑战。

首先,点云数据通常非常庞大,导致计算量大、耗时长。

其次,点云数据中可能存在噪声和异常点,对骨架提取结果产生干扰。

因此,如何进一步优化算法的效率和鲁棒性仍然是一个值得研究的问题。

综上所述,基于拉普拉斯算子迭代法的点云骨架提取方法在点云处理中具有广泛的应用前景。

通过对点云进行骨架提取,可以提取出主要的形状特征,为后续的形状分析和物体识别任务提供有力支持。

骨架曲线提取

骨架曲线提取

骨架曲线提取
骨架曲线提取是图像处理中的一种技术,用于从图像中提取目标物体的主要结构或边缘信息。

骨架曲线通常代表目标物体的中轴线或主要骨干,对于形状分析、图像识别和计算机视觉等领域具有重要意义。

以下是一般的骨架曲线提取方法:
1.细化算法(Thinning Algorithm):细化算法是最常见的骨架曲线提取方法之一。

该算法通过迭代,逐渐去除目标物体的边缘像素,直到获得骨架曲线。

经典的细化算法包括Zhang-Suen细化算法和Guo-Hall细化算法。

2.距离变换(Distance Transform):这种方法首先计算图像中每个像素到最近目标物体边缘的距离,然后根据距离信息提取骨架曲线。

距离变换方法不仅用于骨架曲线提取,还广泛应用于形状分析和模式识别。

3.中轴变换(Medial Axis Transform):中轴变换寻找目标物体内部的局部极大值区域,形成中轴线,该线代表了目标的主要结构。

中轴变换方法适用于具有复杂形状的物体。

4.基于梯度的方法:利用图像梯度信息来提取目标的边缘或中轴线。

梯度信息可以通过使用Sobel、Prewitt等滤波器来获取。

5.基于模板匹配的方法:使用特定的模板匹配目标物体的结构,通过匹配过程提取目标物体的骨架信息。

在选择骨架曲线提取方法时,需要考虑目标物体的形状、图像噪声水平、计算效率等因素。

不同的方法适用于不同的场景,因此在实际应用中可能需要尝试多种方法并根据具体情况选择最适合的方法。

人体骨架的三维重建

人体骨架的三维重建

人体骨架的三维重建本文的主要工作就是将人体二维骨架序列重建成三维人体骨架序列,利用摄像机的透视投影模型、人体关节间的骨骼连接关系及人体骨骼长度等先验知识,将人体关节点的二维坐标恢复为三维坐标,重构出三维空间下的人体运动。

1摄像机定标三维计算机视觉系统应能从摄像机获取的图像信息出发,计算三维环境物体的位置、形状等几何信息,并由此识别环境中的物体,图像上的每一点的亮度反映了空间物体表面某点反射光的强度,而该点在图像上的位置则与空间物体表面相应点的几何位置无关。

为了定量地描述光学成像过程,我们首先定义以下三个坐标系:图像坐标系、摄像机坐标系与世界坐标系。

摄像机采集的图像以标准电视信号的形式输入计算机,经计算机中的专用模数转换板变换成数字图像。

每幅数字图像在计算机内为数组,行列的图像中的每一个元素(称为象素,pixel)的数值既是图像点的亮度(或称灰度,若为彩色图像,则图像上象素的亮度将由红、绿、蓝三种颜色的亮度值来表示)。

如图1-1表示,在图像上定义直角坐标系、,每一个象素的坐标分别是该象素在数组中的列数与行数。

所以,是以象素为单位的图像坐标系的坐标。

由于只表示象素位于数组中的列数与行数,并没有用物理单位表示出该象素在图像中的位置,因而,需要再建立以物理单位(例如毫米)表示的图像坐标系,该坐标系以图像内某一点为原点,轴与轴分别与、轴平行。

摄像机成像几何关系可由图1-2表示。

其中点称为摄像机光心,轴和轴与图像的轴与轴平行,轴为摄像机的光轴,它与图像平面垂直,光轴与图像平面的交点,即为图像坐标系的原点,由点与,,轴组成的直角坐标系称为摄像机坐标系。

为摄像机焦距。

图1-2 摄像机坐标系与世界坐标系摄像机坐标系与世界坐标系之间的关系可以用旋转矩阵与平移向量来描述。

因此,空间中某一点在世界坐标系与摄像机坐标系下的齐次坐标如果分别是与,于是存在如下关系:其中,为的旋转矩阵,为的平移矩阵,定义为、、为坐标变换过程中沿轴,轴,轴三个方向的平移量。

医学影像分析中的骨骼模型重建研究

医学影像分析中的骨骼模型重建研究

医学影像分析中的骨骼模型重建研究随着医疗技术的不断发展,医学影像学在诊断和治疗领域中发挥着越来越重要的作用。

医学影像学中的重要一环是图像分析,其中骨骼模型重建是一项极为重要的技术,可用于疾病诊断、手术规划和治疗方案优化等方面。

医学影像中的骨骼模型医学影像中的骨骼模型一般指具有骨骼结构的模型,它可以用于表示人体骨骼结构,进行手术规划和骨折复位等操作。

在医学影像学中,骨骼模型是由CT或MRI数据生成的三维模型。

通过对骨骼模型进行分析和重建,可以实现更加精确的诊断和治疗。

骨骼模型的生成方法骨骼模型的生成方法主要有两种:基于逐层分割的方法和基于三维体绘制的方法。

基于逐层分割的方法是通过对采集的医学影像进行逐层分割,得到骨骼区域的二维轮廓,再将二维轮廓拼接得到三维模型。

这种方法的优点是能够较为准确地生成骨骼模型,但缺点是需要人工进行分割,耗时耗力。

基于三维体绘制的方法是利用CAD软件对医学影像进行三维建模。

这种方法相对于基于逐层分割的方法来说,生成速度更快,不需要颗粒化的图像,可以直接利用医学影像中的三维信息生成骨骼模型。

但是,由于医学影像中的三维信息受到采集设备的限制,所以这种方法对于模型准确性的要求更高。

骨骼模型的重建骨骼模型的重建主要是利用医学影像中骨骼区域的信息进行重建。

这种方法基于医学影像数据,对骨骼进行三维建模。

一般情况下,需要进行以下三个步骤:第一步,提取骨骼区域信息。

这是骨骼模型重建的关键步骤,通过图像分割算法,可以将影像中的骨骼区域提取出来。

第二步,对提取出来的骨骼区域信息进行柔性变形处理,使其更加接近真实解剖情况。

第三步,将柔性变形后的骨骼区域信息进行三维重建,得到骨骼模型。

这一步可以利用三维建模软件完成。

骨骼模型的应用骨骼模型的应用广泛,主要包括医学影像诊断、手术规划和骨折复位等方面。

医学影像中的骨骼模型可以用于疾病诊断,快速定位病灶所在位置,进一步指导医生开展有效的治疗方案。

此外,骨骼模型在手术规划中也有很大的作用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

形态学骨架提取与重建
摘要:本文首先介绍了三种骨架抽取算法, 并选取了最大圆盘的形态学骨架抽取算法作为研究对象,在c++编程的实验基础上,展示了基于形态学的图像骨架提取和图像重建的过程。

关键词:数学形态学;骨架提取;骨架重建
骨架是图象几何形态的一种重要拓扑描述。

利用骨架表示原始图像,可以在保持图象重要拓扑特征的前提下, 减少图象中的冗余信息。

因此, 被广泛应用于生物形状描述, 模式识别, 工业检测, 定量金相以及图象压缩编码等领域。

1 骨架抽取的几种模型
随着研究的深入, 人们提出了多种骨架化算法, 下面首先讨论一下三种最常用的算法。

1.1 中轴变换法: 中轴可以用下面的例子来形象的说明, 设想t = 0 时刻, 将目标边界各处同时点燃, 火的前沿以匀速向目标蔓延, 当前沿相交时火焰熄灭, 火焰熄灭点的集合就构成了中轴。

通常我们对目标图像的细化处理, 就是将图像上的文字、曲线、直线等几何元素的线条沿着中心轴线将其细化成一个象素宽的线条的处理过程。

1.2 影响区骨架法: 首先介绍一下测地距离和测地影响区的概念。

测地距离(),
d x y以x , y为端点, 包含在A 中的最短距离。


A
图1 中xy为欧氏距离, ,
xA Ay为测地距离。

图1 测地距离 图2 最大圆盘方式定义的中轴
测地影响区()A i IZ B :设B 为A 中一个集合, 它由多个连通子集组
成, 记为12,,k B B B 。

连通成分i B 的测地影响区()A i IZ B , 由A 中距i B 的测地距离比距B 的其他连通成分距离都要小的所有点集组成。

()[]{()}:,,,,A i A i IZ B p A j i k j i d P B =∈∀∈≠ (1)
其中, k 为B 中连通成分的个数。

由此得到影响区骨架( SK I Z ) 的定义。

影响区骨架( S K I Z ) :在A 中不属于任何一个B 的测地影响区的点集, 构成影响区骨架, 用()A SKIZ B 表示:
()()1
k A A i i SKIZ B A Y IZ B ==- (2) 1.3 基于最大圆盘的形态学骨架抽取算法B l um 与N ag l e 等人对区域的骨架作了很形象的描述。

他们设想采用一个直径大小可任意改变的圆盘, 连接成分可以由一系列的最大圆盘来描述。

最大圆盘与连接成分的轮廓相切, 连接成分的骨架则是这一系列最大内切圆盘圆心的连线。

如图2 所示。

以骨架上这些点为圆心的圆盘满足两个条件:(1)这些圆位于图像内部( 即被图像完全包容) ;(2)这些圆都是最大的,即在图像内部不可能再找到另一个圆能完全包容这个圆。

通过以上的说明可以看到在求图像的骨架时应满足两个条件:在求骨架的过程中,图像应该有规律的缩小;在图像逐步缩小的过程中应使图像的欧拉数, 即连通性质保持不变。

下面用数学形态学来描述求骨架的过程。

对于n = 0, 1, 2……, 定义骨架子集Skel( S ; n ) 为图像S 内所有最大圆盘nB 的圆心 X 构成的集合。

从骨架的定义可知, 骨架是所有骨架子集的并:
()(){};:0,1,2Skel S Skel S n n == (3) 定义1 设X 为欧氏空间2E 上的集合,X 的骨架记为()S X ,()r S X 为骨架()S X 的子集, 即()r S X )对应于X 的最大内切圆
半径为r 的骨架, 则数学形态学对骨架的描述为
()()()()()00r r r S X S X X rB X rB drB ≥≥⎡⎤=
=Θ-Θ⎣⎦ (4)
式中rB 指半径为r 的圆, drB 为具有微小半径值dr 的圆。

欧氏网格空间2Z 中, 圆drB 可近似认为是一个小的结构元素B 。

圆rB 则近似地认为是有离散半径n 的圆nB :nB B B B =⊕⊕⊕( n 次) 。

由此可以得出数学形态学对骨架的另一种定义形式。

定义2 设X 为欧氏网格空间2Z 上的集合, X 的骨架记为S ( X ) , 则数学形态学对骨架可描述为:
()()()()()()0,N
n S X Sn X Sn X X nB X nB B =⎡⎤==Θ-Θ⎣⎦ (5)
式中()S n X 为X 的第n 个骨架子集, n 为满足()A nB Θ≠∅和()1A n B Θ+=∅的n 值, 即X 至少被B 腐蚀()1n +次才会变为空图像。

nB 为n 个B 的膨胀, 即nB B B B =⊕⊕⊕。

由定义1可以得出计算骨架的迭代过程。

从本质上讲, 定义1 与定义2 其实是一致的, 即定义2 中的每一个子集()Sn X 中的所有点都是用最大圆概念描述骨架定义的方法中所指的大小为nB 的最大圆圆心。

2 数学形态学骨架抽取算法
定义123,,X X X 为包括图像及背景的积累集。

(1)1:0,:r X X ==
(2)21X X B =Θ
(3)If 2X =∅,
Then ()1:,:,N N r S X X ==and go to 7.
(4)32:X X B =⊕
(5)()13:r S X X X =-
(6)12:1,:,r r X X =+=and go to 2.
(7)()()0:N r r SK X S X ==
(8)Return
用数学形态学方法提取的骨架具有下列性质:
(1)若{}0;B =则().SK X =∅
(2)若选B 时;X B Θ=∅则().SK X X =
(3)骨架的各个子集()r S X 之间是不连通的,即所得到的骨架()SK X 为间断的.
(4)若C 为()SK X 的第个子集()r S X 中的元素,即()r C S X ∈,那么结构元rB 中至少包含二个X 的边界点.
3 骨架重建
设二值图像的集合为X ,X 中边界的集合为P ,m 为骨架集合()SK X 中的点,(),d m p 为m 到集合P 中最近点的距离,若P 中存在至少二点x 、y ;满足:()()(),,,d m p d m x d m y ==;即P 中至少有二个点x 、y,m 到x 、y 的距离相等且就是m 到集合P 中最近点的距离,则所有的m 的集合就是 X 的骨架.按照此定义,通常的用骨架重建原图像的方法,是以骨架上每一个点为圆心,以半径为()(),r m d m p =作圆盘,所有圆盘的并集就是重建的原始图像.
用数学形态方求出骨架后,也可用形态学变换的方法重建原始图像,这实际上是求骨架的逆运算.
若设骨架函数()skf x 为:
对任一()x SK X ∈,若()r x S X ∈,则()Skf x r =.
这样,对每一骨架上的元素都对应一个骨架函数()skf x ,且()skf x 记录了该元素所在的是第()skf x 个骨架子集,即:
()()skf x x S X ≥∈若0B B =
则从()skf x 重建原图像X :
()0N
r r X S X rB ==
⊕⎡⎤⎣⎦ (I)

()()()x SK X X x skf x B ∈=⊕
(I)中的骨架表达式表明,图像X 可由各个骨架子集做一次膨胀运
算获得.也可用骨架上的各个元素与相应的结构元做一次膨胀运算以后获得.
二值图像骨架的数学形态学描述及重建算法如下:
设,1X 是包括图像和背景的积累集.
(1) 1:,:r N X ==∅
(2) ()11:r X X S X =
(3) If 0r = return , otherwise 11:X X B =⊕
(4) :1r r =- and go to 2.。

相关文档
最新文档