智能图像处理与分析识别 习题及答案 宋丽梅_第1页
智能图像处理与分析识别 习题及答案 宋丽梅_第2页
智能图像处理与分析识别 习题及答案 宋丽梅_第3页
智能图像处理与分析识别 习题及答案 宋丽梅_第4页
智能图像处理与分析识别 习题及答案 宋丽梅_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

第一章1、什么是数字图像?答:数字图像(DigitalImage)是由模拟图像数字化得到的、以像素为基本元素的、可以用数字计算机或数字电路存储和处理的图像。数字图像的空间坐标和明暗程度都是离散的、不连续的,由数组或矩阵来表示。图像中每个基本单元叫做图像的元素,简称像素(Pixel)。2、简述彩色图像、灰度图像、二值图像三者之间的关系与区别?答:二值图像的每个像素只有黑、白两种颜色。在二值图像中,像素只有0和1两种取值,一般用0来表示黑色,用1来表示白色。在二值图像中进一步加入许多介于黑色和白色之间的颜色深度,就构成了灰度图像。灰度图像中不包含彩色信,标准灰度图像中每个像素的灰度值是0-255之间的一个值,灰度级数为256级。彩色图像是根据三原色成像原理来实现对自然界中的色彩描述的。红、绿、蓝这三种基色的灰度分别用256级表示,三基色之间不同的灰度组合可以形成不同的颜色。区别:①图像不同:二值图像在图像中,灰度等级只有两种。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑白两种颜色,灰度图像在黑色与白色之间还有许多级的颜色深度;②得到过程不同:灰度图像通常是在单个电磁波频谱(如可见光)内测量每个像素的亮度得到的。二值图像中所有的像素只能从0和1这两个值中取;③应用领域不同:二值化图像的应用领域在车牌识别,图像的字符提取。彩色图像则不是;④占用空间不同:二值图像最小,其次是灰度图像,彩色图像最多。3、数字图像处理包括哪些内容?答:数字图像处理的主要内容包括图像增强、图像复原、图像分割、图像特征提取、图像匹配和图像识别等。4、数字图像处理的基本步骤有哪些?答:数字图像处理一般按照图像获取、图像预处理、图像分割、图像特征提取、图像分类与识别的步骤进行。5、列举一个与图像处理技术相关的工程应用案例,分析数字图像处理技术在工程案例中所起的作用。答:例如,在航空航天中,“嫦娥三号”月球探测器以及“祝融号”火星车都携带多种相机,拍摄了大量的蕴含许多科学信息的照片,通过数字图像处理技术人们能更好的从图像中获取信息,能够进一步认识宇宙,大大促进航空航天的发展。第二章1、当被检测区域背景为黑色,前景为红色和蓝色组成的目标时,想要突出红色目标的话,选用什么颜色的光源更佳?答:选用红色光源。背景为黑色,前景为红色和蓝色组成的目标,根据补色率知一种色光照射到其补色物体上被吸收,即使用与被测物体同色系的光会使图像变亮,红色光使红色物体更亮,使蓝色物体更暗。2、光源的照明方式有哪些?各种照明方式适用于什么检测场景?答:光源的照明方式分为前景光照射和背景光照射。前景光是指照明光源位于被测物体的前方,利于表现物体的表面细节特征,可用于各种表面检测。一般情况下可分为垂直照射、高角度照射、低角度照射和多角度照射。背景光是利用背景光创造一个明亮的背景,而不透明或半透明的目标形成暗区,反差强烈,更适合检查底片中缺陷和测量外形尺寸。3、镜头的主要参数有哪些?答:镜头的主要参数:①焦距(FocalLength):从镜头的中心点到焦平面上所形成的清晰影像之间的距离;②视场角(FieldofView):视场是整个系统能够观察的物体的尺寸范围,进一步可以分为水平视场和垂直视场,也就是芯片上能够成像对应的实际物体大小(FOV也可表示成镜头对视野的高度和宽度的张角);③光圈(Aperture):机械装置,是一个通过控制镜头光孔的大小来控制光线透过镜头,进入机身内感光面的光量的装置,常在镜头内;④景深(Depthoffield):指在摄影机镜头前沿能够取得清晰图像的成像所测定的被摄物体前后距离范围;⑤分辨率(Resolution):图像采集系统能够分辨的最小物体的距离;⑥畸变(Distortion):一条直线经过镜头拍摄后,变成弯曲的现象,称为畸变像差。畸变的产生源于镜头的光学结构、成像特性使然。畸变可以看作是像面上不同局部的放大率不一致引起的,是一种放大率像差;⑦对应最大CCD尺寸(CorrespondingmaximumCCDsize):CCD尺寸说的是相机CCD靶面的大小。镜头可支持的最大CCD尺寸应大于或等于选配相机CCD芯片尺寸,才能使CCD发挥最大的效用。4、在拍摄高速运动物体时,相机和镜头的选择及参数设置应注意些什么?答:在拍摄高速运动的物体时,考虑相机和镜头的搭配选型,镜头选择应当根据光敏器件的尺寸(与镜头匹配的传感器尺寸必须小于或等于镜头尺寸)、焦距(即视野稍大于观察范围的镜头)等参数,需要景深与光线环境匹配,光线充足。以分辨率来选相机时考虑需要观察或测量的物体的精度,以帧率挑选相机时,需要挑选比受测物移动速度稍高一点的帧速率,但也无须超过太多。一般来说,分辨率越高,则帧速率越低。一般来说,黑白相机的精度会比彩色相机来得高,噪声较低,若不考虑颜色差别,黑白相机拍摄的图像准确度以及细节呈现往往更好。5、当被测区域大小为8mm×6mm,检测精度要求高于0.005mm时,应如何选择相机的分辨率?答:被测区域是8mm×6mm的方形区域,系统检测精度要求为0.005mm,则相机靶面像素数要大于(8/0.005)×(6/0.005)=1600×1200。(为增加系统的稳定性,不会只用一个像素单位对应一个测量/观察精度值,一般可以选择倍数4或更高)第三章1、什么是均匀采样和非均匀采样?答:在对图像进行采样的过程中,若在(x,y)方向上均进行等间距的采样,则称为均匀采样;反之,则称为非均匀采样。2、什么是线性量化和非线性量化?答:若将灰度值区间分为K个等间距的子区间,则称为线性量化;与线性量化的等间隔划分灰度级区间相反,若将表示数字图像的灰度级范围分为不等间隔的子区间,则称为非线性量化。3、什么是像素的4邻域、8邻域和对角邻域?答:像素的4邻域定义为其上、下、左、右的4个像素;与四邻域类似,当前像素上、下、左、右4个方向,加上左上、左下、右上和右下4个沿对角线方向的相邻像素,称为当前像素p的8邻域;其中,左上、左下、右上和右下4个相邻像素定义为对角邻域。4、什么是图像的灰度直方图?灰度直方图有哪些性质和作用?答:灰度直方图是基于图像灰度值和像素统计分布的形象表示,它概括地表示了一幅图像的灰度级信息。在数字图像处理中灰度直方图是灰度级的函数,它描述了图像中具有该灰度级的像素的个数,其横坐标是灰度级,纵坐标是该灰度出现的频率。直方图具有以下性质:(1)直方图是一幅图像中各像素灰度值出现次数或频率的统计结果,它只反映该图像中不同灰度值出现的频率,而不能反映某一灰度值像素所在的位置信息。即直方图仅包含了该图像中某一灰度值的像素出现的概率,而丢失了其所在位置的信息。(2)任一幅图像,都能唯一的确定一个与之对应的直方图。但不同的图像,可能有相同的直方图。也就是说,图像与直方图之间是一种多对一的映射关系。(3)由于直方图是对具有相同灰度值的像素统计计数得到的,若某一幅图像由若干子图像区域构成,那么各子区域直方图之和就等于原图像的直方图。直方图具有以下作用:(1)数字化参数(2)选择边界阈值(3)计算综合光密度5、常用的数字图像的距离测度有哪些?各有什么特点?答:欧氏距离是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度。余弦相似度是通过计算两个向量的夹角余弦值来评估他们的相似度。汉明距离是两个向量之间不同值的个数6、图像的质量如何评价?答:图像质量评价可分为主观评价和客观评价两大类方法。主观评价法主要凭借评价人员的主观感知来评价图像质量;客观评价法依据评价的数学模型给出量化指标,模拟人类视觉系统感知机制,衡量图像质量。7、图像间的加、减、乘、除法各有什么用处?答:图像加法运算通常用于平均值降噪等多种场合。图像相减常用于检测变化及运动物体,还可用于消除图像背景。图像乘法运算可用来遮住图像的某些部分,其典型运用是用于获得掩膜区域的目标图像。图像除法运算的典型运用是比值图像处理。第四章1、简述直方图均衡化的基本原理。答:直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了像素灰度值的动态范围,从而可达到增强图像整体对比度的效果。2、如何通过图像灰度变换来提高图像的对比度?答:通过对图像进行灰度变换可分为点运算算法和邻域增强算法。1)点运算即对比度增强、对比度拉伸或灰度变换,是对图像中的每一个点单独地进行处理,目的或使图像成像均匀,或扩大图像动态范围,扩展对比度。新图像的每个像素点的灰度值仅由相应输入像点运算,只是改变了每个点的灰度值,而没有改变它们的空间关系。2)邻域增强算法分为图像平滑和锐化两种。平滑一般用于消除图像噪声,但是也容易引起边缘的模糊,常用算法有均值滤波、中值滤波;锐化的目的在于突出物体的边缘轮廓,便于目标识别,常用算法有梯度法、拉普拉斯算子、高通滤波、掩模匹配法、统计差值法等。3、编写一个程序以实现如下功能:将一个灰度图像与该灰度图像进行平移和旋转(边界全部填充为零),并显示和比较这两种操作带来的不同图像输出效果。答:程序如下:I_0=imread("lena.bmp");%把图像转换成灰度图像I_1=rgb2gray(I_0);imshow(I_0);title('原始RGB图像')imshow(I_1);title('RGB图像转化为灰度图像')%%平移Se=translate(strel(1),[2020]);img1=imdilate(I_1,Se);figure,imshow(img1);title('平移后的灰度图像')%%旋转img2=imrotate(I_1,45);figure,imshow(img2);title('旋转45°后的灰度图像')平移后的图像,左边和上边的那部分是平移后空出来的部分。旋转后的图像是扩大图像范围以显示所有的图像,4、图像的旋转变换对图像的质量有无影响?为什么?答:无影响;图像的旋转变换属于图像几何变换,而几何变换只改变像素所在的几何位置,而不改变图像的像素值。因此图像的旋转变换对图像的质量无影响。5、设原图像如下所示,请用分别用最近邻插值、双线性插值和双三次插值法将该图像放大为大小的图像。59605857615959576259605859616056答:最近邻插值法:双线性插值法:双三次插值法:6、简述中值滤波和均值滤波的基本原理。答:中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,其基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标像素为中心的周围个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。7、设原图像如下图所示,利用的模板求解该图像的中值滤波和均值滤波结果。1111111115555551157555511558855115589551155555511555555111111111答:中值滤波结果:均值滤波结果:8、设给出图像集合A和结构元素B分别如下图所示。(1)画出用B膨胀A的结果图。(2)画出用B腐蚀A的结果图。图像集合A结构元素B答:(1)膨胀结果为(2)腐蚀结果为第五章1.二维Fourier变换有哪些性质?答:平移性,旋转性,分配律,尺度性,相关性,周期性。2.二维Fourier变换的可分离性有何意义?答:二维离散傅立叶变换和反变换可用两组一维离散傅立叶变换和反变换来完成,降低了计算的复杂度。3.什么是小波?小波函数是唯一的吗?答:1、小区域的波,是一种特殊的、长度有限的、平均值为零的波形。2、不唯一,小波函数具有不唯一性。4.一个小波函数应满足哪些容许性条件?答:小波必须是振荡的;小波的振幅只能在一个很短的一段区间上非零,即是局部化的。5.论述小波变换的基本性质。答:小波变换是一种时频域变换方法,它继承和发展了短时傅立叶变换局部化的思想,同时又克服了窗口大小不随频率变化等缺点,能够提供一个随频率改变的“时间-频率”窗口,是进行信号时频分析和处理的理想工具。它的主要特点是通过变换能够充分突出问题某些方面的特征,能对时间(空间)频率的局部化分析,通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号分析的要求,从而可聚焦到信号的任意细节,解决了Fourier变换的困难问题,成为继Fourier变换以来在科学方法上的重大突破。第六章1、假设我们有一个[0,1]上的均匀分布随机数发生器U(0,1),请基于它构造指数分布的随机数发生器,推导出随机数生成方程。若我们有一个标准正态分布的随机数发生器N(0,1),请推导出对数正态分布的随机数生成方程。答:(1)设指数分布的随机变量为Y,概率密度PDF表示为:fy=λe-λy;y>0,λ>0,其中CDF由此可知:g指数分布CDF为Gy=因此Y=G-1(2)设标准正态分布的随机变量为X,对数正态分布的随机变量为Y,即是求Y=g(X)。设标准正态分布的概率密度函数f设对数分布的概率密度是hG-求导可得e继而ggX2、考虑在x方向均匀加速导致的图像模糊问题。如果图像在t=0静止,并用均匀加速加速,对于时间T,找出模糊函数H(u,v),可以假设快门开关时间忽略不计。答:gG=因此模糊函数为H3、已知一个退化系统的退化函数H(u,v),以及噪声的均值与方差,请描述如何利用约束最小二乘方算法计算出原图像的估计。答:F设定其残差r=g-Hf应有||给定γ一个初始值计算||若满足||r||²-||η||²处于某一个精度范围之内则结束,否则更新γ大小,可以采用牛顿法.使用计算到的γ(∗)式中计算通过傅里叶变换得到图像在计算||r||2||4、一位考古学教授在做古罗马时期货币流通方面的研究,最近认识到4个罗马硬币对他的研究很关键,它们被列在伦敦大英博物馆的馆藏目录中。遗憾的是,他到达那里后,被告知现在硬币已经被盗了,幸好博物馆保存的一些照片来研究也是可靠的。但硬币的照片模糊了,日期和其它小的标记不能读出。模糊的原因是摄取照片时照相机散焦。作为一名图像处理专家,要求你帮助决定是否计算机处理能被用于复原图像,帮助教授读出这些标记。且用于拍摄该图像的原照相机一直能用,还有些同一时期其它有代表性的硬币。提出解决这一问题的过程。答:本题基本思想是用相机和相似的硬币去模型化相机的退化过程,然后用此结果进行逆滤波。实现步骤如下:(1)选择一枚同时期硬币,尽可能在尺寸和内容上与丢失的硬币相同。选择背景与照片背景的纹理、亮度尽可能相同;(2)设置博物馆的相机在几何结构上尽可能使拍出的照片与丢失的硬币照片相似。获得几张测试图片;(3)对每个硬币的图像采用不同的镜头参数设置,获得的图像在交角,尺寸(照片上背景所占的区域大小等),照片的模糊程度等都尽可能逼近丢失硬币的照片;(4)通过(3)中镜头参数设置使相应丢失照片的退化过程模型化,对每一个这样的设置,去除硬币与背景,并用一个小的亮点在统一的背景去替代硬币和其背景在相同的设置下进行拍照或是其他的机械装置去逼近一个光脉冲。数字化该脉冲,其傅里叶变换就是模糊过程的传递函数;(5)数字化每一个丢失硬币的模糊图像,获得其傅里叶变换。至此,我们获得了每一个H(u,v)与G(u,v);(6)用逆滤波或维纳滤波获得F(u,v)的逼近;(7)求反傅里叶变换,重建图像。第七章1、分别简述利用双峰法、最大阈值类间方差法和迭代选择阈值法进行图像分割的原理。答:(1)在双峰法进行图像分割中,认为图像由前景和背景(不同的灰度级)两部分组成,图像的灰度分布曲线近似认为是由两个正态分布函数(μ1,σ12)和(μ2,σ22)叠加而成,图像的直方图将会出现两个分离的峰值,双峰之间的波谷处就是图像的阈值所在。(2)在最大阈值类间方差法进行图像分割中,将直方图在某一阈值处分割成两组,当被分成的两组的方差为最大时,得到阈值。因为方差是灰度分布均匀性的一种量度,方差值越大,说明构成图像的两部分差别越大,当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小,因此使类间方差最大的分割意味着错分概率最小。(3)迭代选择阈值法是对双峰法的改进,他首先选择一个近似的阈值T,将图像分割成两个部分,R1和R2,计算出区域R1和R2的均值μ1和μ2,再选择新的阈值T=(μ1+μ2)/2;重复以上过程,直到μ1和μ2不在变化为止,此时T即为阈值。2、分析边缘阈值对边缘检测结果的影响。答:在边缘检测中,一旦计算出导数之后,下一步要做的就是给出一个阈值来确定哪里是边缘位置。阈值越低,能够检测出的边线越多,结果也就越容易受到图片噪声的影响,并且越容易从图像中挑出不相关的特性。与此相反,一个高的阈值将会遗失细的或者短的线段。一个常用的这种方法是带有滞后作用的阈值选择。这个方法使用不同的阈值去寻找边缘。首先使用一个阈值上限去寻找边线开始的地方。一旦找到了一个开始点,我们在图像上逐点跟踪边缘路径,当大于门槛下限时一直纪录边缘位置,直到数值小于下限之后才停止纪录。这种方法假设边缘是连续的界线,并且我们能够跟踪前面所看到的边缘的模糊部分,而不会将图像中的噪声点标记为边缘。3、简述Hough变换的基本原理。答:Hough变换的基本原理是利用点与线的对偶性,通过曲线表达形式把原图像空间的曲线变为参数空间的一个点,这样就把原空间中的图像检测问题转化为寻找参数空间中的点的峰值问题,即把检测整体特性转化为检测局部特性。4、简述区域生长法的基本思想。答:区域生长法的基本思想是将有相似性质的像素点合并到一起。对每一个区域要先指定一个种子点作为生长的起点,然后将种子点周围领域的像素点和种子点进行对比,将具有相似性质的点合并起来继续向外生长,直到没有满足条件的像素被包括进来为止。这样一个区域的生长就完成了。5、简述分水岭分割算法的基本步骤。答:(1)把梯度图像中的所有像素按照灰度值进行分类,并设定一个测地距离。

(2)找到灰度值最小的像素点(默认标记为灰度值最低点),让threshold从最小值开始增长,这些点为起点。

(3)水平面在增长的过程中,会碰到周围的邻域像素到这些起始点(灰度值最低点)的测地距离,如果小于设定阈值,则将这些像素淹没,否则这些像素上设置大坝,这样就对这些领域像素进行分类。6、编写一段程序,实现OTSU法对一幅灰度图像进行阈值分割。答:close;clear;clc;I=im2double(imread('ostu.png'));%变为双精度,即0-1[M,N]=size(I);%得到图像行列像素number_all=M*N;%总像素值hui_all=0;%预设图像总灰度值为0ICV_t=0;%预设最大方差为0%得到图像总灰度值fori=1:Mforj=1:Nhui_all=hui_all+I(i,j);endendall_ave=hui_all*255/number_all;%图像灰度值的总平均值%t为某个阈值,把原图像分为A部分(每个像素值>=t)与B部分(每个像素值<t)fort=0:255%不断试探最优t值hui_A=0;%不断重置A部分总灰度值hui_B=0;%不断重置B部分总灰度值number_A=0;%不断重置A部分总像素number_B=0;%不断重置B部分总像素fori=1:M%遍历原图像每个像素的灰度值forj=1:Nif(I(i,j)*255>=t)%分割出灰度值》=t的像素number_A=number_A+1;%得到A部分总像素hui_A=hui_A+I(i,j);%得到A部分总灰度值elseif(I(i,j)*255<t)%分割出灰度值《t的像素number_B=number_B+1;%得到B部分总像素hui_B=hui_B+I(i,j);%得到B部分总灰度值endendendPA=number_A/number_all;%得到A部分像素总数与图像总像素的比列PB=number_B/number_all;%得到B部分像素总数与图像总像素的比列A_ave=hui_A*255/number_A;%得到A部分总灰度值与A部分总像素的比例B_ave=hui_B*255/number_B;%得到B部分总灰度值与B部分总像素的比例ICV=PA*((A_ave-all_ave)^2)+PB*((B_ave-all_ave)^2);%Otsu算法if(ICV>ICV_t)%不断判断,得到最大方差ICV_t=ICV;k=t;%得到最大方差的最优阈值endendJ=im2bw(I,k/255);%转换成二值图,k为分割阈值subplot(121);imshow(I);subplot(122);imshow(J);k%显示阈值运行结果:7、编写一段程序,实现Canny算法对一幅图像进行边缘检测。答:clearall;clc;I=imread('rice.png');%读图%I=rgb2gray(I);%灰度转换I2=double(I);%转化为双精度[H,W]=size(I2);%获取图像大小%%Step1:使用高斯滤波平滑图像B=[121;242;121];%高斯滤波系数B=1/16.*B;%高斯滤波模板方差=0.8A=conv2(I2,B,'same');%使用高斯模板进行卷积.计算二维卷积,结果与原图像大小相同%%Step2:计算梯度的幅值图像,角度图像.%Prewitt梯度模板dx=[-101;-101;-101];%x方向的梯度模板dy=[111;000;-1-1-1];%y方向的梯度模板gx=conv2(A,dx,'same');%获取x方向的梯度图像.使用梯度模板进行二维卷积,结果与原图像大小相同gy=conv2(A,dy,'same');%获取y方向的梯度图像.使用梯度模板进行二维卷积,结果与原图像大小相同M=sqrt((gx.^2)+(gy.^2));%获取幅值图像.大小与原图像相等.(.^)表示数组乘方a=atan2(gy,gx);%获取弧度,范围:-pi~pia=a*180/pi;%将弧度转换为角度,得到角度图像,与原图像大小相等.%%Step3:对幅值图像进行应用非极大值抑制%首先将角度划分成四个方向范围:水平(0°)、-45°、垂直(90°)、+45°fori=1:Hforj=1:Wif((a(i,j)>=-22.5)&&(a(i,j)<0)||(a(i,j)>=0)&&(a(i,j)<22.5)||(a(i,j)<=-157.5)&&(a(i,j)>=-180)||(a(i,j)>=157.5)&&(a(i,j)<=180))a(i,j)=0;elseif((a(i,j)>=22.5)&&(a(i,j)<67.5)||(a(i,j)<=-112.5)&&(a(i,j)>-157.5))a(i,j)=-45;elseif((a(i,j)>=67.5)&&(a(i,j)<112.5)||(a(i,j)<=-67.5)&&(a(i,j)>-112.5))a(i,j)=90;elseif((a(i,j)>=112.5)&&(a(i,j)<157.5)||(a(i,j)<=-22.5)&&(a(i,j)>-67.5))a(i,j)=45;endendend%讨论在3x3区域内在该点梯度方向上进行非极大值抑制.获取非极大值抑制图像Nms=zeros(H,W);%定义一个非极大值图像fori=2:H-1forj=2:W-1if(a(i,j)==0&&M(i,j)==max([M(i,j),M(i,j+1),M(i,j-1)]))Nms(i,j)=M(i,j);elseif(a(i,j)==-45&&M(i,j)==max([M(i,j),M(i+1,j-1),M(i-1,j+1)]))Nms(i,j)=M(i,j);elseif(a(i,j)==90&&M(i,j)==max([M(i,j),M(i+1,j),M(i-1,j)]))Nms(i,j)=M(i,j);elseif(a(i,j)==45&&M(i,j)==max([M(i,j),M(i+1,j+1),M(i-1,j-1)]))Nms(i,j)=M(i,j);end;end;end;%%Step4:双阈值检测和连接边缘DT=zeros(H,W);%定义一个双阈值图像TL=0.1*max(max(Nms));%低阈值TH=0.3*max(max(Nms));%高阈值fori=1:Hforj=1:Wif(Nms(i,j)<TL)DT(i,j)=0;elseif(Nms(i,j)>TH)DT(i,j)=1;%对TL<Nms(i,j)<TH使用8连通区域确定elseif(Nms(i+1,j)>TH||Nms(i-1,j)>TH||Nms(i,j+1)>TH||Nms(i,j-1)>TH||Nms(i-1,j-1)>TH||Nms(i-1,j+1)>TH||Nms(i+1,j+1)>TH||Nms(i+1,j-1)>TH)DT(i,j)=1;end;end;end;figure;subplot(121),imshow(I);title('原图像');subplot(122),imshow(DT);%最终的边缘检测为二值图像title('canny边缘检测后的图像');运行结果:第八章特征提取与特征选择的区别是什么?答:特征选择:特征选择是对模式采用多维特征向量描述,各个特征对分类起的作用不一样,在原特征空间中选取对分类有效的特征组成新的降维特征空间,以降低计算的复杂度,同时改进分类效果。特征提取:特征提取是从模式的某种描述状态提取出所需要的,用另一种形式表示的特征(如在图像中抽取轮廓信息声音信号中提取不同频率的信息等)。联系:特征选择(featureselection)和特征提取(Featureextraction)都属于降维(Dimensionreduction)。这两者达到的效果是一样的,就是试图去减少特征数据集中的属性(或者称为特征)的数目。区别:特征提取的方法主要是通过属性间的关系,如组合不同的属性得到新的属性,这样就改变了原来的特征空间。特征选择的方法是从原始特征数据集中选择出子集,是一种包含的关系,没有更改原始的特征空间。图像特征主要分为哪几类?各类中都包含哪些特征?答:图像特征主要有:颜色特征、形状特征、纹理特征和空间关系特征。颜色特征:颜色特征是一种全局特征,描述了图像或图像区域内所对应景物的表面性质。一般颜色特征是基于像素点的特征,所有的像素点对该图像或图像区域都有贡献。由于颜色对图像的方向、大小等变化不敏感,不能很好地捕获对象的局部特征。颜色特征描述可分为:颜色直方图、颜色矩(颜色分布)、颜色集、颜色聚合向量和颜色相关图。形状特征:

形状特征有两类表示方法,一类是轮廓特征,一类是区域特征。图像的轮廓特征主要针对物体的外边界;而图像的区域特征则关系到整个形状区域。轮廓特征:轮廓是一系列相连的点组成的曲线,代表了物体的基本外形。其与边缘的不同:轮廓是连续的,边缘并不全都连续;边缘主要作为图像的物体特征;而轮廓主要用来分析物体的形态(如周长和面积);边缘包括轮廓。一般在二值图像中寻找轮廓,寻找轮廓是针对白色物体,即物体是白色,而背景是黑色。纹理特征:纹理特征是一种全局特征,反映的是图像中同质现象的视觉特征,体现物体表面的具有缓慢变换或周期性变化的表面组织结构排列属性。图像纹理通过像素及其周围空间邻域的灰度分布来表现,即局部纹理信息。另外,局部纹理信息不同程度上的重复性,就是全局纹理信息。纹理特征可以分为四种类型:1)统计型纹理特征:统计型纹理特征中以GLCM(灰度共生矩阵)为主,它是建立在估计图像的二阶组合条件概率密度基础上的一种方法。2)模型型纹理特征:假设纹理是以某种参数控制的分布模型方式形成的,从纹理图像的实现来估计计算模型参数,以参数为特征或采用某种策略进行图像分割,因此,模型参数的估计是这种方法的核心问题。模型型纹理特征提取方法以随机场方法和分形方法为主。3)信号处理型纹理特征:建立在时域、频域分析与多尺度分析基础之上,对纹理图像中某个区域内实行某种变换之后,再提取保持相对平稳的特征值,以此特征值作为特征表示区域内的一致性以及区域间的相异性。4)结构型纹理特征:基于“纹理基元”分析纹理特征,着力找到纹理基元,认为纹理由许多纹理基元构成,不同类型的纹理基元、不同的方向及数目,决定了纹理的表现形式。空间关系特征可以分为两类:一类方法首先对图像进行自动分割,划分出其中所含的对象或颜色区域,然后根据这些区域对图像索引;另一类方法则简单地将图像均匀划分若干规则子块,对每个图像子块提取特征建立索引。灰度共生矩阵和灰度-梯度共生矩阵的定义?答:(1)灰度共生矩阵(GreyLevelCo-occurrence

Matrix)也叫做空间灰度级依赖矩阵(SGLDM),它是一种基于统计的纹理特征提取的方法。定义:考虑二阶统计量,研究有空间关系的像素对表示即在给定空间距离d和方向θ时,灰度以i为起始点(行),出现灰度级j(列)的概率(对频数进行归一化,即除以所有频数之和)。它构成了灰度共生矩阵的元素。灰度-梯度共生矩阵(Gray-GradientCo-occurrenceMatrix,简称GGCM):纹理特征分析是用灰度和梯度的综合信息提取纹理特征。将图像的梯度信息加入到灰度共生矩阵中,使共生矩阵更能包含图像的纹理基元及其排列信息。定义:灰度-梯度共生矩阵的元素h(i,j)定义为在归一的灰度图像F(i,j)归一的梯度图像G(i,j)中共同具有灰度值为i梯度值为j的总像点数。基于灰度共生矩阵和灰度-梯度共生矩阵的图像纹理特征有哪些?答:(1)基于灰度共生矩阵的图像纹理特征有:能量、熵值、对比度、相关性、逆分差。(2)基于灰度-梯度共生矩阵的图像纹理特征有:小梯度优势、大梯度优势、灰度分布不均匀性、梯度分布不均匀性、能量、灰度平均、梯度平均、灰度均方差、梯度均方差、相关、灰度熵、梯度熵、混合熵、惯性、逆差距。PCA方法基本步骤有哪些?PCA的主要目的是什么?答:PCA方法的步骤:①根据研究问题选取初始变量。②判断是否合适进行主成分分析(KMO和Bartlett检验)。前提条件:原始变量间存在相关性是进行主成分分析的首要条件,否则原始变量无法进行降维处理。KMO(Kaiser-Meyer-Olkin)检验:是用于比较变量间简单相关系数和偏相关系数的指标。KMO统计量是取值在0和1之间。KMO值越接近于1,意味着变量间的相关性越强,原有变量越适合作主成分分析;KMO值越接近于0,意味着变量间的相关性越弱,原有变量越不适合作主成分分析。Bartlett球度检验:Bartlett球形检验的假设是:H0:相关系数矩阵是单位矩阵(变量不相关)。H1:相关系数矩阵不是单位矩阵(变量相关)。巴特利特球度检验的统计量是根据相关系数矩阵的行列式得到的,如果显著性水平小于给定的α,那么应该拒绝零假设,即原始变量之间存在相关性,适合于做主成份分析;相反,不宜于做主成分分析。③对初始变量进行标准化和同趋势化,消除量纲影响。标准化的方法:max-min/z-score/。同趋势化:指标正向化。④根据处理后的数据矩阵求出相关系数矩阵。⑤求出协方差矩阵的特征根和特征向量。在统计学中,方差是用来度量单个随机变量的离散程度,而协方差则一般用来刻画两个随机变量的相似程度。协方差矩阵是对各变量离散程度和变量之间的相关程度的信息的反映。⑥确定主成分表达式,并确定主成分个数,选取主成分⑦结合主成分对研究问题进行分析PCA方法的目的:通过原来变量的线性组合来解释原来变量的大部分信息,达到降维的目的,从而简化问题的复杂性。利用分离判据进行特征提取,解释为什么要使判据最大?答:这样可以使得特征维数减少到同等水平时,其分类性能最佳,从而使特征维数及所使用特征是否对分类最有利。利用MATLAB分别进行基于PCA和基于分离判据的特征选择的编程练习。答:PCA:在此举例一个数据data下面都是用此数据进行做:在命令行输入以下代码:data=[1,-0.2,0.3,0.8,-0.5-0.2,1,0.6,-0.7,0.20.3,0.6,1,0.5,-0.30.8,-0.7,0.5,1,0.7-0.5,0.2,-0.3,0.7,1]进行标准化z=zscore(data)计算相关系数矩阵C=corr(z,'type','Pearson')计算均值:mapping.mean=mean(data,1)%计算均值进行中心化data=data-repmat(mapping.mean,[size(data,1)1])%去均值计算协方差阵:C=cov(data)%协方差矩阵求相关矩阵的特征值和相对应的特征向量(在此以协方差阵为例)[M,lambda]=eig(C)%求C矩阵特征向量及特征值取出协方差阵所求的对角线上的特征值y=diag(lambda)%取出特征值矩阵中的特征值size(data,2)%读取数据文件中的列数画散点图和折线图x=[size(data,2):-1:1]%表示变量个数并倒写出它们作为x轴如4,3,2,1plot(x,y,'o')%绘制散点图gridon;%显示格线holdon;%不换画布继续在这张画布上绘制xlabel('x');%x轴名称ylabel('y');%y轴名称plot(x,y,'-','Color','r','lineWidth',1)%绘制折线图对特征值排序[lambda,ind]=sort(diag(lambda),'descend')%排序求每个特征值的贡献度lambda=lambda./sum(lambda)%特征值的贡献度累计贡献度lambda=cumsum(lambda)%累计贡献度选出累计贡献度小于85%之前的指标k=find(lambda>0.85)%选出贡献率达到85的指标前K个选出主成分,并得出相对应的矩阵M=M(:,ind(1:k(1)-1)%%取前k列M=(-1)*M得到降维后的XmappedX=data*M%降维后的X画色块矩阵图mapping.M=M%映射的基设置色块矩阵图x,y轴所标注的名称XVarNames={'A'};%个数等于上面基的列数YVarNames={'A','B','C','D','E'};%个数等于上面基的行数数值矩阵图代码:matrixplot(M,'FillStyle','nofill','XVarNames',XVarNames,'YVarNames',YVarNames)%色块颜色表示matrixplot(M,'XVarNames',XVarNames,'YVarNames',YVarNames,'DisplayOpt','off','FigSize','Auto','ColorBar','on');在matlab新建函数命名为:matrixplot##matrixplot源码##functionmatrixplot(data,varargin)%matrixplot(x,'TextColor','k','FigShap','d','FigSize','Full','ColorBar','on','FigStyle','Triu');%XVarNames={'xiezhh','heping','keda','tust','tianjin'};%matrixplot(x,'FigShap','e','FigSize','Auto','ColorBar','on','XVarNames',XVarNames,'YVarNames',XVarNames);%对第一个输入参数类型进行判断if~ismatrix(data)||~isreal(data)error('输入参数类型不匹配:第一个输入参数应为实值矩阵');end%解析成对出现的参数名/参数值[FigShape,FigSize,FigStyle,FillStyle,DisplayOpt,TextColor,XVarNames,...YVarNames,ColorBar,GridOpt]=parseInputs(varargin{:});%产生网格数据[m,n]=size(data);[x,y]=meshgrid(0:n,0:m);data=data(:);maxdata=nanmax(data);mindata=nanmin(data);rangedata=maxdata-mindata;ifisnan(rangedata)warning('MATLAB:warning1','请检查您输入的矩阵是否合适!');return;endz=zeros(size(x))+0.2;sx=x(1:end-1,1:end-1)+0.5;sy=y(1:end-1,1:end-1)+0.5;ifstrncmpi(FigStyle,'Tril',4)z(triu(ones(size(z)),2)>0)=NaN;sx(triu(ones(size(sx)),1)>0)=NaN;elseifstrncmpi(FigStyle,'Triu',4)z(tril(ones(size(z)),-2)>0)=NaN;sx(tril(ones(size(sx)),-1)>0)=NaN;endsx=sx(:);sy=sy(:);id=isnan(sx)|isnan(data);sx(id)=[];sy(id)=[];data(id)=[];ifisempty(XVarNames)XVarNames=strcat('X',cellstr(num2str((1:n)')));elseif(iscell(XVarNames)&&(numel(XVarNames)~=n))||(~iscell(XVarNames)&&(size(XVarNames,1)~=n))error('X轴方向变量名应为字符串矩阵或字符串元胞数组,其长度与输入矩阵的列数相同');endendifisempty(YVarNames)YVarNames=strcat('Y',cellstr(num2str((1:m)')));elseif(iscell(YVarNames)&&(numel(YVarNames)~=m))||(~iscell(YVarNames)&&(size(YVarNames,1)~=m))error('Y轴方向变量名应为字符串矩阵或字符串元胞数组,其长度与输入矩阵的行数相同');endend%绘图figure('color','w',...'units','normalized',...'pos',[0.289165,0.154948,0.409956,0.68099]);axes('units','normalized','pos',[0.1,0.022,0.89,0.85]);ifstrncmpi(GridOpt,'On',2)mesh(x,y,z,...'EdgeColor',[0.7,0.7,0.7],...'FaceAlpha',0,...'LineWidth',1);%参考网格线endholdon;axisequal;axis([-0.1,n+0.1,-0.1,m+0.1,-0.5,0.5]);view(2);%设置X轴和Y轴刻度位置及标签set(gca,'Xtick',(1:n)-0.5,...'XtickLabel',XVarNames,...'Ytick',(1:m)-0.5,...'YtickLabel',YVarNames,...'XAxisLocation','top',...'YDir','reverse',...'Xcolor',[0.7,0.7,0.7],...'Ycolor',[0.7,0.7,0.7],...'TickLength',[0,0]);axisoff%绘制填充色块ifstrncmpi(FillStyle,'Fill',3)MyPatch(sx',sy',data',FigShape,FigSize);end%显示数值文本信息ifstrncmpi(DisplayOpt,'On',2)str=num2str(data,'%4.2f');scale=0.1*max(n/m,1)/(max(m,n)^0.55);ifstrncmpi(TextColor,'Auto',3)ColorMat=get(gcf,'ColorMap');nc=size(ColorMat,1);cid=fix(mapminmax(data',0,1)*nc)+1;cid(cid<1)=1;cid(cid>nc)=nc;TextColor=ColorMat(cid,:);fori=1:numel(data)text(sx(i),sy(i),0.1,str(i,:),...'FontUnits','normalized',...'FontSize',scale,...'fontweight','bold',...'HorizontalAlignment','center',...'Color',TextColor(i,:));endelsetext(sx,sy,0.1*ones(size(sx)),str,...'FontUnits','normalized',...'FontSize',scale,...'fontweight','bold',...'HorizontalAlignment','center',...'Color',TextColor);endend%设置X轴和Y轴刻度标签的缩进方式MyTickLabel(gca,FigStyle);%添加颜色条ifstrncmpi(ColorBar,'On',2)ifany(strncmpi(FigStyle,{'Auto','Triu'},4))colorbar('Location','EastOutside');elsecolorbar('Location','SouthOutside');endendend%---------------------------------------------------%调整坐标轴刻度标签子函数%---------------------------------------------------functionMyTickLabel(ha,tag)%根据显示范围自动调整坐标轴刻度标签的函数%ha坐标系句柄值%tag调整坐标轴刻度标签的标识字符串,可用取值如下:%'Auto'---将x轴刻度标签旋转90度,y轴刻度标签不作调整%'Tril'---将x轴刻度标签旋转90度,并依次缩进,y轴刻度标签不作调整%'Triu'---将x轴刻度标签旋转90度,y轴刻度标签依次缩进%Example:%MyTickLabel(gca,'Tril');if~ishandle(ha)warning('MATLAB:warning2','第一个输入参数应为坐标系句柄');return;endif~strcmpi(get(ha,'type'),'axes')warning('MATLAB:warning3','第一个输入参数应为坐标系句柄');return;endaxes(ha);xstr=get(ha,'XTickLabel');xtick=get(ha,'XTick');xl=xlim(ha);ystr=get(ha,'YTickLabel');ytick=get(ha,'YTick');yl=ylim(ha);set(ha,'XTickLabel',[],'YTickLabel',[]);x=zeros(size(ytick))+xl(1)-range(xl)/30;y=zeros(size(xtick))+yl(1)-range(yl)/70;nx=numel(xtick);ny=numel(ytick);ifstrncmpi(tag,'Tril',4)y=y+(1:nx)-1;elseifstrncmpi(tag,'Triu',4)x=x+(1:ny)-1;endtext(xtick,y,xstr,...'rotation',90,...'Interpreter','none',...'color','r',...'HorizontalAlignment','left');text(x,ytick,ystr,...'Interpreter','none',...'color','r',...'HorizontalAlignment','right');end%---------------------------------------------------%根据散点数据绘制3维色块图子函数%---------------------------------------------------functionMyPatch(x,y,z,FigShape,FigSize)%根据散点数据绘制3维色块图%MyPatch(x,y,z,FigShape,FigSize)x,y,z是实值数组,用来指定色块中心点三维%坐标。FigShape是字符串变量,用来指定色块形状。%FigSize是字符串变量,用来指定色块大小。%%Example:%x=rand(10,1);%y=rand(10,1);%z=rand(10,1);%MyPatch(x,y,z,'s','Auto');%%输入参数类型判断ifnargin<3error('至少需要三个输入参数');endif~isreal(x)||~isreal(y)||~isreal(z)error('前三个输入应为实值数组');endn=numel(z);ifnumel(x)~=n||numel(y)~=nerror('坐标应等长');endifstrncmpi(FigSize,'Auto',3)&&~strncmpi(FigShape,'Ellipse',1)id=(z==0);x(id)=[];y(id)=[];z(id)=[];endifisempty(z)return;end%求色块顶点坐标rab1=ones(size(z));maxz=max(abs(z));ifmaxz==0maxz=1;endrab2=abs(z)/maxz;ifstrncmpi(FigShape,'Square',1)%方形ifstrncmpi(FigSize,'Full',3)r=rab1;elser=sqrt(rab2);endSquareVertices(x,y,z,r);elseifstrncmpi(FigShape,'Circle',1)%圆形ifstrncmpi(FigSize,'Full',3)r=0.5*rab1;elser=0.5*sqrt(rab2);endCircleVertices(x,y,z,r);elseifstrncmpi(FigShape,'Ellipse',1)%椭圆形a=0.48+rab2*(0.57-0.48);b=(1-rab2).*a;EllipseVertices(x,y,z,a,b);elseifstrncmpi(FigShape,'Hexagon',1)%六边形ifstrncmpi(FigSize,'Full',3)r=0.5*rab1;elser=0.5*sqrt(rab2);endHexagonVertices(x,y,z,r);else%表盘形ifstrncmpi(FigSize,'Full',3)r=0.45*rab1;elser=0.45*sqrt(rab2);endDialVertices(x,y,z,r);endend%--------------------------------------------------%求色块顶点坐标并绘制色块的子函数%--------------------------------------------------functionSquareVertices(x,y,z,r)%方形hx=r/2;hy=hx;Xp=[x-hx;x-hx;x+hx;x+hx;x-hx];Yp=[y-hy;y+hy;y+hy;y-hy;y-hy];Zp=repmat(z,[5,1]);patch(Xp,Yp,Zp,'FaceColor','flat','EdgeColor','flat');endfunctionCircleVertices(x,y,z,r)%圆形t=linspace(0,2*pi,30)';m=numel(t);Xp=repmat(x,[m,1])+cos(t)*r;Yp=repmat(y,[m,1])+sin(t)*r;Zp=repmat(z,[m,1]);patch(Xp,Yp,Zp,'FaceColor','flat','EdgeColor','flat');endfunctionEllipseVertices(x,y,z,a,b)%椭圆形t=linspace(0,2*pi,30)';m=numel(t);t0=-sign(z)*pi/4;t0=repmat(t0,[m,1]);x0=cos(t)*a;y0=sin(t)*b;Xp=repmat(x,[m,1])+x0.*cos(t0)-y0.*sin(t0);Yp=repmat(y,[m,1])+x0.*sin(t0)+y0.*cos(t0);Zp=repmat(z,[m,1]);patch(Xp,Yp,Zp,'FaceColor','flat','EdgeColor','flat');endfunctionHexagonVertices(x,y,z,r)%六边形t=linspace(0,2*pi,7)';m=numel(t);Xp=repmat(x,[m,1])+cos(t)*r;Yp=repmat(y,[m,1])+sin(t)*r;Zp=repmat(z,[m,1]);patch(Xp,Yp,Zp,'FaceColor','flat','EdgeColor','flat');endfunctionDialVertices(x,y,z,r)%表盘形%绘制表盘扇形maxz=max(abs(z));t0=z*2*pi/maxz-pi/2;t0=cell2mat(arrayfun(@(x)linspace(-pi/2,x,30)',t0,'UniformOutput',0));m=size(t0,1);r0=repmat(r,[m,1]);Xp=[x;repmat(x,[m,1])+r0.*cos(t0);x];Yp=[y;repmat(y,[m,1])+r0.*sin(t0);y];Zp=repmat(z,[m+2,1]);patch(Xp,Yp,Zp,'FaceColor','flat','EdgeColor',[0,0,0]);%绘制表盘圆周t=linspace(0,2*pi,30)';m=numel(t);Xp=repmat(x,[m,1])+cos(t)*r;Yp=repmat(y,[m,1])+sin(t)*r;Zp=repmat(z,[m,1]);Xp=[Xp;flipud(Xp)];Yp=[Yp;flipud(Yp)];Zp=[Zp;flipud(Zp)];patch(Xp,Yp,Zp,'FaceColor','flat','EdgeColor',[0,0,0]);end%--------------------------------------------------------------------------%解析输入参数子函数1%--------------------------------------------------------------------------function[FigShape,FigSize,FigStyle,FillStyle,DisplayOpt,TextColor,...XVarNames,YVarNames,ColorBar,GridOpt]=parseInputs(varargin)ifmod(nargin,2)~=0error('输入参数个数不对,应为成对出现');endpnames={'FigShape','FigSize','FigStyle','FillStyle','DisplayOpt',...'TextColor','XVarNames','YVarNames','ColorBar','Grid'};dflts={'Square','Full','Auto','Fill','On','k','','','Off','On'};[FigShape,FigSize,FigStyle,FillStyle,DisplayOpt,TextColor,XVarNames,...YVarNames,ColorBar,GridOpt]=parseArgs(pnames,dflts,varargin{:});validateattributes(FigShape,{'char'},{'nonempty'},mfilename,'FigShape');validateattributes(FigSize,{'char'},{'nonempty'},mfilename,'FigSize');validateattributes(FigStyle,{'char'},{'nonempty'},mfilename,'FigStyle');validateattributes(FillStyle,{'char'},{'nonempty'},mfilename,'FillStyle');validateattributes(DisplayOpt,{'char'},{'nonempty'},mfilename,'DisplayOpt');validateattributes(TextColor,{'char','numeric'},{'nonempty'},mfilename,'TextColor');validateattributes(XVarNames,{'char','cell'},{},mfilename,'XVarNames');validateattributes(YVarNames,{'char','cell'},{},mfilename,'YVarNames');validateattributes(ColorBar,{'char'},{'nonempty'},mfilename,'ColorBar');validateattributes(GridOpt,{'char'},{'nonempty'},mfilename,'Grid');if~any(strncmpi(FigShape,{'Square','Circle','Ellipse','Hexagon','Dial'},1))error('形状参数只能为Square,Circle,Ellipse,Hexagon,Dial之一');endif~any(strncmpi(FigSize,{'Full','Auto'},3))error('图形大小参数只能为Full,Auto之一');endif~any(strncmpi(FigStyle,{'Auto','Tril','Triu'},4))error('图形样式参数只能为Auto,Tril,Triu之一');endif~any(strncmpi(FillStyle,{'Fill','NoFill'},3))error('图形填充样式参数只能为Fill,NoFill之一');endif~any(strncmpi(DisplayOpt,{'On','Off'},2))error('显示数值参数只能为On,Off之一');endif~any(strncmpi(ColorBar,{'On','Off'},2))error('显示颜色条参数只能为On,Off之一');endif~any(strncmpi(GridOpt,{'On','Off'},2))error('显示网格参数只能为On,Off之一');endend%--------------------------------------------------------------------------%解析输入参数子函数2%--------------------------------------------------------------------------function[varargout]=parseArgs(pnames,dflts,varargin)%Copyright2010-2011TheMathWorks,Inc.%$Revision:$$Date:2011/05/0901:27:26$%Initializesomevariablesnparams=length(pnames);varargout=dflts;setflag=false(1,nparams);unrecog={};nargs=length(varargin);dosetflag=nargout>nparams;dounrecog=nargout>(nparams+1);%Musthavename/valuepairsifmod(nargs,2)~=0m=message('stats:internal:parseArgs:WrongNumberArgs');throwAsCaller(MException(m.Identifier,'%s',getString(m)));end%Processname/valuepairsforj=1:2:nargspname=varargin{j};if~ischar(pname)m=message('stats:internal:parseArgs:IllegalParamName');throwAsCaller(MException(m.Identifier,'%s',getString(m)));endmask=strncmpi(pname,pnames,length(pname));%lookforpartialmatch

温馨提示

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

评论

0/150

提交评论