ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:81.39KB ,
资源ID:4035484      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4035484.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于行程编码的图像编码程序设计.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于行程编码的图像编码程序设计.docx

1、基于行程编码的图像编码程序设计图像信息系统课程设计【课程设计选题】基于行程编码的图像编码程序设计一、 课程设计的目的与要求1.1、课程设计目的1.2、课程设计选题1.3、课程设计方案制定1.4、课程设计要求二、 设计的主要内容及基本原理2.1、图像压缩编码的背景意义2.2、行程编码(Run-Length Encoding)三、 图像编码程序总体方案设计3.1、图像编码程序流程图3.2、用MATLAB实现图像编码程序源代码及注释四、 课程设计总结与体会一、课程设计的目的与要求【课程设计选题】基于行程编码的图像压缩编码程序设计1.1、课程设计目的1、提高分析问题、解决问题的能力,进一步巩固图像信息

2、系统中的基本原理与方法。2、熟悉掌握一门计算机语言,可以进行图像信息系统原理应用的开发设计。1.2、课程设计选题1、对一幅数字图像进行行程压缩编码,计算出压缩率(即编码效率),并显示编码前的图像;2、对编码后的数据进行解压,并显示解压后的图像;3、对原始图像数据和解压后图像数据进行失真测试。1.3、课程设计方案制定1、程序运行环境是Windows平台。2、开发工具选用matlab、VC+、 VB、 C#等。建议选用matlab作为编程开发工具,可以达到事半功倍的效果、并可降低编程难度。3、以组件化的思想构建整个软件系统。具体的功能模块根据选定的不同题目做合理的划分。1.4、课程设计要求1、理解

3、各种图像压缩编码方法确切意义。2、独立进行方案的制定,系统结构设计要合理。3、在程序开发时,则必须清楚主要实现函数的目的和作用,需要在程序书写时说明做适当的注释。如果使用matlab来进行开发,要理解每个函数的具体意义和适用范围,在写课设报告时,必须要将主要函数的功能和参数做详细的说明。4、通过多幅不同形式的图像来检测该系统的稳定性和正确性。二、设计的主要内容及基本原理2.1、图像压缩编码的背景意义图像由于其表示方法的原因导致其完整、真实的保存一幅图片时,所占用的物理空间是极其庞大的。例如一幅1024*468、256色的图像,就需要存储1024*468*24=11501568个位,相当于102

4、4*468*3=1437696个字节,约合1040kb的信息。Bmp图像就是一种真实记录每一个颜色信息的图像格式。因此,bmp的存储空间要求的就比较大。而这种图像在网络环境中几乎是不可接受的,因此对图像进行数据压缩是一个值得我们重视的问题。图像编码压缩的目的是节省图像存储空间,减少传输信道的容量,缩短图像加工处理时间,针对不同的应用目的可以使用不同的压缩方法。图像的数据压缩可分成两类,一类是无损压缩,另一类是有损压缩。无损压缩利用数据的统计冗余进行压缩,可以保证在数据压缩和还原过程中,图像信息没有损失或失真,图像还原(解压缩)时,可完全恢复,即重建后的图像与原始图像完全相同。例如,在多媒体应用

5、中常用的有行程编码(RLE)、增量调制编码(DM)、霍夫曼(Huffman)编码、LZW编码等。有损压缩方法利用人眼视觉对图像中的某些频率成分不敏感的特性,采用一些高效的有限失真数据压缩算法,允许压缩过程中损失一定的信息。采用有损压缩的数据进行图像重建时,重建后的图像与原始图像虽有一定的误差,但并不影响人们对图像含义的正确理解,却换来了较大的压缩比,大幅度减少了图像信息中的冗余信息。在本课程设计中,我们主要针对的是无损压缩中的行程编码方式的主要算法及其算法实现。该编码原理十分简单,就是将一行中颜色值相同的相邻像素用一个计数值和该颜色值来代替,例如aaabccccccddee可以表示为3a1b6

6、c2d2e.如果一副图像是由很多块颜色相同的大面积区域组成的,那么采用行程编码压缩的效率会非常的惊人,但是如果图像中每两个相邻点的颜色都不同,用这种方法不但不能压缩,反而数据量增加一倍。在本次课程设计中我们还实现了图像直方图,灰度拉伸,直方图均衡化,图像亮度变换,灰度变换等功能。2.2、行程编码(Run-Length Encoding,RLE)行程编码也称游程编码,常用RLE(Run-Length Encoding)表示,是一种利用空间冗余度压缩图像的方法,对某些相同灰度级成片连续出现的图形,行程编码也是一种高效的编码方法。特别是对二值图像,效果尤为显著。该压缩编码技术相当直观和经济,运算也相

7、当简单,因此解压缩速度很快。RLE压缩编码尤其适用于计算机生成的图形图像,对减少存储容量很有效果。2.21 RLE 算法的基本原理RLE(Run- Length Encoding 行程长度编码)算法是Windows 系统中使用的一种图像文件压缩方法, 其基本思想是: 将一扫描行中颜色值相同的相邻像素用两个字节来表示, 第一个字节是一个计数值, 用于指定像素重复的次数; 第二个字节是具体像素的值2。主要通过压缩除掉数据中的冗余字节或字节中的冗余位,从而达到减少文件所占空间的目的。例如, 有一表示颜色像素值的字符串RRRRRGGBBBBBB,用 RLE 压缩方法压缩后可用 5R2G6B 来代替,显

8、然后者的串长度比前者的串长度小得多。译码时按照与编码时采用的相同规则进行, 还原后得到的数据与压缩前的数据完全相同。因此, RLE 是无损压缩技术。对于拥有大面积,相同颜色区域的图像,用RLE压缩方法非常有效。由RLE原理派生出许多具体行程压缩方法(1) PCX行程压缩方法该算法实际上是位映射格式到压缩格式的转换算法,该算法对于连续出现1次的字节Ch,若Ch0xc0则压缩时在该字节前加上0xc1,否则直接输出Ch,对于连续出现N次的字节Ch,则压缩成0xc0N,Ch这两个字节,因而N最大只能为ffc0=3fh(十进制为63),当N大于63时,则需分多次压缩。(2)BI_RLE8压缩方法在WIN

9、DOWS3.0、3.1的位图文件中采用了这种压缩方法。该压缩方法编码也是以两个字节为基本单位。其中第一个字节规定了用第二个字节指定的颜色重复次数。如编码0504表示从当前位置开始连续显示5个颜色值为04的像素。当第二个字节为零时第二个字节有特殊含义:0表示行末;1表示图末;2转义后面2个字节,这两个字节分别表示下一像素相对于当前位置的水平位移和垂直位移。这种压缩方法所能压缩的图像像素位数最大为8位(256色)图像。这种压缩方式包括绝对方式和编码方式。 编码方式在此方式下每两个字节组成一个信息单元。第一个字节给出其后面相连的象素的个数。第二个字节给出这些象素使用的颜色索引表中的索引。例如:信息单

10、元03 04,03表示其后的象素个数是3个,04表示这些象素使用的是颜色索引表中的第五项的值。压缩数据展开后就是04 04 04 .同理04 05 可以展开为05 05 05 05. 信息单元的第一个字节也可以是00,这种情况下信息单元并不表示数据单元,而是表示一些特殊的含义。这些含义通常由信息单元的第二个字节的值来描述。这些值在0x00到0x02之间。具体含义如下: 第二个字节的值 00 线结束 01 位图结束 02 象素位置增量。表示紧跟在这个字节后面的信息单元里的两个字节中所包含的无符号值指定了下个象素相对于当前象素的水平和垂直偏移量。例如:00 02 06 08表示的含义是下一个象素的

11、位值是从当前位置向右移动5个象素,向下移动8个象素。绝对方式 绝对方式的标志是第一个字节是0,第二个字节是0x03到0xff之间的值。第二个 字节的值表示跟随其后面的象素的字节数目。每个字节都包含一个象素的颜色索引。每个行程编码都必须补齐到字的边界。 (3)BI_RLE4压缩方法该方法也用于WINDOWS3.0/3.1位图文件中,它与BI_RLE8编码类似,唯一不同是:BI_RLE4的一个字节包含了两个像素的颜色,因此,它只能压缩的颜色数不超过16的图像。因而这种压缩应用范围有限。(4)紧缩位压缩方法(Packbits)该方法是用于Apple公司的Macintosh机上的位图数据压缩方法,TI

12、FF规范中使用了这种方法,这种压缩方法与BI_RLE8压缩方法相似,如1c1c1c1c2132325648压缩为:831c2181325648,显而易见,这种压缩方法最好情况是每连续128个字节相同,这128个字节可压缩为一个数值7f。这种方法还是非常有效的。2.22 RLE特点RLE所能获得的压缩比有多大,这主要是取决于图像本身的特点。如果图像中具有相同颜色的图像块越大,图像块数目越少,获得的压缩比就越高。反之, RLE对颜色丰富的自然图像就显得力不从心,在同一行上具有相同颜色的连续像素往往很少,而连续几行都具有相同颜色值的连续行数就更少。如果仍然使用RLE编码方法,不仅不能压缩图像数据,反

13、而可能使原来的图像数据变得更大。因此,具体实现时,需要和其它的压缩编码技术联合应用。2.23 RLE算法的局限性在RLE数据压缩中,只有当重复的字节数大于3时才可以起到压缩作用,并且还需要一个特殊的字符用作标志位,因此在采用RLE压缩方法时,必须处理以下几个制约压缩比的问题。(1)在原始图像数据中,除部分背景图像的像素值相同外,没有更多连续相同的像素。因此如何提高图像中相同数据值的问题是提高数据压缩比的关键;(2)如何寻找一个特殊的字符,使它在处理的图像中不用或很少使用的问题;(3)在有重复字节的情况下,如何提高重复字节数(最多为255)受限的问题。三、图像编码程序总体方案设计3.1、图像编码

14、程序流程图图像行程编码主流程图如下图所示3.2、用MATLAB实现图像编码程序源代码及注释源程序及相关注释: image1=imread(C:Program FilesMATLAB71work11.jpg); %读入图像 imshow(image1); %显示原图像 % 以下程序是将原图像转换为二值图像 image2=image1(:); %将原始图像写成一维的数据并设为 image2 image2length=length(image2); % 计算image2的长度 for i=1:1:image2length % for 循环,目的在于转换为二值图像If image2(i)=127ima

15、ge2(i)=255;else image2(i)=0;endend image3=reshape(image2,146,122); % 重建二维数组图像,并设为image3 figure,imshow(image3); % 以下程序为对原图像进行行程编码,压缩 X=image3(:); %令X为新建的二值图像的一维数据组 x=1:1:length(X); % 显示行程编码之前的图像数据 figure,plot(x,X(x); j=1; image4(1)=1; for z=1:1:(length(X)-1) % 行程编码程序段if X(z)=X(z+1)image4(j)=image4(j)

16、+1;elsedata(j)=X(z); % data(j)代表相应的像素数据j=j+1;image4(j)=1;endend data(j)=X(length(X); % 最后一个像素数据赋给data image4length=length(image4); % 计算行程编码后的所占字节数,记为image4length y=1:1:image4length ; % 显示编码后数据信息 figure,plot(y,image4(y); CR=image2length/image4length; % 比较压缩前于压缩后的大小 % 下面程序是游程编码解压 l=1; for m=1:image4le

17、ngth for n=1:1:image4(m); rec_image(l)=data(m); l=l+1; end end u=1:1:length(rec_image); % 查看解压后的图像数据 figure,plot(u,rec_image(u); rec2_image=reshape(rec_image,146,122); % 重建二维二维图像数组 figure,imshow(rec2_image); % 显示解压恢复后的图像CR12.084,说明该行程编码,压缩率为 12.084通过MATLAB可以看出,程序运行过程中各个变量的值 如下图:五、 课程设计总结与体会在这次不到两周的课

18、程设计当中,我深深地感觉到自己知识的不足之处,看到了自己非常缺乏实践经验,理论联系实际的能力也极需要得到提高。 这次的课程设计也让我看到了团队的力量,我认为我们的工作是一个团队的工作,虽然我的团队只有两个人,但是我们作为一个整体,我们发扬了团队的合作精神,大家一起取长补短。最终完成了这次课设的全部过程。合作让我明白了在课程设计中只有一个人知道原理是远远不够的,必须让我们一个组的人都知道,否则一个人的错误,就有可能导致整个组的失败。团结协作是我们成功的一项非常重要的保证。而这次设计也正好锻炼我们这一点,这也是非常宝贵的。 对我而言,知识上的收获重要,精神上的丰收更加可喜。让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。这次课程设计必将成为我人生旅途上一个非常美好的回忆。最后,通过这次课程设计,加深了我对数字图像处理的理解与掌握,同时也让我更加熟练的运用MATLAB进行编程,虽然在此课设中我们对图像进行的编码方法并不是非常完美,且存在一定的缺陷,但是我们会以此作为一个前进的平台,努力向更好的境界发展。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2