版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 摄像机标定方法与精度评估的对比回顾摘要相机标定对于进一步的度量场景测量来说是一个关键性的问题。很多有关标定的技术和研究在过去的几年中相继出现。然而,深入探究一种确定的标定方法的细节,并与其它方法进行精度比较仍是不易的。这种困难主要表现在缺少标准化和各种精度评估方法的选择上。本文给出一个详细的回顾关于一些最常用的标定技术,文中,这些标定方法都采用相同的标准。此外,文中涉及的方法已经过测试,精确度也经过测定。比较结果和后续的讨论也在文中给出。此外,代码和结果在网上也可以找到。2002模式识别学会,发布由Elsevier science,保留所有权利。关键词:相机标定 镜头畸变 参数估计 优化 相
2、机建模 精度评估 3D重建 计算机视觉1、介绍相机标定是计算机视觉计算的第一步。虽然可以通过使用非标定相机获取一些有关测量场景的信息,但是,当需要度量信息时标定是必须的。精确校准相机的使用使从平面投影图像中测量物体在真实世界中的距离成为可能。这种功能的一些应用包括:1、 致密重建:每个像点确定一条光射线通过相机对场景的焦点。这种使用多个视角观察静止场景(来自一个立体系统,或者单个移动相机,或者一个结构光发射器)允许两条交叉的光线得到度量的3D点位置。显然,相应的问题被提前解决了。2、 外观检验:一旦被测目标的致密重建被获得,被重建的目标可以与已存储的目标比较来检测任何制造缺陷如凸起、凹陷或裂纹
3、。一个潜在应用是外观检验用来质量控制。计算机处理的外观检查允许自动化和彻底化检查物体,与缓慢的暗含一种数据统计方法的人工检查截然相反。3、 目标定位:当考虑来自不同对象的各种图像点时,这些对象的相对位置可以被轻易确定。这个有许多可能的应用,尤其是工业零件装配和机器人导航中的障碍回避。4、 相机定位:当相机固定在机械臂或者移动机器人上,相机的位置和相角可以通过计算场景中已知标志的位置获得。如果这些测量值提前存储,一个短暂的分析可以帮助处理器计算出机器人的轨迹。相机的信息可以用在机器人控制或者路线规划上。相机标定可分为两个步骤。首先,相机建模涉及到使用一系列参数对传感器的物理和视觉行为进行数学逼近
4、。其次,使用直接或迭代的方法估算得到的参数值。在所建模型中有两种参数需要考虑。一方面是本征参数,用来模拟图像传感器的内在结构和光学特征。本质上,本征参数决定光线是如何通过镜头投射在传感器的图像面上的。另一方面的参数是非本征参数。非本征参数测量相机相对于世界坐标系统的位置和相角,也就是说,提供相对于用户固定的坐标系统而不是相机坐标系统的数据。相机标定可以按以下几种不同的标准划分。(1)线性和非线性相机标定(区别在于相机畸变的建模上)(2)本征和非本征相机标定。本征标定仅在获得相机物理和光学参数时使用。而非本征标定着眼于测量视场中相机的位置和相角。(3)隐式和显式相机标定。隐式标定是指相机标定过程
5、中并不明确计算相机的物理参数。尽管结果可以用于3D测量或生成图像坐标,但是,由于获得的参数与物理参数不一致,测量结果对于相机建模是无用的。(4)使用已知的3D点或简化的3D点作为标定模式,就那些使用如消失线或其它线性特征等几何特征的方法而言。这些方法还可以按估算相机模型参数的标定方法来划分:1、 非线性最优化技术。当镜头的所有缺陷包含在相机模型中时,标定方法变成非线性。在这种情况下,相机参数通常通过与一个确定的最小化约束条件的函数迭代来获得。最小化指使像点和通过迭代的模型预测值最小。这种迭代技术的好处是几乎所有的模型都可以被校正,精度可以通过增加对收敛域的迭代次数。然而,这种技术需要一个最初有
6、一个好的猜测来保证收敛。一些例子在一些经典的摄影测量法和Salvi中有描述。2、 计算转换矩阵的线性技术。这个方法使用最小二乘法将3D点和它们的2D推测来获得转换矩阵。这种方法的优势在模型是由简化和快速的标定组成的。一个缺点是线性技术对于相机畸变建模是无用的,将会导致粗略的系统精度。此外,有时由于使用隐式标定,从矩阵中提取参数非常困难。一些线性标定相关的参考文献在Hall、Toscani-Faugeras和Ito中找到。3、 两步技术:这种技术使用线性最优化完成一些参数的计算,其余的参数通过迭代计算得出。由于很大一部分地减少了迭代运算的数量,这种方法能够实现快速标定。此外,由于第一步中的线性猜
7、测保证了收敛。两步法利用了前面提及的两种方法的优点。一些参照如Tsai、Weng和Wei。本文是对最常用的一些标定方法进行详细的描述。第一种方法由Hall在1982年提出,是一种基于隐式线性相机标定,通过计算3*4转换矩阵将3D目标点与它们的2D像预测联系在一起。接着由Faugeras在1986年提出基于从转换法中提取相机的物理参数,作为第二种方法。接下来是基于非线性显式相机标定,包括相机畸变建模。此后,第一种方法是在Faugeras线性方法上包含镜头畸变的的微小改进。由Tsai提出的被广泛应用的方法,是基于两步法对径向镜头畸变建模。最后是完整的Weng模型,在1992年提出,包括三种不同类型
8、的镜头畸变,作为最后介绍的方法。需要注意的是,理解一种标定方法的主要问题是缺少符号的标准化和使用不同坐标系。两个限制使比较各种方法变得复杂,因此,大量的工作都用来保证调查中使用同样的符号。这里将对这五种方法进行一一解释,并讨论它们的2D和3D精度。相机精度评估的简短概述在实施用相同工具比较不同标定方法中包含着。本文的结构如下。第二部分关于相机建模,解释相机模型如何通过一系列的几何转化逐步获得。第三部分描述五种不同相机标定技术,并对相机模型参数进行评估。接下来,第四部分解释相机标定技术中一些精度评估的方法。最后,讨论计较每种标定方法的2D和3D精度。2、相机模型模型是一种通过使用一系列方程式来近
9、似物理行为的数学构想。相机建模基于逼近相机的内部几何结构和场景中相机的位置和相角。根据所需精度,有几种相机模型可供选择。最简单的方法是基于线性变换,忽略对镜头畸变的建模。然而,仍存在一些对镜头畸变精确建模的非线性模型。当需要更高精度时这些方法对某些应用很实用。最简单的模型是由Hall提出的。目的是寻找场景中3D点与像平面上的2D投影点的线性关系。这种关系由如下的转换矩阵逼近。 (1)接下来,得到一个3D点,相对于世界坐标系,应用Hall提出的变换矩阵,获得相对于像坐标系的2D像素点. 相机建模通常分为4步,如下:1、将世界坐标系点,从世界坐标系转换到相机坐标系,得到,这种转换通过使用旋转矩阵和
10、向量变换。2、接下来,通过投影转换将,投影到像平面,获得 。3、第三步是基于与真实投影的差距进行镜头畸变建模。这样,点转换为真实投影点(应与镜头捕获点一致)。4、最后,利用另一个坐标系统转换将相机的度量坐标系变成以计算机像素为单位的图像坐标系统,获得 。接下来,不同的相机模型,如FaugerasToscani,有畸变的FaugerasToscani,Tsai和Weng将被详细解释,重点在于这些模型如何实现以上四步。2.1 从世界坐标系到相机坐标系的转变从世界坐标系到相机坐标系转变的执行对于以上五种方法是相同的。这种转换都是通过使用转换矢量和旋转矩阵,如下方程: (2)给出的相对于世界坐标系的点
11、 ,应用方程(2),获得相对于相机坐标系的点。注意到用W表示世界坐标系的相角,在相机坐标系统中用C表示。表示世界坐标系中原点在相机坐标系中的位置。2.2 3D点在像平面上的投影 考虑到任何光学传感器可以看做针孔摄像机。也就是说,像平面在距光学中心f处,并平行于由坐标轴和 组成的平面。此外,得出的相对于相机坐标系的,如果它投影通过焦点 ,光射线将在2D像点处截取像平面。关系如下式: (3) 所有被评估的模型都通过方程(3)来解决投影转换。2.3 镜头畸变 第三步是基于镜头畸变的建模。每种被评估的模型需要一种不同的逼近。方程(4)将无畸变点转换成畸变点,这里 和 代表包含的畸变。 (4) 由Fau
12、geras 和 Toscani提出的相机模型并不包含镜头畸变。因此,和是同样的点, 和为0,如下: (5) FaugerasToscani模型可以通过对径向镜头畸变建模改进。Tsai对畸变采用相同的方法建模,如方程(6), 和代表径向畸变。这种类型的畸变主要由镜头径向曲率的缺陷导致。 (6) 考虑到径向畸变 的位移由式(7)来建模,这里只考虑径向畸变序列中的第一项 。已经证明序列的第一项足够对在绝大部分应用中对镜头畸变建模。 (7) Weng式建模考虑了三种类型的畸变:径向畸变、偏心畸变和薄棱镜畸变。总畸变为三种畸变的和。 (8)然而,Weng提出对未畸变点 而不是畸变点进行镜头畸变建模。尽管
13、两种方法都可以考虑,但是必须要考虑到标定参数是不同的。因此,式(4)必须由下式代替: (9) 径向畸变的建模和Tsai式标定相同,除了Weng使用未畸变点。 (10) 偏心畸变由于镜头的光学中心和相机中心没有正确对其造成。这种类型的畸变引入径向和切向的畸变,可以通过下面公式描述: (11) 薄棱镜畸变由于镜头设计和制造的缺陷和相机装配缺陷造成。这种畸变可以引起径向和切向畸变,可以通过在光学系统中添加一个薄棱镜来建模。如下式: (12)通过增加的(7)、(11)、(12)公式,并执行下列变量替换: ,得到下列公式: (13)2.4 从相机图像到计算机图像坐标系的转变 最后一步是将点表示成计算机像
14、平面的像素点I。根据评估的相机建模方法,有两种变换坐标的方法。 FaugerasToscani提出的相机模型、有畸变的FaugerasToscani法和Weng式使用下列公式进行转换: (14) 是从相对于相机坐标系统的度量方法到相对于计算机图像的像点的转换参数, 是像平面焦点的像素坐标。它们常用来定义两个坐标系的转换。 Tsai式相机建模提出完成转换的其它公式。如下: (15) 这里是主点的像素坐标,是图像尺度因子,是x方向上相邻传感器元件之间中心到中心的距离,是y方向上的距离。是x方向上传感器元件的数目,是由电脑进行采样时图像中每行的像素点数。3、标定方法 标定方法取决于用来逼近相机行为的
15、模型。线性模型如Hall和 Faugeras-Toscani的方法,使用最小二乘法获得模型参数。然而,非线性标定方法,如有畸变的FaugerasToscani式,Tsai式和 Weng式,使用两步法。首先,实现线性逼近来获得初始猜测。然后,迭代运算来优化参数。本节,每种标定方法中标定相机参数的公式和算法都会详细解释。3.1 Hall式方法 用来标定Hall式模型的方法基于公式(16): (16) 通过整理参数,将获得下列表达式: (17) 最后,未知数 整理成12个参数的向量,获得下列方程: (18) 这里,A是12个未知数的向量。Q是2n*12的矩阵,这里n是用来标定相机的对点数。一对对点包
16、括相对于世界坐标系W的3D点和它相对于像平面坐标系I的2D投影点。 (19) 每对对点添加到Q矩阵的两行: (20)考虑到一组n个标定点的3D位置和相应的2D投影可以得到,(n6)。不失一般性, 。由转换矩阵定义的比例因子可以假设近似值。然后, A中所有的元素可以通过线性最小二乘法作为伪逆矩阵而获得。本着应用伪逆矩阵的目的,有必要修改式(18),考虑到,获得: (21) 这里, (22) (23) (24) 最终,A向量中的未知数可以通过应用如下伪逆矩阵算出: (25)3.2 Faugeras法为了获得由Faugeras 和 Toscani提出的完整的模型,需要联合式(2)、(5)和(14),
17、获得下式: (26) 注意到方程(26)可以表示成如下方式: (27) 这里, 接着,计算两个矩阵的结构,可以获得转换矩阵。 (28) (29) 通过与由Hall式标定获得的数字矩阵均等,相机参数可以从符号矩阵A引出。注意到向量 的相角必须是正交的,两个向量的点积等于它们的模乘以它们夹角的余弦值。利用这些关系,4个本征参数和6个非本征参数 可由方程(29)得出: (30) 这里数字矩阵A是: (31)然而,在估算相机参数前,A矩阵必须计算出来。Faugeras提出一种与Hall式估算A的方法些许不同的方法。因此,方程(1)经过重新整理得到: (32)接着,两个方程都根据未知数因式分解,获得:
18、(33)此时,一组5个参数是 ,是 . (34)然后,通过线性最小二乘法获得向量X的值: (35) 这里, (36)因此,向量X通过方程(35)计算: (37)最终,相机参数通过方程(28)引出: (38)在这点,由定义可知,三个方向向量 的模值等于1,利用方程(38),参数 可以计算出来。因此,考虑到 (39)通过向量的点乘和叉乘,可以获得其它参数值。 (40)因此: (41)求出本征参数: (42) 此外,模拟定位的非本征参数如下: (43) 最终,模拟转换的非本征参数也可从(38)获得: (44) 利用(43)式中的向量 ,旋转矩阵 可以直接获得。 三个角度可以通过符号旋转矩阵与标定所得
19、的数字矩阵等价来计算。这时,Faugeras线性模型的所有参数都已求得。这些关系决定了3D目标点和它们的投影点的关系,如方程(28)所示。然而,如果镜头的径向畸变包含在内,模型可达到更高的精度。 3.3 带径向畸变的Faugeras法 当需要更高的精度, Faugeras线性法变得无用。然而,如2.3所示,包含镜头径向畸变的建模可以轻松完成。但是,方程变成非线性,线性最小二乘法也由线性迭代替换。 通过联列方程(2)-(4),(6)和(7),能够获得如下方程: (45) 此外,方程(14)用于度量坐标到像素点的转换,接着,方程(46)定义了可以通过迭代法计算的未知数向量,如,Newton-Rap
20、hson法或Levenberg-Marquardt法。 (46) 例如,Newton-Raphson法的一般做法是使下列方程最小化: (47) 这里,x是未知向量,是最小化函数,是接近解的值,代表中的雅克比矩阵。为了获得解。使为0。 (48) 注意到迭代算法中收敛的一个问题是初始猜测。然而,初始猜测可以通过FaugerasToscani线性标定法获得,然后令 。此外,初始猜测值和估算参数的差值将作为误差函数。每次迭代中有必要计算的值来获得新的x。 通过应用方程(45)和(14),将参数整理到等式的另一边,可获得 (50) 为了解决系统,有必要应用方程(50)于n个标定点。为了应用方程(49),
21、有必要获得符号函数和它的偏导矩阵J,如下方程: (51) (52) 最终,通过在每次迭代中应用伪逆方程(53),可以获得模型的参数.迭代数越多,精度越高,直到达到收敛。 (53) 3.4 Tsai式标定Faugeras非线性标定基于提出没有镜头畸变的初始猜测值。此外,为了获得精确的相机参数值,需要大量的迭代计算。Tsai式标定也对镜头的径向畸变建模,但是假设存在一些由制造商提供的相机参数。这样可以减少估算初始猜测值的个数。此外,尽管在最后一步中所有参数通过迭代达到最优化,迭代数目通过使用由Tsai提出的标定算法有所减少。最终,联列方程(2)-(4),(6)和(7),可以获得方程(45).注意到
22、这时Tsai式方法等同于带畸变的Faugeras法。一旦 和利用方程(15)在度量坐标系中获得,它们可以表示成像素点 和,并且获得如下方程: (54) 这里: (55)这里有必要找到像点 (度量坐标系中)相对于物点的关系。图2显示出径向畸变如何影响相机模型。可以观察出 段与段平行。考虑到这层约束,可以确定如下关系: (56)利用方程(56),可获得如下方程: (57) (58) (59) 方程(59)可以看成表示物点相对于世界坐标系,而不是物点相对于相机坐标系。 (60)整理方程得: (61)为了计算方程(61)中从方程(54)中获得的n点,联列方程(61)和(55),获得: (62)此时,有
23、n个方程和7个未知数的系统由此获得,可以表达成如下形式: (63) 为了简化符号, 向量的7个组成元素可以用 重命名。 (64) 注意到元素可以利用最小二乘法轻松的计算出来。因此,重点是从的元素中提取相机的标定参数。首先, 可以利用方程(64)获得: (65) 方程(65)是简化的,因为向量 的模等于单位1,获得参数。 (66) 然而,由于没有提供的符号,只有方程(66)是不够的。为了确定符号,从一组测试点中选取位于图像边缘的点 (它的等效3D点也做保留)。可以认为的是正的,可以计算如下方程: (67)通过利用对应的3D点, ,3D点在像平面上的的线性投影(无镜头畸变)可以通过下列方程计算:
24、(68)这时,可以验证的符号。如果点的两个元素和点有相同的符号,认为为正的假设是正确的,相反,是负的。第二个要提取的参数是比例因子 。注意通过整理方程(64),可获得下列方程: (69)这里,已知 的模为1,比例因子总为正。则,可由下列方程获得: (70) 此外,相对于相机坐标系的2D点 ,可以通过相对于图像坐标系的点由方程(55)计算出来。此外,利用方程(67),旋转矩阵 的 向量和转换向量的第一个元素如 可以计算出来。然而,向量 通过向量叉乘计算。(仍要注意任何旋转矩阵的行列式是单位1,即 )。这样Tsai式建模的前三步就完成了,见图3。 然而,下列参数仍是未知的:焦距 ,径向畸变系数 ,
25、相机相对于Z轴的平移 。为了计算这三个参数,首先在不考虑的情况下进行线性逼近。逼近方程如(71),由(45)转换得出: (71) 方程(71)现在应用到整组测试点,得到n个方程和两个未知数。两个未知数 的线性逼近,通过使用伪逆矩阵获得。然而,为了计算包含的更好的逼近,有必要将方程(45)通过使用最优化方法进行迭代,考虑到线性方法中 作为初始解。 最终,为了获得精确解,所有参数进行了优化迭代。整个过程由图3解释。3.5 Weng式标定 Tsai式标定是基于径向畸变建模。Tsai式方法获得的精度对于大部分应用是足够的。然而,在一些相机镜头需要精确建模的情况下,简单的径向逼近是不够的。这种情况下,W
26、eng修改了由FaugerasToscani提出的模型,添加了镜头的三种畸变。这样增加了相机标定的步骤。流程图如图4。 首先获取Weng式完全模型。然而,Weng提出引入变量代换简化方程.这样,令方程(9)和(14)相等,得: (72) 这时,引入两个未知数: (73) 应用到方程(72),得: (74) 未知数的替换时必要的,因为的值通过观察不能获得。因此,有必要用观测点 代表相机坐标系统点后。计算相机畸变。这种替换是合理的,由于由点承受的像平面上的畸变约等于由点承受的畸变。因此, 中的畸变系数从估算,而不是从中估算的。 (75) 最终,重定义系数 ,联列方程(2)、(3)和(75)获得完全
27、模型: (76) 为了能标定模型中的所有参数,Weng提出先获得线性逼近的参数,如未畸变的本征和非本征参数。M向量定义包含所有线性参数。 (77) 此外,对镜头建模的非线性参数定义一个新向量d。 (78) 此外,标定是基于3D测试点和它们的2D投影点上。定义相机模型为F, 为3D点系列, 是投影点系列。然后,标定问题和优化参数,即通过使用两列测试点最小化方程F是相同的。 (79) 优化参数的问题可以通过使用非线性方法解决,步骤如下:1、 设定d=0.2、 标定参数m,即通过修正d来最小化F,。3、 标定参数d,即通过修正m来最小化F, 。4、 回到第2步直到最小化误差满足误差。这种优化方法用来
28、解决不同的问题。首先,向量d加上m可使F的最小化错误。其次,本征参数只有在非本征参数达到足够逼近时才能优化。第三,由于m和线性参数的逼近值一致,如果显著的失真出现,它不能作为最优解。本着用非线性优化的方法获得m的好的估值的目的,有必要在迭代前获得初始猜测值。因此,假设d=0来计算初始猜测值。接着,Weng式模型消除失真,见方程(74),获得2n个如下形式的方程: (80) 利用(80),所有参数都能估算出来。由于m向量有10个未知数,有必要使用至少5组测试点。然而,使用大量点来获得更高精度解。定义下列参数: (81) 这里,向量 和矩阵 的每行分别相等。此外,方程(80)表达成基本形式: (8
29、2) 这里,A是一个有2n行和12列的矩阵。 (83) 然而,向量 不能直接计算,由于系统的齐次性,这也决定了解的多元性。然而,只有一个潜在解满足如下条件:(a)由于旋转矩阵的第三行,向量的模必须是单位1;(b) 的符号必须与相对于像平面的的图像中心一致:如果Z轴与像平面相交,为正;其它情况为负。 为了避免系统方程(82)的齐次解,有必要加上暂时的约束: (84) 这样,方程(82)经过修正,得: (85) 这里A是矩阵A的前11列,B是A矩阵的最后一列,W是包含11个未知数的向量,如: W可通过伪逆矩阵计算: (86) 这时,W是系统的解如方程(85)所示。然而,为了同时作为方程(82)的解
30、,它必须满足两个约束。因此,解除以 ,这样迫使的模值为单位1,如果必要替换,见方程: 此外,注意到向量 是正交的,应用方程(81)可获得m向量的初次逼近值。 然而,初始逼近值并不意味着矩阵 是正交的。接下来是计算正交矩阵 ,第一步是证实: (89) 本着解方程(89)的目的,将它重写成包含3*3的单位矩阵: (90)然后定义一个4*4矩阵: (91) 这里, (92) 这里, , 是的反对称矩阵 ,即: (93) 向量 将通过计算与矩阵B相关的特征值来获得,这里 是特征值,并且 ,最终,矩阵如下方程:利用正交旋转矩阵,其它的参数重新计算一次,获得: 通过迭代来重新计算,在第三次,m的值假设0失真。最终,利用一个两级的迭代。第一级,通过最小二乘法线性获得参数d。第二级,迭代计算m的值。根据精度要求反复这两层迭代。3.5.1 通过修正d非线性优化m级 We
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届江西省丰城九中物理高一第一学期期中达标检测试题含解析
- 2025届湖北省鄂东南联盟物理高一第一学期期末统考试题含解析
- 2025届广西钦州市第四中学物理高一第一学期期中统考模拟试题含解析
- 2025届山东省山东师大附中物理高二第一学期期末学业水平测试试题含解析
- 2025届福建省漳州市重点初中物理高一上期末联考模拟试题含解析
- 2025届湖南省浏阳市三校物理高三第一学期期末质量跟踪监视模拟试题含解析
- 安徽省六安市舒城中学2025届物理高三上期末质量跟踪监视试题含解析
- 2025届江西省安远县一中物理高三第一学期期末质量检测模拟试题含解析
- 河北省唐山市滦南县2025届物理高三上期末联考试题含解析
- 饲料工程基础知识单选题100道及答案解析
- 人体衰老和抗衰老研究 课件
- 新城吾悦广场商业封顶仪式策划方案
- 《故都的秋》《荷塘月色》《我与地坛(节选)》群文阅读 导学案 统编版高中语文必修上册
- 小学数学北师大三年级上册五周长围篱笆
- 25吨吊车参数表75734
- 中职学生学习困难课件
- 外研版五年级上册说课标说教材课件
- 被巡察单位组织人事工作汇报集合5篇
- 青少年科技创新大赛培训课件
- 新闻编辑学--新闻稿件的选择与编辑-54新闻差错的“更正”-课件
- 中学田径基础校本课程教材
评论
0/150
提交评论