基于MATLAB的数字图像预测压缩编码_第1页
基于MATLAB的数字图像预测压缩编码_第2页
基于MATLAB的数字图像预测压缩编码_第3页
基于MATLAB的数字图像预测压缩编码_第4页
基于MATLAB的数字图像预测压缩编码_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

目录摘要PAGEIIPAGEI摘要随着时代的发展,人们可以通过Internet获取大量的信息。这些信息中包含着大量的图像信息,它们占据了很大的数据量,这给信息的存储和传输带来了极大的挑战。图像压缩的目的就是用尽量少的字节来表示图像,并且要求重建图像具有较好的质量。利用图像压缩,可以减轻图像存储和传输的负担,使得图像在网络上实现快速传输和实时处理成为现实。通常,图像中局部区域的像素是高度相关的,因此可以利用先前像素的有关知识来对当前像素的灰度值进行估计,这就是预测。本文介绍了数字图像的预测压缩编码。首先,将图像分成8×8大小的像素块。接着,对每一像素块均采用AR模型,利用Burg算法确定最佳线性预测系数。然后,通过线性差分方程计算得到预测值,最后对实际像素值和预测值之间的差值量化后进行算术编码。从而实现数字图像的预测压缩编码。本文采用MATLAB提供的图形用户界面工具对三幅典型的标准灰度图像进行了预测压缩编码仿真,并用客观标准和主观标准综合评价重建图像的质量。仿真结果表明:重建图像与原始图像几乎没有任何差异,能够满足人们的视觉需求。另外,数据压缩比较高且峰值信噪比均在20dB-40dB之间。因此,采用MATLAB实现数字图像的预测压缩编码是一种较好的压缩编码方法,能够在实际中得到广泛的应用。关键词:图像压缩,线性预测,算术编码,MATLAB,图形用户界面AbstractAbstractPAGE32PAGEIIIAbstractPeoplecanobtainagreatamountofinformationfromtheInternetwiththedevelopmentoftimesanditincludesagreatamountofimageinformation.Theimageinformationoccupieshugedataanditgivesgreatchallengetoinformationstorageandtransmission.Theaimofimagecompressionistodonateimagewithbytesasfewaspossible.Thereconstructedimageisofrelativelygoodqualityisalsorequired.Theburdenofimagestorageandtransmissioncanbealleviatedbyimagecompressionanditturnsfasttransmissionandreal-timeprocessofanimageininternetintoreality.Generally,thepixelinthepartialregionofanimageishighlycorrelated.Sothecorrelatedknowledgeofforegoingpixelcanbeusedtoestimatethegrayvalueofcurrentpixel.Thisiscalledprediction.Thepaperintroducesthepredictivecompressioncoding.Firstly,theimageisdividedintoseveralsub-imagesofsize8×8.Secondly,ARmodelisusedtoeachsub-imageandthenBurgalgorithmisusedtodeterminetheoptimumlinearpredictioncoefficient.Thirdly,lineardifferentialequationisusedtocalculatethepredictivevalue.Finally,thedifferencebetweenrealpixelvalueandpredictivevalueisquantizedbeforedoingarithmeticcoding.Thenthepredictivecompressioncodingofadigitalimageisrealized.ThepapersimulatethepredictivecompressioncodingastothreetypicalandstandardgrayimagesbyusinggraphicuserinterfacetoolsofferedbyMATLAB.Objectiveandsubjectivestandardisadoptedtoevaluatethequalityofreconstructedimage.Theresultsofsimulationdemonstratethatthereisnodifferencebetweenreconstructedimageandoriginalimageandreconstructedimagecansatisfyhumanvisualrequirements.Additionally,compressionratioisrelativelyhighandpeaksignal-to-noiseratioisbetween20dBto40dB.Therefore,therealizationofpredictivecompressioncodingusingMATLABisarelativelygoodmethodanditcanbewidelyusedinpractice.Keywords:imagecompression,linearprediction,arithmeticcoding,MATLAB,graphicaluserinterface目录目录目录第1章引言 11.1图像压缩的课题来源与发展现状 11.1.1课题来源 11.1.2发展现状 21.2论文结构 3第2章数字图像概述与图像压缩评价标准 42.1数字图像文件存储 42.2数字图像的文件格式 42.3图像压缩的评价标准 52.3.1客观保真度准则 52.3.2主观保真度准则 6第3章预测编码 73.1脉冲编码调制 73.2差分脉冲编码调制 8第4章AR模型 104.1时间序列的概率模型 104.1.1时间序列的参数表征 104.1.2平稳过程 114.1.3纯随机过程 114.1.4自回归过程(AR模型) 114.2AR模型的参数估计 124.2.1AR模型参数的最小二乘估计 124.2.2AR模型参数估计的格型算法 134.2.3AR模型阶数p的确定 17第5章算术编码 195.1一般算术编码 195.1.1算术编码过程 195.1.2算术解码过程 205.2改进的算术编码 215.2.1算术编码过程 215.2.2小结 22第6章MATLAB概述及仿真结果 236.1MATLAB概况 236.2MATLAB的语言特点 236.3MATLAB图形用户界面设计 246.3.1图形用户界面的创建与组成 246.3.2图形用户界面编程 266.3.3图形用户界面编程过程 286.4MATLAB仿真结果 28第7章结论及展望 327.1结论 327.2展望 32致谢 33参考文献 34附录 35XX大学学士学位论文基于MATLAB的数字图像预测压缩编码PAGE29 第1章引言1.1图像压缩的课题来源与发展现状1.1.1课题来源21世纪,人类已经进入信息化时代,计算机在处理各种信息中发挥着巨大的作用。而大部分信息都具有海量性,因此数据压缩技术就成了解决信息的传输与存储问题的重要方法。现今,数据压缩技术已经走进人们的日常生活中。你在使用任何一种智能电子产品的时候,数据压缩技术都在忙碌地为你服务。数据压缩(DataCompression),是指在一定的数据存储空间要求下,将相对庞大的原始数据,重组为满足前述空间要求的数据集合,使得从该数据集合中恢复出来的信息能够与原始数据相一致,或者能够获得与原始数据一样的使用品质。早在Shannon信息理论建立之前,数据压缩的研究就已经有了成果。但是理论研究还是在Shannon的信息论基础上开始的。20世纪40年代ClaudeShannon首创了信息论,Shannon借用了热力学中的名词“熵”(Entropy)来表示一条信息中真正需要编码的信息量:考虑用0和1组成的二进制数码为含有n个符号的某条信息编码,假设符号在整条信息中重复出现的概率为,则该符号的熵也即表示该符号所需的位数位为:。整条信息的熵也即表示整条信息所需的位数为:。对字符串:aabbaccbaa,字符串长度为10,字符abc分别出现了5,3,2次,则abc在信息中出现的概率分别为0.5,0.3,0.2,它们的熵分别为:。整条信息的熵也即表达整个字符串需要的位数为:位。如果使用计算机中常用的ASCII编码,则表示上面的字符串需要80位。用较少的位数表示较频繁出现的符号,这就是数据压缩的基本准则。图像压缩作为数据压缩的一个分支也在迅猛发展。人类从自然界获取的信息中,视觉信息占据了2/3。“百闻不如一见”,很多花大量语言不能描述清楚的场景,利用一幅图片就可以很直观生动地表现出来。可见,在当代高度信息化的时代,图形和图像在信息的传播中起的作用越来越大。但是,图像信息占用的存储空间也是非常巨大的,由此不得不考虑图像压缩。一幅二维数字图像可以由一个二维亮度函数通过采样和量化后而得到的一个二维数组表示。这样一个二维数组的数据量通常很大,从而对存储、处理和传输都带来了许多问题,提出许多新的要求。为此人们试图采用对图像新的表达方法以减少表示一幅图像需要的数据量,这就是图像编码所要解决的主要问题[1]。压缩数据量的主要方法是消除冗余数据,从数学角度来讲是要将原始图像转化为从统计角度看尽可能不相关的数据集。这个转换要在图像进行存储、处理和传输之前进行,然后将压缩了的图像解压缩以重建原始图像,即通常所称的图像编码和图像解码。1.1.2发展现状1948年Olive提出了第一个编码理论——脉冲编码调制(PulseCodingModulation,简称PCM)理论。同年Shannon的经典论文“通信的数学原理”中首次提出并建立了信息率失真函数概念。1959年他又进一步确立了码率失真理论,从而奠定了信息编码的理论基础。此后,图像压缩编码理论和方法都有很大发展。主要的编码方法有预测编码,变换编码,统计编码,也称为三大经典编码方法[2]。1985年Kunt等人提出了“第二代”图像编码技术。他们认为,“第一代”图像编码技术是指以信息论和数字信号处理技术为理论基础,旨在去除图像数据中的线性相关性的一类编码技术。这类技术去除客观和视觉的冗余信息的能力已接近极限,其压缩比不高,大约在10∶1左右。而“第二代”图像编码技术是指不局限于信息论的框架,要求充分利用人的视觉生理心理和图像信源的各种特征,能获得高压缩比的一类编码技术,其压缩比多在30∶1至70∶1之间,有的甚至高达成100∶1[3]。“第二代”图像编码方法包括子带图像编码、基于方向性分解的图像编码技术、基于区域分割与合并的图像编码技术等。此后,图像压缩编码技术逐渐向标准化方向发展。国际远程通讯联合会ITU(InternationalTelecommunicationUnion)和国际标准化组织ISO(InternationalOrganizationforStandardization)及国际电工委员会IEC(InternationalElectrotechnicalCommission)近年来在全世界范围内积极工作,已经制定并在继续制定一系列静止和活动图像编码的国际标准,这些标准和建议是在相应领域工作的各国专家合作研究的成果和经验的总结。由于这些国际标准的出现,图像编码尤其是视频图像编码压缩技术得到了飞速发展。目前基于小波变换技术的新的静止图像压缩标准JPEG2000已经公布。常用的运动图像标准是MPEG-4于1998年11月公布,同年10月国际标准化组织又推出了MPEG-7的构想,最终于2001年初完成并公布。现今,图像压缩编码的新技术也层出不穷。例如分形图像编码是在分形几何理论的基础上发展起来的一种编码方法。分形几何是欧氏几何理论的扩展,它描述了了自然界物体的自相似性,这种自相似性可以引入迭代函数来刻画,并将其用于图像编码。基于分形(Fractal)的压缩方法的应用十分广泛,与多媒体领域相关的应用有不规则几何造型、图像处理等方面。小波变换在图像压缩中的应用也取得了很大的进展,小波(Wavelet)分解编码本质上是一种变换编码技术。简单地说,小波变换就是将原图像信号分解成不同的频率区域,对不同的频率区域采用不同的压缩编码手段,从而使数据量减少。这种方法非常适合满足视觉要求的图像压缩编码方法,并且压缩比可以达到100左右。同傅立叶变换相比,小波变换在频率精度上差一些,在时间的分析能力上好一些,而且对时间和频率可以同时分解,这是傅立叶变换无法做到的。随着计算机技术的发展与普及,更完善的图像压缩标准的制定以及高性能数字图像信号处理器的出现,图像编码技术尤其是数字视频图像压缩编码技术作为一门高技术,必将越来越显示出它在社会发展中的重要地位。它既是当代信息高速公路、高清晰度电视(HDTV)、多媒体、可视电话和图文传真等技术的关键,又在航空侦察遥感、资源勘探及生物医学工程等领域起着非常重要的作用。1.2论文结构本论文共分为7章。第1章讲述了论文课题的来源及图像压缩的发展现状,并对整篇论文的结构进行了概括。第2章简单介绍了数字图像的表示方法、存储格式及常用的数字图像的格式,给出了评价图像压缩效果的客观保真度准则和主观保真度准则。第3章叙述了预测编码的原理,介绍了应用线性预测来进行数据压缩编码的一种实现——图像与语音信号的DPCM编码方法。第4章详细描述了用来进行线性预测的一个数据模型,即AR模型。第5章介绍了本设计系统中的量化编码算法——算术编码。第6章对设计中使用的仿真软件MATLAB进行了介绍,特别是其图形用户界面设计部分,最后给出了仿真的结果。第7章得出了结论,然后展望数字图像压缩技术的发展前景。第2章数字图像概述与图像压缩评价标准用计算机对图像进行存储和传输时的前提是图像必须是以数字的形式存储的,我们以数字格式存储的图像称为数字图像。在计算机中,图像被分割成若干像素(Pixel),各像素的灰度值用整数表示。一幅像素的数字图像,其像素灰度值可以用M行、N列的矩阵G表示,即2.1数字图像文件存储数字图像文件存储方式有:(1)位映射图像。以点阵形式存取文件,读取时候按点排列顺序读取数据。(2)光栅图像。也是以点阵形式存取文件,但读取时候以行为单位进行读取。(3)矢量图像。用数学方法来描述图像。2.2数字图像的文件格式数字图像的文件格式有很多种,主要有:BMP图像文件格式BMP是一种与硬件设备无关的图像文件格式,使用非常广泛。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。(2)PCX图像文件格式PCX是最早支持彩色图像的一种文件格式,现在最高可以支持256种彩色。PCX图像文件中的数据都是用PCXREL技术压缩后的图像数据。PCX是PC机画笔的图像文件格式。PCX的图像深度可选为lbit、4bit、8bit。由于这种文件格式出现较早,它不支持真彩色。PCX文件采用RLE行程编码,文件体中存放的是压缩后的图像数据。因此,将采集到的图像数据写成PCX文件格式时,要对其进行RLE编码;而读取一个PCX文件时首先要对其进行RLE解码,才能进一步显示和处理。(3)GIF文件格式GIF(GraphicsInterchangeFormat)的原义是“图像互换格式”。GIF文件的数据是一种基于LZW算法的连续色调的无损压缩格式,其压缩率一般在50%左右,它不属于任何应用程序。GIF的图像深度从lbit到8bit,也即GIF最多支持256种色彩的图像。GIF格式的另一个特点是其在一个GIF文件中可以存储多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画。(4)JPEG文件格式JPEG是JointPhotographicExpertsGroup(联合图像专家组)的缩写,文件后辍名为".jpg"或".jpeg",是最常用的一种有损压缩的图像文件格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。尤其是使用过高的压缩比例,将使最终解压缩后恢复的图像质量明显降低。但是,JPEG是一种很灵活的格式,具有调节图像质量的功能,允许用不同的压缩比例对文件进行压缩,支持多种压缩级别,压缩比率通常在10:1到40:1之间,压缩比越大,品质就越低。2.3图像压缩的评价标准图像压缩的实质是在一定质量条件下,以最少比特数来表示一幅图像。为了比较各种压缩方法的效率,定义了压缩比。通用的压缩比可定义为:(2.1)式中为原图像每像素使用的比特数;为压缩后平均每像素使用的比特数。(2.1)式中给出了原信息率和压缩后信息率之间的关系。图像质量的评价是对图像压缩与处理系统优劣的检验。一般地,允许图像压缩后再恢复的图像具有一定的误差,因此需要某种准则来评价压缩后的图像质量。保真度准则就是这样一种压缩后评价图像质量的准则。保真度准则有两种:客观保真度准则和主观保真度准则。前者以压缩前后图像的误差来度量,后者则取决于人的主观感觉[4]。2.3.1客观保真度准则客观保真度准则是原图像和压缩后图像之间的均方误差或压缩后恢复图像的信噪比或峰值信噪比。对于灰度图像,设原始图像为,压缩后恢复的图像为,且图像尺寸为,A为中的最大值,则均方误差为:(2.2)归一化均方误差为:(2.3)信噪比定义为:(2.4)式中:为原始图像的方差,为失真图像的方差。失真图像定义为原始图像和恢复图像的差:(2.5)也即(2.6)峰值信噪比PSNR定义为:(2.7)2.3.2主观保真度准则具有相同客观保真度的不同图像,在人的视觉中可能引起不同的视觉效果。这是因为客观保真度准则是一种统计平均意义下的度量准则,对于图像的细枝末节无法反映出来。而且人的视觉还有很多特性,如对光强敏感度呈对数特性,使得图像暗区的误差比其亮区误差影响更重要;对灰度突变特别敏感性,使得发生于图像边缘轮廓附近的误差,比发生在一般背景上的误差对图像质量有更坏的影响等。这些因素用客观保真度是无法表示出来的,因此需要根据人的主观感觉来评价。主观评价的任务就是要把人对图像质量的主观感觉与客观参数和性能联系起来,只要主观评价正确,就立刻用相应的客观参数作为评价图像质量的依据。表2.1给出了主观保真度的6级评价准则。表2.1主观保真度准则评分评价说明1优秀图像质量非常好2良好图像质量高,观看舒服,有干扰但不影响观看3可用图像质量可接受,有干扰但不太影响观看4刚可看图像质量差,干扰有些影响观看,希望改进5差图像质量很差,干扰严重妨碍观看6不能用图像质量极差,不能使用第3章预测编码预测编码是根据离散信号之间存在着一定关联性的特点,利用前面一个或多个信号预测下一个信号,然后对实际值和预测值的差(预测误差)进行编码。如果预测比较准确,误差就会很小。在同等精度要求的条件下,就可以用比较少的比特进行编码,达到压缩数据的目的。预测编码中典型的压缩方法有脉冲编码调制(PCM,PulseCodeModulation)、差分脉冲编码调制(DPCM,DifferentialPulseCodeModulation)、自适应差分脉冲编码调制(ADPCM,AdaptiveDifferentialPulseCodeModulation)等,它们较适合于声音、图像数据的压缩,因为这些数据由采样得到,相邻样值之间的差相差不会很大,可以用较少位来表示。3.1脉冲编码调制对模拟信号进行抽样并把样值量化,通过编码转换成数字信号的调制方式,称为脉冲编码调制,简称脉码调制。脉码调制包括抽样、量化和编码三个过程。每隔一定时间从连续变化的话音模拟信号中取出一个瞬时值,从而得到一系列电平幅度不同的脉冲信号,即脉幅调制(PAM)信号,这个过程称为抽样。抽样后,各脉幅调制信号的电平幅度用量化级来衡量。量化级分为有限数目的幅度间隔。在某一级幅度范围内的抽样脉冲都取同一值。这个过程称为量化。经过量化的脉冲幅度只是近似于脉幅调制信号,由此产生的误差,称为量化失真。最后,将量化后的每一脉冲幅值用一组二进制数字代码表示。这个过程称为编码。标准的脉码设备,其量化级为256级,因此要用8位二进制数字编码()。在量化和编码时,用来规定各个量化级的相对数值的规律,称为编码律。具有压缩扩展特性的折线编码律,较为常用。国际上,现有的标准编码律有A律和μ律两种,前者采用13折线近似,后者采用15折线近似。编码数字脉冲沿线路传输时会受到衰减和噪声干扰。因此,每传送一定距离,必须对脉冲进行识别和再生,使其幅度和波形恢复原状。这个过程称为再生。在接收端,把编码的数字脉冲重新变换为量化的脉幅调制信号,称为译码。然后脉幅调制信号经低通滤波器还原成原来的连续变化的话音信号[5]。PCM通信系统框图如图3.1所示。图3.1PCM通信系统框图图中,输入信号m(t)经抽样、量化、编码后变成了数字信号(PCM)信号,经信道传输到达接收端,先由译码器恢复抽样值序列,再经滤波器滤出模拟基带信号[6]。3.2差分脉冲编码调制在PCM系统中,原始的模拟信号经过采样后得到的每一个样值都被量化成为数字信号。为了压缩数据,可以不对每一样值都进行量化,而是预测下一样值,并量化实际值与预测值之间的差值,这就是DPCM(DifferentialPulseCodeModulation,差分脉冲编码调制)。1952年贝尔(Bell)实验室的C.C.Cutler取得了差分脉冲编码调制系统的专利,奠定了真正实用的预测编码系统的基础。DPCM的组成如图3.2所示,其中编码器和解码器分别完成对预测误差量化值的熵编码和解码。图3.2DPCM系统原理框图DPCM系统工作时,发送端先发送一个起始值,接着就只发送预测误差值,而预测值可记为(3.1)式中表示的时序在之前,为所谓因果型预测,否则为非因果型预测。接收端把接收到的量化后的预测误差与本地算出的相加,即得恢复信号。如果没有传输误差,则接收端重建信号与发送端原始信号之间的误差为:(3.2)这正是发送端量化器产生的量化误差,即整个预测编码系统的失真完全由量化器产生。因此,当已经是数字信号时,如果去掉量化器,使,则,即。这表明,这类不带量化器的DPCM系统也可用于无损编码。但如果量化误差,则,为有损编码[7]。如果预测方程式的右方是各个的线性函数,即(3.3)即得常用的线性预测,又称线性预测编码(LPC,LinearPredictiveCoding)。LPC在语音处理中得到广泛应用,并在此基础上发展了许多算法,典型的有:多脉冲线性预测编码(MPLPC),规则脉冲激励编码(RPE),码激励线性预测(CELP),代数激励线性预测(ACELP),矢量和激励线性预测(VSELP),QCELP(QualcommCELP,变速率CELP),低延时码激励线性预测(LD-CELP),共轭结构代数激励线性预测(CS-ACELP),混合激励线性预测(MELP),间隔同步更新码激励线性预测(PSI-CELP),松弛码激励线性预测(RCELP),残差激励线性预测(RELP),规则脉冲激励长时预测(RPE-LTP)等。为了能够正确恢复被压缩的信号,不仅在接收端有一个与发送端相同的预测器,而且其输入信号也要相同(都是,而不是),动作也与发送端的预测器环路(即发送端本地的反量化和解码部分)完全相同。在图像信号中应用DPCM时,用作预测的像素和被预测的像素可以在同一行,也可以在不同行(同一帧),甚至在不同帧,分别称为一维预测、二维预测和三维预测。声音信号中的预测只是一维预测[8]。DPCM的优点是算法简单,容易硬件实现,缺点是对信道噪声很敏感,会产生误差扩散。即某一位码出错,对图像一维预测来说,将使该像素以后的同一行各个像素都产生误差;而对二维预测,该码引起的误差还将扩散到以下的各行。这样,将使图像质量大大下降。同时,DPCM的压缩率也比较低。随着变换编码的广泛应用,DPCM的作用已很有限。第4章AR模型4.1时间序列的概率模型根据信息论的观点,载有信息的信号总是含有随机因素的。从数学上说,随机过程可定义为随机变量的一个集合,其中T为定义随机过程时间点的集合。如果T是连续的,则用表示在时刻t的随机变量;如果T是离散的,则用表示在时刻t的随机变量。由于我们主要讨论离散随机变量,为区别起见,常用记离散时刻,用表示离散随机变量。因此,随机过程是按时间顺序排列的随机变量的集合。对于随机过程的一次实现来说,每个随机变量只有一个确定的的观察值(用表示),这些观察值按概率规律在时间轴上分布,组成一个时间序列。我们可以把这个时间序列看成可能观察到的时间序列的无限集合中的一列。这个无限的时间序列的集合称为总体。总体中的每一个元素叫做随机过程的一个可能的实现或样本函数[9]。4.1.1时间序列的参数表征描述随机过程的一种比较简单有用的方法是确定被称作矩的参数,特别是均值(一阶矩)、方差和自协方差函数(二阶矩)。(1)均值均值函数的定义为(4.1)(2)方差方差函数的定义为(4.2)(3)自协方差自协方差的定义为(4.3)这里的和是同一时间序列两个不同时刻的随机变量。当自协方差函数就是方差函数。(4)自相关自相关函数的定义为(4.4)从数值上可认为它是归一化了的自协方差函数,因而与的度量无关。从物理意义上来看,它表征了序列在不同时刻的取值的相关程度。4.1.2平稳过程一个随机过程,如果对所有的及,随机变量的联合分布与相同,则该随机过程是严格平稳的,即严格平稳随机过程的联合分布不受时间原点的影响,而只取决于之间的间隔。特别是当N=1时,与的分布相同,取任意值。所以,,它们都是与t无关的常数。严格平稳过程有时也叫强平稳过程。若一个过程的均值为常数,则自协方差函数只与时延有关,即(4.5)(4.6)则该过程成为弱平稳过程。4.1.3纯随机过程若集合中的随机变量是一列相互独立、相同分布的随机变量,则称随机过程为纯随机过程。因为分布不因时间不同而改变,显然该过程为严格平稳过程。于是有(4.7)及(4.8)把纯随机过程称为白噪声或白噪声序列,因为该序列功率谱密度为(4.9)是一个常数,即序列的普密度在各个频率上具有相同的分量。4.1.4自回归过程(AR模型)假设是一个均值为0,方差为的纯随机过程。如果有一个过程满足(4.10)则称此过程为p阶回归过程,记为AR(p)或称为AR模型。A.AR(1)模型(Markov过程)1阶自回归过程简写为AR(1)过程,也叫Markov过程,即每个当前信号值只与前一时刻信号值有关,其表达式为(4.11)应用后移算子B为(4.12)上式改写为(4.13)因而有(4.14)这就是MA(∞)的表达式。也就是说,1阶自回归过程可用无限多阶MA过程来表示。B.AR(p)过程AR(p)过程的表达式见(4.10),其所对应的系统稳定的充分必要条件是系统的特征根多项式(4.15)的根在复平面的单位圆内。其中为AR(p)模型系数。用AR(p)模型来作线性预测,从物理意义上来说,是只用信号的P个过去值来预测当前值。尽管这种预测并不总是十分合理,但在允许某些失真条件下,还是得到了广泛的应用。4.2AR模型的参数估计对于时间序列,其AR(p)模型为,(4.16)参数估计就是按照一定方法估计出这个参数。由于有(4.17)(4.18)则一旦估计出,就可以按式(4.18)估计出,因此AR(p)模型的参数估计即指对这p个参数的估计。参数估计的方法分为直接法和间接法两类:直接法包括最小二乘法、解Yule-Walker方程法等,间接法包括LUD法、Burg法等。4.2.1AR模型参数的最小二乘估计设AR(p)模型表达式为(4.19)该式改写成矢量形式为(4.20)其中。给出t时刻的n组观测值或信号样值则有(4.21)其中写成矩阵形式为(4.22)式中与为待估计的未知量,故有(4.23)与是由观测值确定的已知矢量与矩阵(4.24)则对的最小二乘估计为(4.25)4.2.2AR模型参数估计的格型算法A.PARCOR系数对于,建立Yule-Walker方程为(4.26)称序列为的部分相关系数或PARCOR系数,并记作。方程组(4.26)中的表示第j个参数的第k次迭代结果。可以从开始逐次推出,直至时得到。其递推公式为(4.27)B.格型结构用AR(p)模型进行信号的线性预测的基本关系式为(4.28)这里为一组观测值,为模型参数。而为时刻的预测值。预测误差为(4.29)采用Durbin递推算法,在第k次迭代后,产生的预测误差为(4.30)进行Z变换得(4.31)定义一个误差滤波传递函数A(Z)为(4.32)则(4.31)传递函数可写为(4.33)改写后有(4.34)该式代表了误差滤波器的递推结构[10]。若时刻信号通过以为传递函数的滤波器,则该滤波器的输出便为时刻的第次迭代预测误差值。为了得到的递推式,可用乘式(4.34)两边,然后作反变换,即对(4.35)作反变换。等式左边与右边第一项的反变换显然为与。令(4.36)从两方面考虑它的反变换。一方面将作为误差滤波器的传递函数;另一方面当作递推形式,作出反变换的递推结果。首先,作为传递函数。将(4.33)中换成,得到,并代入式(4.36)则有(4.37)其反变换可表示为(对应于时刻)(4.38)从形式上看,也代表着一个预测误差,参与预测信号的样值为时刻的个样值,定义为后向预测,相应地把称为后向预测误差。相应地为前向预测误差。其次,考虑的递推形式。将式(4.34)中换成后,将代入式(4.36),得(4.39)其反变换可表示成(4.40)右边第一项是由是(4.36)推出来的,因为只要改写(4.41)对照式(4.36),将换成,为单位时延,便有的形式。若对式(4.35)作反变换,应用上面结果,便有(4.42)式(4.41)与(4.42)是一对交叉递推关系式,据此可以直接画出递推结构,即所谓的格型滤波结构,如图4.1所示。图中n代表离散时间变量,而与则表示第0次迭代。图4.1格型结构流图C.PARCOR系数的计算部分相关系数能直接与前向及后向预测误差联系起来,其关系式为(4.43)Burg推出了求PARCOR的算法原理,即使图3.3中前向与后向预测误差的平方和为最小,即令(4.44)将式(4.30)与(4.38)代入(4.44),并对求导,得(4.45)令(4.46)即可解出(4.47)而且总是满足(4.48)因此用Burg程序的格型结构,总是可以得到一组稳定的预测器的参数估计。确定预测器参数与部分相关系数的Burg格型算法的程序流程如下:(1)确定初值;(2)由式(4.47)计算;(3)由式(4.41)与(4.42)计算与;(4)设;(5)由式(4.47)计算;(6)由式(4.27)确定;(7)由式(4.41)与(4.42)计算与;(8)令;(9)若,回到步骤(5),否则到下一步;(10)程序结束;4.2.3AR模型阶数p的确定用自回归模型来作线性预测的表达式为(4.49)我们假设p是已知的,便为白噪声余项序列。但对没有任何先验信息的信号进行线性拟合处理时,这样假设缺乏根据。因为AR模型的阶数p必须选择的合适才能使为白色序列。所以只从样值自相关函数来确定AR模型的阶数是困难的。通常需结合信号的物理特性或估值过程中的某些量来作出判决。AR(p)模型的最后一个系数定义为偏自相关函数。而平稳时间序列为AR模型的充分条件为偏自相关函数具有截尾性。根据此截尾特性,可以作出结论:“最佳”的阶数可被确定为这样的值,在这种值之后的非常接近于0,此时。利用Durbin递推算法可得到(4.50)借助于递推过程中的进行最佳阶数判定,最常用的三种判定准则如下:(1)FPE准则最终预测误差准则FPE(FinalPredictionErrorCriterion)是把使下式为最小值的作为AR模型的最佳阶数:(4.51)(2)AIC准则信息论准则AIC(InformationTheoreticCriterion)是把使下式为最小值的,作为AR模型的最佳阶数:(4.52)(3)CAT准则自回归传递函数准则CAT(AutoregressiveTransferFunctionCriterion)是把使下式为最小值作为AR模型的阶数:(4.53)它相当于在估计滤波器的滤波误差的均方值上给出最佳阶数。第5章算术编码用算术编码来进行图像压缩,大致有两种思路:(1)假设当前误差的分布为某种已知分布(常用TSGD),估计当前误差分布的参数,然后直接用估计的参数分布概率对误差进行编码;(2)对误差以某种参数度量进行量化分类,然后以自适应方式进行概率估计、编码。本文选择后者,因为TSGD毕竟只是一种近似,自适应的方式具有更广泛的适应性,在大多数情况下会获得更好的压缩性能[11]。5.1一般算术编码5.1.1算术编码过程我们给出对短串“SWISS_MISS”的压缩步骤。表5.1给出了第一步所贮备的信息(数据的统计模型)。输入流中所出现的5个符号可按任何顺序排列。对于每个符号,首先统计它的出现概率,然后计算它的出现概率(用频率除以符号串的长度10)。把区间划分给各个符号。顺序任意,每个符号所分得子区间的大小正比于它的概率。因此“S”得到子区间(宽度0.5),“I”的子区间是,宽度0.2。累积频率那一栏用于解码算法。编码器首先把表5.1中的符号和频率写进输出流,然后才是压缩码字的位。而解码器首先输入该表。表5.15个符号的频率和概率字符频率概率范围累积频率TotalCumFreq=10S55/10=0.55W11/10=0.14I22/10=0.22M11/10=0.11_11/10=0.10编码过程首先定义Low和High两个变量,将其分别置为0和1,这样就定义了一个区间。随着符号的输入和处理,Low和High的值逐渐靠近,使区间越来越窄。处理完第一个符号“S”后,Low和High分别更新为0.5和1,整个输入流的最终码字将是该范围内的一个数。输入流中的其他符号,将确定最终码字位于区间中的准确位置。为了更好地理解,可以想象按分割原始区间同样的比例,把新区间划分给字母表中的5个符号,得到5个子区间、、、和。当读入下一个符号“W”时,就选择第3个子区间作为当前区间,再进一步分成5个子区间。当读入和处理更多的符号时,Low和High按照如下方式更新:(5.1)(5.2)其中,而和分别表示符号X所对应区间的下限和上限。上例中,输入第2个符号“W”,我们更新,。新区间覆盖了原“S”子区间的。表5.2给出了对符号串“SWISS_MISS”编码的全过程。最后的码字是Low的最终值0.71753375,但只需输出71753375这8位数字。表5.2算术编码过程字符Low和High的计算SLH0.0+(1.0-0.0)×0.5=0.50.0+(1.0-0.0)×1.0=1.0WLH0.5+(1.0-0.5)×0.4=0.700.5+(1.0-0.5)×0.5=0.75ILH0.7+(0.75-0.70)×0.2=0.710.7+(0.75-0.70)×0.4=0.72SLH0.71+(0.72-0.71)×0.5=0.7150.71+(0.72-0.71)×1.0=0.72SLH0.715+(0.72-0.715)×0.5=0.71750.715+(0.72-0.715)×1.0=0.72_LH0.7175+(0.72-0.715)×0.0=0.71750.7175+(0.72-0.7175)×0.1=0.71775MLH0.7175+(0.71775-0.7175)×0.1=0.7175250.7175+(0.71775-0.7175)×0.2=0.717550ILH0.717525+(0.71755-0.717525)×0.2=0.7175300.717525+(0.71755-0.717525)×0.4=0.717535SLH0.717530+(0.717535-0.717530)×0.5=0.71753250.717530+(0.717535-0.717530)×1.0=0.717535SLH0.7175325+(0.717535-0.7175325)×0.5=0.717533750.7175325+(0.717535-0.7175325)×1.0=0.7175355.1.2算术解码过程解码器的工作正相反。它首先输入符号及其区间,重构表5.1。然后输入其余码字。第1位数字是“7”,因此解码器立即知道整个码字是形如0.7...数字。该数字位于S的子区间中,所以第1个符号就是S。然后从该数字中减去S子区间的低端值0.5,再除以S子区间的宽度0.5,以消除符号S对码字的影响。结果是0.4350675,告诉解码器下一个符号是W(因为W的子区间是)。为了从码字中消除符号X的影响,解码器执行的操作,这里Range是符号X的子区间宽度。表5.3总结了本例的解码步骤。表5.3算术解码过程字符低码字范围S0.71753375-0.5=0.21753375/0.5=0.4350675W0.7350675-0.4=0.0350675/0.1=0.350675I0.350675-0.2=0.150675/0.2=0.753375S0.753375-0.5=0.253375/0.5=0.50675S0.50675-0.5=0.00675/0.5=0.0135_0.0135-0=0.0135/0.1=0.135M0.0.135-0.1=0.035/0.1=0.35I0.35-0.2=0.15/0.2=0.75S0.75-0.5=0.25/0.5=0.5S0.5-0.5=0/0.5=05.2改进的算术编码5.2.1算术编码过程前面讨论的编码过程不实用,因为它假定Low和High可以存放无限精度的数字。上节讨论的解码过程(解码器“然后从该数字中减去S子区间的低端值0.5,再除以S子区间的宽度0.5,以消除符号S对码字的影响”)原理简单却也不实用。以一个数字作为码字通常很长,甚至非常长。譬如一个1MB的文件可以编码成由一个数字所表示的500KB,而除以一个500KB长的数可是既复杂又慢的[12]。算术编码的任何实用方案应该只用整数(因为符点运算慢且精度会丢失),而且不能太长(最好只用单精度)。这里我们用两个整型变量(对于本例其长度为4位十进制数,但实际可为16或32位二进制数)Low和High来讨论这样一个实现。这些变量涵盖了当前子区间的上下限,但我们不让其范围变得太宽。从表5.2看出,一旦Low和High最左边的数字变成相同后就不再变了,因此我们就可以把不变的数字从这两个变量中移出,并向输出流中写一个数字。这样就无需在两个变量中保存完整的码字,而只需保存码字的最新部分即可。随着数字从这两个变量中移出,在Low的右端移入0,在High的右端移入9。为便于理解,可将这两个变量均看成是无限长数字的左端:Low=xxxx00…,High=yyyy99…。一个问题是应该把High初始化为1,但是Low和High中的内容应理解为是小于1的小数。解决方法是用9999…对High进行初始化,因为无限长的小数0.9999…等于1。表5.4描述了符号串“SWISS_MISS”的编码过程。第1列是下一个输入符号,第2列是Low和High的新值,第3列是High末位减1后再定标的整数,第4列是送进输出流的下一个数字,第5列是左移后Low和High的新值。注意最后一补是如何把4位数字3750送进输出流的。最后的输出为717533750。表5.4通过移位编码“SWISS_MISS”12345SL=0+(1-0)×0.5=0.5H=0+(1-0)×1.0=1.05000999950009999WL=0.5+(1-0.5)×0.4=0.7H=0.5+(1-0.5)×0.5=0.75700074997700004999IL=0+(0.5-0)×0.2=0.1H=0+(0.5-0)×0.4=0.2100019991100009999SL=0+(1-0)×0.5=0.5H=0+(1-0)×1.0=1.05000999950009999SL=0.5+(1-0.5)×0.5=0.75H=0.5+(1-0.5)×1.0=1.07500999975009999_L=0.75+(1-0.75)×0.0=0.75H=0.75+(1-0.75)×0.1=0.775750077497750007499ML=0.5+(0.75-0.5)×0.1=0.525H=0.5+(0.75-0.5)×0.2=0.55525054995525004999IL=0.25+(0.5-0.25)×0.2=0.3H=0.25+(0.5-0.25)×0.4=0.35300034993300004999SL=0.0+(0.5-0)×0.5=0.25H=0.0+(0.5-0)×1.0=0.52500499925004999SL=0.25+(0.5-0.25)×0.5=0.375H=0.25+(0.5-0.25)×1.0=0.537504999375049995.2.2小结鉴于改进的算术编码方法比较实用,所以用到的编码方法是改进的算术编码,根据上面的编码和解码思路,用MATLAB语言编码写算术编码、解码以及累积频率的子程序,从而实现预测误差量化后的算术编码。第6章MATLAB概述及仿真结果6.1MATLAB概况美国Mathwork公司于1967年推出了矩阵实验室“MatrixLaboratory”(缩写为MATLAB)这就是MATLAB最早的雏形。开发的最早的目的是帮助学校的老师和学生更好的授课和学习。从MATLAB诞生开始,由于其高度的集成性及应用的方便性,在高校中得到了极大的欢迎。由于她使用方便,能非常快的实现科研人员的设想,极大的节约了科研人员的时间,受到了大多数科研人员的支持。MATLAB是一种解释性执行语言,具有强大的计算、仿真、绘图等功能。由于它使用简单,扩充方便,尤其是世界上有成千上万的不同领域的科研工作者不停的在自己的科研过程中扩充MATLAB的功能,使其成为了巨大的知识宝库。可以毫不夸张的说,哪怕是你知真正理解了一个工具箱,那么就是理解了一门非常重要的科学知识。科研工作者通常可以通过MATLAB来学习某个领域的科学知识。目前的MATLAB版本已经可以方便的设计漂亮的界面,它可以象vb等语言一样设计漂亮的用户接口,同时因为有最丰富的函数库(工具箱)所以计算的功能实现也很简单,进一步受到了科研工作者的欢迎。另外,MATLAB和其他高级语言也具有良好的接口,可以方便的实现与其他语言的混合编程,进一步拓宽了MATLAB的应用潜力。MATLAB还有非常完善的使用手册,不仅包括使用方法,还有涉及的科学知识,非常简单易读。6.2MATLAB的语言特点一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB最突出的特点就是简洁。MATLAB用更直观的,符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观,最简洁的程序开发环境。以下简单介绍一下MATLAB语言的主要特点。(1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。(2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。(3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。(4)程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。(5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。(6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。(7)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。(8)功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如control,toolbox,signalprocessingtoolbox,communicationtoolbox等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。(9)源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。6.3MATLAB图形用户界面设计6.3.1图形用户界面的创建与组成A.创建图形用户界面图形用户界面,简称GUI,是英文GraphicUserInterface的缩写。其创建方法是:使用菜单【File】→【New】→【GUI】或者在命令窗口使用命令guide,弹出对话框,在对话框内可创建图形用户界面(CreateNewGUI)或者通过【Browse】打开一个已有图形用户界面(OpenExistingGUI)。在创建新图形用户界面是,可以进行适当设置。B.图形用户界面介绍图形用户界面由下述几部分组成:布局区域,对象对齐工具,菜单编辑器,切换顺序编辑器,m文件编辑器,属性检查器,图形对象浏览器,激活按钮,取消按钮和重复操作按钮,组件面板。下面分别介绍。(1)布局区域(LayoutArea)布局区域(LayoutArea)是用户在图形用户界面进行操作的主要区域,用于MATLAB下图形操作的外观设置,一旦被激活,其就成为图形窗口。在布局区域内添加控件时,可在组件面板(ComponentPalette)中单击所选空间,然后再布局区域中单击某点,该点即为控件的左上角位置;也可先单击所选控件,然后拖动光标并设置控件大小。(2)对象对齐工具(AlignObject)单击对象对齐工具(AlignObject),显示对齐工具按钮。通过使用Ctrl键选择多个对象,在通过对相关设置来调整所选择对象之间的相对位置和间距,单击【OK】完成,若单击【Apply】则当前对象调整完成并可继续对新对象进行对其设置。(3)菜单编辑器(MenuEditor)菜单编辑器(MenuEditor)或布局区域单击鼠标右键并选择【MenuEditor】,弹出菜单编辑对话框,可以在该对话框中进行菜单条对象(显示为图形窗口菜单)和上下文菜单(用户右击图形对象弹出菜单)的创建与设置。(4)切换顺序编辑器(TabOrderEditor)单击切换顺序编辑器(TabOrderEditor),弹出切换顺序编辑器,可进行图形对象的快速切换。(5)m文件编辑器(M-FileEditor)单击m文件编辑器(M-FileEditor),或布局区域选择某个图形组件单击鼠标右键并选择【MenuEditor】,可以进行有关m文件的编辑,对应的回调函数(callback)是图形对象被选中时执行的一段代码,其代码体一般包括:获得触发动作对象的句柄、获得图形元素的属性、获得目标对象的句柄、设置目标对象的属性。(6)属性检查器(PropertyInspector)在布局区域选择某个图形组件,再单击属性检查器工具条按钮,或单击鼠标右键并选择【PropertyInspector】,弹出属性检查对话框,它用于检查和修改图形对象的某些属性。(7)图形对象浏览器(ObjectBrower)在布局区域选择某个图形组件,再单击图形对象浏览器(ObjectBrower),或单击鼠标右键并选择【ObjectBrower】,弹出图形对象浏览器对话框显示图形界面中各个对象的层次关系。(8)激活按钮(Run)激活按钮(Run)用于图形执行,如果是新建图形用户界面,则MATLAB将弹出保存【SaveAs】对话框,一般情况下,单击激活按钮(Run),相当于其他程序设计语言的编译、连接与执行。(9)取消按钮和重复操作按钮(Undo和Redo)按钮(Undo)和(Redo),用于图形用户界面上次操作的取消和重复。(10)组件面板(ComponentPallette)为了方便可视化编程,MATLAB的组件面板(ComponentPallette)提供了较多的控件。表6.1列出了各控件的中英文名称[13]。表6.1组件面板的控件名称控件图形控件英文名称控件中文名称PushButton鼠标按下操作按钮RadioButton单项选择按钮EditText编辑框续表6.1组件面板的控件名称控件图形控件英文名称控件中文名称Pop-upMenu组合框ToggleButton切换(按下/弹起)按钮Panel面板控件ActivexControlActivex控制控件Slider滑动条CheckBox多项选择StaticText静态文本Listbox列表框Axes坐标系ButtonGroup按钮组6.3.2图形用户界面编程MATLAB中使用图形用户界面编程时,经常会碰到不同的图形对象,这些对象主要包括窗口对象、菜单对象、对话框对象、控件对象和坐标轴对象。下面分别介绍对象有关属性的设置方法。A.窗口对象(1)窗口对象属性的可视化设计窗口的基本属性包括位置(Position)、窗口编号(NumberTitle)、标题栏(Name)和菜单(Menubar)。Position属性:设置窗口位置,它为的向量,前后两个数值分别为窗口矩形左下角及右上角的横坐标与纵坐标数值。Name属性:窗口标题栏对应的字符串。NumberTitle属性:窗口编号选项,有两个;选项on(默认选项)显示窗口编号;选项off则不显示窗口编号。Menubar属性:菜单栏目选项,有两个:选项Figure为选择系统默认菜单;选项None则不选用系统默认菜单。窗口还有颜色(Color)、调整(Resize)和可见性(Visible)等属性。(2)窗口对象属性程序设计创建方法:set(对象句柄,属性1,属性值1,属性2,属性值2,…)获取方法:get(对象句柄,属性1,属性值1,属性2,属性值2,…)B.菜单对象(1)菜单对象属性的可视化设计通过属性检查器进行菜单可视化设计时,有两个可以切换的选项,即MenuBar和ContextMenu,分别创建下拉式菜单和上下文菜单。对于下拉式菜单来说,如果窗口的MenuBar属性设置为“figure”、则有系统默认的8个原始菜单:File、Edit、View、Insert、Tools、Desktop、Window和Help。如果用户要调整各菜单位置或添加新菜单,可直接使用菜单编辑器。如果窗口MenuBar属性设置“none”,则不显示8个原始菜单,但可以添加新的菜单。用户创建好菜单后,执行相应操作可以通过在菜单选项中选择相应的回调函数Callback。(2)菜单对象属性程序设计创建方法:uimenu(窗口句柄,属性1,属性值1,属性2,属性值2,…)窗口句柄如果使用“gcf”,是指当前图形窗口(GetCurrentFigure)。对于当前图形窗口来说,“窗口句柄”一项可以省略。C.对话框属性对话框属性包括错误提示对话框、帮助提示对话框和信息提示对话框,调用格式分别为errordlg(‘s1’,‘name’)、helpdlg(‘s1’,‘name’)、messagebox(‘s1’,‘name’),s1为对话框内的字符串,name为对话框标题。D.控件对象(1)控件对象属性的可视化设计对于表6.1的各基本控件,选中使其成为十字形,直接在布局区域内单击即可进行布置。而要对布局区域内的各控件进行属性设置,可以单击对应空间,然后单击鼠标右键,通过属性检查器修改其属性值。各控件常用属性值见表6.2。表6.2控件的基本属性控件属性名称控件属性值使用说明Style控件类型,见表6.1Position控件相对于窗口左下角位置及其宽度与高度BackgroundColor设置背景颜色ForegroundColor设置前景颜色String显示在控件上的字符串Tag控件标签名称Callback回调函数(2)窗口对象属性程序设计创建方法:uncontrol(窗口句柄,属性1,属性值1,属性2,属性值2,…)对于当前图形窗口来说,“窗口句柄”一项可以省略。E.坐标轴对象属性(1)坐标轴对象属性的可视化设计选中控件使其成为十字形,在布局区域内单击即可。要对布局区域内的坐标轴对象设置属性,可以单击对应坐标轴对象并单击右键,通过属性检查器修改其属性值。坐标轴对象常见的属性值如表

温馨提示

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

评论

0/150

提交评论