还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
游程编码实验报告范文游程编码数据的属性查询交通大学信息科学与工程学院综合性设计性实验报告专业通信工程专业11级相2姓名徐国健实验所属课程挪移通信原理与应用实验室(中心)信息技术软件实验室指导教师益才2022年5月教师评阅意见签名年月日实验成绩
一、题目二值图象的游程编码及解码
二、仿真要求对一幅图象进行编码压缩,然后解码恢复图象
三、仿真方案详细设计实验过程分为四步分别是读入一副图象,将它转换成为二进制灰度图象,然后对其进行游程编码和压缩,最后恢复图象(只能恢复为二值图像)
1、二值转换所谓二值图象,就是指图象上的所有像素点的灰度值只用两种可能,不为“0”就为“1”,也就是整个图象呈现出明显的黑白效果
2、游程编码原理游程编码是一种无损压缩编码,对于二值图有效游程编码的基本原理是用一个符号值或者串长代替具有相同值的连续符号,使符号长度少于原始数据的长度据进行编码时,沿一定方向罗列的具有相同灰度值的像素可看成是连续符号,用字串代替这些连续符号,可大幅度减少数据量游程编码分为定长行程编码和不定长行程编码两种类型游程编码是连续精确的编码,在传输过程中,如果其中一位符号发生错误,即可影响整个编码序列,使行程编码无法还原回原始数据
3、游程编码算法普通游程编码有两种算法,一种是使用1的起始位置和1的游程长度,另一种是只使用游程长度,如果第一个编码值为0,则表示游程长度编码是从0像素的长度开始这次实验采用的是前一种算法两种方法各有优缺点前一种存储比第二种艰难,因此编程也比较复杂而后一种需要知道第一个像素值,故压缩编码算法中需给出所读出的图的第一个像素值压缩流程图解压流程图:开始开始开始开始读出压缩读出压缩数据image将原图象矩阵重构为一行二进制数据建立一行len列建立一行len列的0向量image,len为图片长宽之积建立结构树imagel,包含了image,po和image,wgh,分别代表起始位置和宽度i=len i=len循环判断第一个值是否为1判断第一个值是否为1让image从让从游程到宽度范围内变为image11image和位置置image,po image.wgh1j=1利用函数重构原来的图象矩阵利用函数重构原来的图象矩阵结束i=2:len结束i=2:len一个游程一个游程完后,j=j+1遍历tempi,遍历tempi,将游程1的起始位置和宽度存在image,po j和image,wghj中将image1转化为image,去掉多于存储空间结束
四、仿真结果及结论结束
五、总结与体味
六、主要仿真代码上图为压缩编码后的图象实验代码:imagel=imread,D:\我的图片实验图.jpg;%读入图象title原始彩色图象;imgGray=rgb2gray imagel;%转为黑白图象figure;%建立一个新窗口imhowimgGray;%显示转化后的黑白图象titleC转化后的黑白图象;imwriteimgGray,gray,jpg;将原始图象写成一维的数据并设为image2=imgGray:;%image2_c,r]=izeimgGray:,:,1;image2=imgGray:;%同上image21ength=length image2;%统计长度fori=l:1:image21ength%f转换为二值图象ifimage2i=127所编=纯黑色为28©2255;%255endifimage2i127image2⑴=0;%纯白色为0end重建二维数组图象,并设为image3=rehapeimage2,c,r;%i mage3figure,imhowimage3titleC压缩后的二值图象;%以下程序为对原图象进行游程编码,压缩某二image3:;%令某为新建的二值图象的一维数据组某二1:1:length某;%显示游程编码之前的图象数据figure,plot某,某某;titleC编码前的图象数据;j=l;image4=[];image4l=l;forz=l:1:length某Tif某z=二某z+1image4j=image4j+1;eledata j=某z;image4j=l;end dataj=某length某;%最后一个像素数据赋给dataimage4length二length image©;%统计游程编码后的所占字节长度y=l1image41ength;%显示编码后数据信息figure,ploty,image4y;titleC编码后的数据信息;CR=1111@802101181±/1111@864101^小;%比较压缩前于压缩后的大小%下面程序是游程编码解压1;form=l:image41engthforn=l:1:image4m;rec_image1=data m;1=1+1;endendu=1:1:length rec_image;%查看解压后的图象数据figure,plotu,rec_image u;title解压后的图象数据;rec2_image=rehape rec_image,c,r;%重建二维图象数组figure,imhowrec2_image;%显示解压恢复后的图象titleC解压恢复后的图象;。
个人认证
优秀文档
获得点赞 0