数字图象处理期末考试复习.docx

上传人:b****6 文档编号:6207778 上传时间:2023-01-04 格式:DOCX 页数:13 大小:27.54KB
下载 相关 举报
数字图象处理期末考试复习.docx_第1页
第1页 / 共13页
数字图象处理期末考试复习.docx_第2页
第2页 / 共13页
数字图象处理期末考试复习.docx_第3页
第3页 / 共13页
数字图象处理期末考试复习.docx_第4页
第4页 / 共13页
数字图象处理期末考试复习.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数字图象处理期末考试复习.docx

《数字图象处理期末考试复习.docx》由会员分享,可在线阅读,更多相关《数字图象处理期末考试复习.docx(13页珍藏版)》请在冰豆网上搜索。

数字图象处理期末考试复习.docx

数字图象处理期末考试复习

数字图象处理

第一章绪言

一幅图像可以定义为一个二维函数f(x,y),其中x和y是空间坐标,而f在任意一对坐标(x,y)处的幅度称为该图像的亮度或灰度,当x,y和f的幅值都是有限的离散值时,称该图像为数字图像,数字图象处理就是用计算机处理数字图像,数字图象处理是由有限数量的元素组成的,

图像的处理分为:

低级、中级和高级处理。

低级处理包括原始操作,它的特点是其输入输出均为图像。

中级处理的特点是,其输入通常是图像,但输出则是从这些图像中提取的属性,高级处理通过执行通常与人类视觉相关的感知函数。

Matlab的典型应用有:

数学和计算、算法开发、数据获取、建模、模拟和原型设计、数据分析、研究和可视化、科学和工程图形、应用开发

文件必须在当前的目录中,或者在搜索路径的目录中

M函数有两种可以由用户显示的信息类型,第一种信息类型称为H1,它包含函数名和一行描述,第二种信息类型称为帮助文本快。

第二章基本原理

数据处理工具箱(IPT)是扩展MAtLAB数值计算能力的函数集

一幅图像可以定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,而f在任意一对坐标(x,y)处的幅度称为该图像的亮度或灰度,灰度是用来表示黑白图像亮度的一个术语,而彩色图像是单个二维图像组合形成的。

将坐标值数字化称为取样,将振幅数字化称为量化,当F的x,y分量和振幅都是有限且离散的量时,称该图像为数字图像。

取样和量化的结果是一个实数矩阵,工具箱使用(r,c)表示行与列。

读取图像函数imread(‘图像名‘)imread支持GIF格式,但imwrite不支持,函数size(f)可以输出一幅图像的行数和列数,whosf可以显示出一个数组的附加信息,

显示图像用函数imshow(f,G),f是一个图像数组,G使显示该图像的灰度等级,省略则默认灰度等级为256,imshow(f,[lowhigh]),会将所有小于或等于low的值都显示为黑色,所有大于或等于high的值都显示为白色,imshow(f,[])可以将变量的low设置为数组f的最小值,将变量high设置为数组f的最大值,函数Pixval经常用来交互地显示单个像素的亮度值。

函数imwrite(f,‘fliename’)可以将图像写到磁盘上,但是文件名必须是一种可以识别的格式。

数据类:

表中的前八种是数值数据、类,第九项是字符类,最后一项是逻辑数据类,8比特图像是实际中最常用的一种图像,

工具箱支持以下四种图像类型:

亮度图像、二值图像、索引图像、RGB图像

大多数单色图像的处理运算都是通过二值图像或亮度图像来进行的,规定双精度型归一化亮度图像的取值范围是[0,1]

一个取值只包含0和1的uint8类数组,在matlab中并不认为是二值图像,要通过logical函数来转换,B=logical(A)

要测试一个数组是否是逻辑数组,用函数islogical(c),c是逻辑数组,该函数返回1,否则返回0,

一幅图像的特性是由数据类和图像类型这两者来表征的,二值图像的像素只能是logical数据类。

检测输入的数据类用函数im2uint8,将一幅彩色图像转换成灰度图像用函数G=mat2gray(A),二值图像和亮度图像之间的转换用函数im2bw,G=im2bw(f,t),该函数通过阈值处理,将一幅亮度图像f转换成一幅二值图像g,

数组索引包括向量和矩阵索引,向量索引中的方法在矩阵索引中可用,sum(v)会将输入向量v的所有数值元素相加。

M文件函数的组成部分为:

函数定义行、H1行、帮助文本、函数体、命令。

Matlab运算符可以分为以下三种主要类别:

1、执行数值计算的算术运算符(包括矩阵算数运算符和数组算数运算符)

2、在数量上比较操作数的关系运算符

3、执行函数AND、OR、NOT的逻辑运算符

流控制:

基于预定义条件集而控制操作流的能力是所有编程语言的核心,支持8种流控制语句,

两种优化代码的方法:

向量化循环和预分配数组,在向量化后,代码的效率会更高。

预分配数组可以加快代码的执行时间,

第三章亮度变换与空间滤波

空间域指的是图像平面本身,在空间域内处理图像的方法是直接对图像的像素进行处理。

本书第47页,

对图像进行对比度拉伸变幻时进行动态范围处理的基本工具,对数变换的一项主要应用时压缩动态范围,使用函数mat2gray可将值限定在范围[0,1]内,使用函数im2uint8可将值限定在范围[0,255]内,在处理图像直方图的工具箱中,核心函数是imhist。

灰度级均衡化处理的最终结果是一幅扩展了的动态范围的图像,它具有较高的对比度,由函数g=histeq(f,nlev),其中f为输入图像,nlev是输出图像的灰度等级。

(最大为256),

直方图的作用:

均衡化——扩展f的灰度等级到较宽尺度的范围(函数histeq)

匹配化——输出的直方图是人为设计的,很难用数学方法模型描述,需要使结果自动匹配指定的直方图(函数histeq)

直方图的显示用函数imhist

直方图的均衡化步骤:

1、求出灰度级fj,j=0,1,……,L—1.

2、求出各灰度等级个数nj,j=…………

3、求出灰度等级的频数,pf(fj)=nj/n

4、计算累计分布函数C(f)=Pf(fj)(j=0,1,2,……k)

5、应用下列公式,求输出图像的灰度级gi,(gi=INT[(gmax—gmin)C(f)+gmin])

6、统计映射后各灰度级像素数目N.

7、求输出直方图

8、利用fj—>gj,求得均匀分布的输出图像

直方图的均衡化是通过扩展输入图像的灰度等级到较宽尺度的范围来实现图像增强

直方图的变换:

用一个转移函数P对输入图像灰度f变换,g=P(f),使得Pf(g)符合均匀分布,指数分布,双曲线分布,瑞利分布等

空间滤波的领域处理包括:

(1)定义中心点(x,y)

(2)仅对预先定义的以(x,y)为中心点领域内的像素进行运算

(3)令运算结果为该点处处理的响应

(4)对图像中的每一点重复此步骤

滤波器在该点处的响应是滤波掩膜所限定的相应领域像素与滤波器系数的乘积结果的累加,卷积是在相关上将掩膜W旋转180度,再按一定的方式在图像f中移动的过程。

卷积基本上是简单地冲击的位置复制W。

(从左至右,从上至下)

滤波分为线性和非线性的,非线性是对领域操作,线性是通过傅里叶变换,(又分为平滑和锐化,平滑(低通)用于模糊图像,消除噪声、小对象或链接,锐化(高通)用来突出细节,增强边缘),线性滤波用函数imfilter,滤波最主要的目的是去除噪声,对图像滤波只能用double类型。

书上68页

非线性空间滤波也基于领域操作的,线性空间滤波基于乘积之和,令每个中心点处的响应等于其领域内的最大像素的操作即为非线性滤波,

滤波器(线性:

fspecial,非线性:

ordfilt2),最大值、最小值、中值、均值、二维中值滤波。

第四章频域处理

傅里叶变换在图像增强、图像复原、图像数据压以及其他主要实际应用的设计和实现过程都很重要。

傅里叶公式:

79页

傅立叶变换得到的图像也是周期无穷的,一维期望的周期可以通过在计算变换之前让f(x)乘以(—1)的x次方来得到,这样可将变换的原点移动到点u=M/2,

二维傅立叶变换之前将f(x,y)乘以(—1)的x+y次方来得到,通过将原点的变换值移动到频率矩形的中心位置,可简化频谱的视觉分析。

平移函数:

fftshift,反平移函数:

ifftshift

使用IPT函数fftshift将变换的原点移动到频率矩形的中心,函数语法为

Fc=fftshift(F)

其中F使用fft2计算得到的变换,Fc是已居中的变换,函数fftshift通过交换F的象限来操作,在变换计算后使用FFTSHIFT的结果,于在计算变换前将输入图像乘以—1的X+Y次方得到的结果相同,但要注意的是,这两种处理的过程不可互换,

考虑居中问题时,若变量u和V的范围分别为0到M-1和0到N-1,则频率矩形的中心位于(M/2,N/2)若是0到M和0到N,则是(M/2+1,N/2+1)

空间域和频域线性滤波的基础都是卷积定里,如下

f(x,y)*h(h,y)H(u,v)F(u,v)和f(x,y)h(h,y)H(u,v)*G(u,v)

其中*表示两个函数的卷积,双箭头两遍的表达式组成了傅里叶变换对,第一个表达式两个空间函数的卷积可以通过计算两个傅里叶变换函数的乘积的逆变换得到,相反,两个空间函数的卷积的傅里叶变换刚好等于两个函数的傅里叶变换的乘积。

频域滤波的目的是选择一个滤波器传递函数,以便按照指定的方式修改F(u,v).误差清除(P>=A+C-1,Q>=B+D-1)

傅里叶变幻的基本步骤:

1、使用函数paddedsize获得填充参数,2、得到使用填充的傅里叶变换,3、生成一个PQ

(1)*PQ

(2)的滤波函数H,4、将变换乘以滤波函数,5、获得G的傅里叶变换的实部6、讲左上部的矩形修剪为原始大小,

函数FREQZ2用于计算FIR滤波器的频率响应,

M函数的核心是需要在频率矩形中计算任意点到指定店的距离函数。

在频率域使用低通滤波函数lpfilter,高通hpfilter,绘制线框图的最简单法是使用函数mesh,彩色处理函数colormap,

低通滤波使图像变得模糊,高通滤波通过削弱傅里叶变换的低频而保持高频相对不变,使图像变得更加清晰,即锐化。

高频强调滤波:

丢失低频信息,平滑区基本消失,采用加强滤波来弥补。

高通滤波偏离了直流项,从而把图像的平均值降低到0,一种补偿方法是给高通滤波器加上一个偏移量,

第五章图像复原

复原的目的是在预定义的意义上改善给给定的图像,增强技术基本上是以启发式过程来处理一幅图像的,复原技术用模糊函数来消除图像的模糊。

OTF和PSF是一个傅里叶变换对,工具箱提供了两个函数otf2psf和psf2otf,用于两者之间的转换,

模拟噪声的行为和影响的能力是图像复原的核心,两种基本噪声:

空间域的噪声和频域的噪声,使用函数imnoise来使用噪声污染一幅图像,高斯噪声在诸如低照明水平图像传感器操作等情况下被用做一种近似,椒盐噪声由不完整的开关设备产生,照相乳剂中的银粒大小是用对数正态分布描述的随机变量,瑞利噪声产生与波段成像,指数和厄兰噪声在描述激光成像中很重要。

由椒盐噪声产生的噪声数组有三个值,相应与胡椒声的0,盐粒噪声的1,无噪声的0.5.

基本噪声Imnoise,按指定分布产生噪声imnoise2,周期噪声imnoise3,估计噪声参数roipoly(选取感兴趣的区域)

图像的周期噪声一般产生于图像采集过程中的电气和或者惦记干扰。

噪声的均值m和方差q^2的关系,问题变成通过样本图像来估计均值和方差,然后用这些值来估计求解a和b。

噪声参数通常直接由带噪声的图像或一组噪声的图像来估计,选择一个尽可能与背景一样无特色的区域,以便使该区域的亮度值的可变性主要由噪声产生。

那些不以PSF知识为基础的图像复原方法统称为盲去卷积算法。

图像空间变换的大多数计算方法都可以归为两类:

利用正向映射的方法和反向映射的方法,正向映射过程中的一个问题是,输入图像的两个不同的或更多的像素点可能会被变换成输出图像上的同一个像素点,另一个潜在的问题是,可能有些输出像素根本就没有被赋值,

图像配准方法寻求将两幅相同场景的图像加以对准,

第六章彩色图像处理

图像处理工具箱将彩色图像当作索引图像或RGB图像(红,绿,蓝)。

以下几种重要的彩色:

RGB色彩空间:

立方体,crgbcube(30,40,50)视角,任一通道0-255.

索引颜色:

数据矩阵X+映射矩阵map

NTSC彩色系统:

用于电视

YCBCr释色空间:

视频

HSV色彩空间:

六面

CMY和CMYKmorph<变形软件>

HIS色彩空间:

lab(亮度,色泽)等值,相关性最小

索引图像有两个分量,即整数的数据矩阵x和色彩映射矩阵map

函数dither可以用于灰度图像和色彩图像,抖动是在印刷业和出版业中常用的一种处理,它在由点组成的印刷页上给出色调变化的直观效果。

在灰度图像的情况下,抖动色调试图用在白色背景上产生黑点的二值图像来得到灰色调

半色调技术又叫抖动技术

函数dither处理灰度图像的语法是:

bw=dither(gray_image)

dither采用抖动从RGB图像创建索引图像

grayslice从灰度级亮度图像通过多级值创建索引图像

gray2ind从灰度级亮度图像创建索引图像

ind2gray从索引图像创建灰度级亮度图像

rgb2ind从RGB图像创建索引图像

ind2rgb从索引图像创建RGB图像

rgb2gray从RGB图像创建灰度级图像

NTSC彩色空间:

NTSC彩色制式在美国用于电视系统,这种形式的一个主要优势是灰度信息和彩色信息是分离的,所以同一个信号既可以用于彩色电视机,又可用于黑白电视机。

在NTSC制式中,图像数据是由三部分组成的:

亮度(Y),色调(I),饱和度(Q)

YCbCr彩色空间:

YCbCr彩色空间广泛用于数字视频,亮度信息用单个分量Y来表示,彩色信息用两个色差分量Cb和Cr来储存。

分量Cb是蓝色分量和一个参考值的差,分量Cr是红色分量和一个参考值的差

HSV是人们用于来从调色板或颜色轮中挑选颜色所用的彩色系统之一,色调,饱和度和数值为色泽,明暗和调色。

HSV色彩空间可以通过沿灰度轴来研究RGB彩色立方体加以公式化表达,从而得出六边形彩色调色板

青色,品红色和黄色是光的合成色。

除HSV外,至今为止所讨论过的彩色空间还没有适合人们以术语描述彩色方式

RGB彩色图像是由三幅单色的亮度图像构成的,所以一定可以从一副RGB图像中提取亮度。

彩色图像处理:

我们把彩色图像处理细分成三个主要类别:

1、颜色变换

2、单独彩色平面的空间处理

3、颜色向量处理

第一类处理每个彩色平面的像素,该处理严格地以像素值为基础,而不是以它们的空间坐标为基础。

第二类以各个彩色平面进行空间滤波。

第三类是以同时处理彩色图像的所有分量为基础的处理技术。

彩色变换:

变换函数的说明可以按图形方式操作控制点来交互的产生,这些控制点是函数interpig和spline的输入并时地在被处理的图像上显示变换函数结果。

Ice函数可准确的做到这一点,其语法为:

g=ice(‘PropertyName’,‘PropertyValue’,…)

彩色图像的空间滤波:

图像平滑和图像锐化

单色图像的平滑可以通过空间掩模中的相应系数去乘所有像素的值,并用掩模中的元素的总数去除以实现

使用线性空间滤波器平滑RGB彩色图像fc的步骤

1、提取三幅分量图像

2、分别对每幅图像滤波

3、重建滤波后的RGB图像

用线性空间滤波器锐化一副RGB彩色图像遵循节前所示的相同步骤,但使用的应是锐化滤波器

我们将通过考虑彩色图像处理的两个重要应用来说明向量处理:

彩色边缘检测和区域分割(Sobel、Canny、prewitt三个函数)

最大变化率出现时的角度为:

a(x,y)=arctan(Gy/Gx)

gradient:

黑白梯度

colorgrad彩色梯度

分割是把一副图像分成一些区域的处理。

分割的目的是对图像中的每一个RGB像素进行分类,使其在指定的范围内有一种颜色或没有颜色。

我们需要一个相似性亮度。

最简单的度量之一是欧几里得距离

第七章小波

1、属于频率域既有频率信息,又有空间信息,小波又称为子波,是一个有限的,均值为零的振荡波形,傅立叶在分析突变信号和非平稳信号时无能为力

2、小波能更加有效的提取信号和分析信号(水平,垂直,对角线)

3、被称为数字显微镜

4、小波用级数划分,第几级根据需要决定

5、母小波平移—时间,尺度函数伸缩—频率

dwt一维小波变换idwt一维小波逆变换

dwt2二维小波变换idwt2二维小波逆变换

wavedec2多级小波分解waverec2多级小波重构

术语离散小波变换指的是这样一类变换:

不仅其中使用的变换核不同,而且这些函数的基本特性和它们应用的方法也不同。

各种变换都与这样的事实有关,即变换的展开函数是变化频率和持续时间受限的小波

上采样:

相当于放大,下采样:

相当于缩小

小波变换的性质:

1、可分离性、尺度可变性和平移性

2、多分辨率的一致性

3、正交性

小波变换的几个主要函数:

wavefiltewavefastwaveback

基于小波的图像处理的基本方法:

1、计算一副图像的二维小波变换

2、修改变换系数

3、计算反变换

4、图像压缩

 

第八章图像压缩

三个基本数据冗余:

1.编码冗余2.像素间冗余3.心理视觉冗余

图像压缩系统是由两个截然不同的结构块组成的:

一个编码器和一个解码器

压缩过程要有1.编码器2.解码器

解码器仅包括两部分:

一个符号解码器和一个反映射变换器

霍夫曼码

霍夫曼方法的第一步是,通过对符号的概率排序并将最低概率符号组合为下一次源约简时替代这些符号的单个符号,来建立一个源约简序列

霍夫曼方法的第二步是对每个约简的源编码,编码从最小的源开始一直到原始源

生成y.code的过程如下所示:

1、使用x的最小值和最大值之间的单位带宽bin计算输入x的直方图h,并缩放该直方图,以使其为一个UINT16向量

2、基于缩放的直方图h,利用huffman产生霍夫曼码map

3、利用map映射输入x并把它转换成一个字符数组hx

4、构建向量hx,使其字符排列为16个字符的字符段

5、将hx16的16字符元素转换为16比特二进制数

霍夫曼解码基本步骤:

1、从输入结构y中提取维数m和n以及最小值xmin

2、通过将x的直方图传递给函数huffman,重新创建用于对x进行编码的霍夫曼码,重新创建的霍夫曼码在程序清单中称为map

3、通过一系列计算上有效的二分查找,建立一个数据结构

4、将该数据结构和已编码的数据传递给C函数unravel

5、将xmin加到x的每个元素中,并调整其大小以匹配原始x的维数

在MATLAB中可结合使用C和Fortran函数,两个主要目的是:

1、在MATLAB中可调用已预先存在较大的C和Fortran程序,而不必将这些程序重写成M文件

2、尽管C和Fortran函数的计算速度不如MATLAB的M文件快,但以C和Fortran编码可提高效率。

不管采用C和Fortran,结果函数都称为MEX文件

心里视觉冗余:

与编码及像素间冗余不同,心理视觉冗余与真实的或可计量的视觉信息有关。

消除这种冗余是值得的,因为对于通常的视觉处理来说,信息本身不完全是必需的,因为心理视觉冗余数据的消除会导致量化信息的损失,所以称为量化,他是直接操作一副图像的像素,因而是空间域方法

最流行且最全面的连续色调静止画面压缩标准之一是JPEG,压缩本身分4步执行:

8*8子图像提取,DCT计算,量化以及变长码分配

JPEG压缩处理的第一步是把输入图像细分为不重叠的8*8像素块,随后从左到右,从上到下进行处理

 

第九章形态学图像处理

形态学一词通常指生物学的一个分支,它用于处理动物和植物的形状和结构

基本思想:

使用具有一定形态的结构元素来度量和提取图像中的对应形态,达到对图像进行分析和识别的目的

作用:

1、可简化图像数据去掉与研究目的无关的部分

2、完成增强对比度,消除噪声,细化,骨架化,填充和分割等任务

膨胀是在二值图像中“加长”或“变粗”的操作。

这种特殊的方式和变粗的程度由一个称为结构元素的结合控制

A被B膨胀是所有结构元素原点位置组成的集合,其中映射并平移后的B至少与A的某些部分重叠

如果对图像作腐蚀处理,相当于使用结构元素对图像背景进行膨胀处理,反之亦然

腐蚀是收缩或细化二值图像中的对象

A被B腐蚀是所有结构元素的原点位置的集合,期中平移的B与A的背景并不叠加

三种最常用的膨胀和腐蚀的组合:

开运算,闭运算,击中或击不中变换

形态学开运算完全删除了不能包含结构结构元素的对象区域,平滑了对象的轮廓,断开了狭窄的连接,去掉了细小的突出部分

与开运算不同的是,闭运算一般会将狭窄的缺口连接起来形成细长的弯口,并填充比结构元素小的洞

击中或击不中变换这一名称基于运算结果被这两次腐蚀影响的方式

当击中或击不中结构元素较小时,计算击中或击不中变换的较快方法是使用查找表LUT

工具箱提供两个函数makelut和applylut,这两个函数可用于实现这种技术,函数makelut基于一个提供给用户的函数构造一个查找表,函数applylut则使用这个查找表来处理二值图像。

 

IPT函数bwmorph可基于膨胀,腐蚀和查找表操作的组合实现许多有用的操作,该函数的调用语法为:

g=bwmorph(f,operation,n)

细化是在图像中将二值物体和形状减小为单个像素宽的线

骨骼化是另一种将二值图像中的对象约简为一组细骨骼的方法,这些细骨骼仍保留原始对象形状的重要信息

重构是一种涉及到两幅图像和一个结构元素的形态学变换,一幅图像即标记,是变换的开始点。

另一幅图像是掩膜,用来约束变换过程。

腐蚀通常会去除小的对象,而随后的膨胀往往会还原所保留对象的形态。

使用结构元素B对f由重构做开运算的定义为Rf(f-B)

使用结构元素b对f的灰度膨胀记为f+b

结构元素b对f的灰度腐蚀记为f-b

膨胀和腐蚀可以组合使用,从膨胀后的图像中减去腐蚀过的图像可产生一个形态学梯度,它是检测图像中局部灰度级变化的一种度量

假设一副图像函数f(x,y)可看作是一个三维表面,换言之,其亮度值解释为xy平面上的高度值,然后,b对f的开运算可以解释为结构元素b沿表面f的下沿向上移动,并移过f的整个定义域,通过找到结构元素的任何部分所能到达的最高点,就可以构建开运算

一般来说,开运算用来去除小的亮点,同时保持所有的灰度级和较大的亮区特性相对不变

其构建方式是当结构元素在曲线的上方滑动时,找到结构元素的任何部分所能到达的最低点,我们看到闭运算去除了比结构元素更小的暗色细节

重构过程的每一次迭代都扩展了标记曲线的峰值,直到被掩膜曲线强制压下为止

闭运算重构是通过对一副图像求补,计算其开运算重构并对结果求补来实现的

重构的功能:

由重构做开运算、填充孔洞、清除边界对象

 

第一十章图像分割

单色图像的分割算法通常基于图像亮度值的两个基本特性,不连续性和相似性,在第一种类别中,处理方法是基于亮度的突变来分割一副图像,在第二种类别中,主要方法是根据事先定义的准则把图像分割成相似的区域

检测亮度不连续的三种基本类型:

点,线,边缘

边缘检测最通常用的方法是检测亮度值的不连续性

拉普拉斯算子自身很少被直接用做边缘检测,因为二阶导数对噪声具有无法接受的敏感性,它的幅度会产生双边缘,而且它不能检测边缘的方向

边缘检测的基本意图是使用如下两个基本准则之一在图像中找到亮度快速变化的地方:

1、找到亮度的一阶导数在幅度上比指定的值大的地方

2、找到亮度的二阶导数有零交叉的地方

典型的边缘检测算法遵循用链接过程把像素组成有意义的边缘的方法,一种寻找并链接图像中线段的处理方式是Hough变换

克服找到明显峰值的方法:

1、找到包含有最大值Hough变换单元并记下它的位置

2、把第一步中找到的最大值点的领域中的Hough变换单元设为零

3、重复该步骤,直到找到需要的峰值数时为止,或者达到

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 远程网络教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1