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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(《数据压缩与信源编码》实验指导书.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《数据压缩与信源编码》实验指导书.docx

1、数据压缩与信源编码实验指导书数据压缩与信源编码实验指导书适用专业: 信息工程 课程代码: 6088619 总学时: 40 总学分: 2.5 编写单位:电气与电子信息学院 编 写 人: 李斌 审 核 人: 审 批 人: 批准时间: 2015 年 11 月 10日目 录 实验一 码书的设计和使用 2实验二 基于DCT变换的图像压缩技术 8实验三 基于小波变换的图像压缩技术 15实验一 码书的设计和使用一、 实验目的 采用矢量量化算法(LBG)获得图像压缩所需要的码书,通过码书实现图像压缩编码。 二、 实验内容 对给定的一幅图像进行码书设计、编码和解码。三、 实验仪器、设备及材料 操作系统:Wind

2、owsxp;软件:MATLAB四、 实验原理 要想得到好的性能编码,仅采用标量量化是不可能的。当把多个信源符号联合起来形成多维矢量,再对矢量进行标量量化时自由度将更大,同样的失真下,量化基数可进一步减少,码率可进一步压缩。这种量化叫矢量量化。一种有效和直观的矢量量化码书设计算法LBG算法(也叫GLA算法)是由Linde、Buzo和Gray于1980年首先提出来的。该算法基于最佳矢量量化器设计的最佳划分和最佳码书这两个必要条件,且是Lloyd算法在矢量空间的推广,其特点为物理概念清晰、算法理论严密及算法实现容易。设训练矢量集为,待产生的码书为,其中,则码书设计过程就是需求把训练矢量集分成个子集的

3、一种最佳聚类方案,而子集的质心矢量作为码字。假设平方误差测度用来表征训练矢量和码字之间的失真,即:则码书设计的准则可用下列数学形式表达: 最小化 约束条件 , 其中为矩阵,其元素满足: 矩阵可看作训练矢量的聚类结果。根据,可计算码字: 其中代表子集中训练矢量的数目,或者说是矩阵第行中非零元素的数目。针对训练矢量集为,其LBG算法的具体步骤如下: 步骤1:给定初始码书,令迭代次数,平均失真,给定相对误差门限。 步骤2:用码书中的各码字作为质心,根据最佳划分原则把训练矢量集划分为个胞腔,满足 步骤3:计算平均失真 判断相对误差是否满足 若满足,则停止算法,码书就是所求的码书。否则,转步骤4。 步骤

4、4:根据最佳码书条件,计算各胞腔的质心,即 由这个新质心形成新码书,置,转步骤2。五、 实验步骤1. 码书的设计clear all; data=imread(cameraman.tif); %调入原始图像 data=double(data)/255; %归一化m,n=size(data); %求出图像的行数和列数 figure(1)subplot(1,2,1);imshow(data); %显示原始图像 title(原始图像)subplot(1,2,2);imhist(data);title(直方图)siz_word=4; %设置码字的大小 siz_book=512; %设置码书的大小 dat

5、a1=zeros(m*n,1);for i=1:m for j=1:n data1(i-1)*n+j)=data(i,j); endendM1=floor(m*n/siz_word);r=mod(m*n,siz_word);if r0 M1=M1+1;enddata2=zeros(M1,siz_word);l=1;A=zeros(siz_word,1);r=1;for i=1:m*n A(r)=data1(i); if r=siz_word data2(l,:)=A; l=l+1; r=1; else r=r+1; endendcode_book=zeros(siz_book,siz_word

6、);2编码%LBG算法开始%初始化码书l=1;r=1;A=zeros(siz_word,1);for i=1:siz_book*siz_word A(r)=data1(i); if r=siz_word code_book(l,:)=A; l=l+1; r=1; else r=r+1; endendMIU=zeros(M1,siz_book); t=1;while t=1 for i=1:M1 B=zeros(siz_word,1); B=data2(i,:); A=zeros(siz_word,1); A=code_book(1,:); tep=0.0; for l=1:siz_word t

7、ep=tep+(A(l)-B(l)2; end r=1; for j=2:siz_book A=code_book(j,:); temp=sum(A-B).2); if temp0 code_book1(j,l)=code_book1(j,l)/tep; else code_book1(j,l)=0.0; end end end tep=0.0; for j=1:siz_book for l=1:siz_word tep=tep+(code_book1(j,l)-code_book(j,l)2; end end if tep/siz_book0.000001 t=0; end code_boo

8、k=code_book1;end3. 解码%编码后图像恢复过程data3=zeros(M1,siz_word);for i=1:M1 for j=1:siz_book if MIU(i,j)=1 t=j; end end data3(i,:)=code_book(t,:);enddata5=zeros(m,n);for i=1:m for j=1:n tep=(i-1)*n+j; i1=floor(tep/siz_word); if i1=0 i1=1; end j1=mod(tep,siz_word); if j1=0 j1=siz_word; end data5(i,j)=floor(da

9、ta3(i1,j1)*255); endendfigure(2)imshow(uint8(data5); %显示恢复图像title(矢量量化编码后恢复的图像)六、 实验注意事项认真听指导教师的讲解,按照要求一步一步做实验。实验完成后,写出规范的实验报告。七、 思考题 1. 码书的大小对图像编码、解码的影响?2. 码字的大小对图像编码、解码的影响?实验二 基于DCT变换的图像压缩技术一、 实验目的利用离散余弦变换进行图像压缩。 二、实验内容 对给定的一幅图像进行分块变换,将变换得到的DCT系数进行编码、传输和解码。三、实验仪器、设备及材料 操作系统:Windowsxp;软件:MATLAB4、实验

10、原理1.DCT变换 离散余弦变换(DCT)是一种与离散傅立叶变换紧密相关的正交变换,88的二维离散余弦变换可以将图像的空间表达式转换到频率域,只用少量的数据点来表达图像,用f(x,y)表示88的图像块象素值,F(u,v)表示二维离散余弦变换后的值,具体表达式如下:(4.1)其反变换如下式:(4.2)其中,(4.3)二维离散余弦变换核具有可分离性,即可以先对每行进行一维离散余弦变换,再对每列进行一维离散余弦变换,因此,二维离散余弦变换可表示为:(4.4)(4.5)如果直接按照公式计算,其计算量很大,所以,实际应用中普遍采用快速傅立叶变换(FFT)算法来实现离散余弦变换的快速算法。2.量化编码数据

11、压缩中的量化处理,不是对A/D转换量化,而是对正交变换后的数据进行量化处理,量化输入值的动态范围很大,而量化的输出只能取有限个整数,量化后的数值用较少的比特数便可表示。量化处理总是把一批输入量化到一个输出级上,这样降低了数值的精度,但减少了数据量。DCT的输出系数中,左上角的数据表示低频分量,人眼比较敏感,应该用较高的精度来表示,而右下角的数据可以用较低的精度来表示,因此,我们可以定义一个量化表对不同的数据采用不同的量化等级,这个量化表可以根据期望的压缩比进行调整,一般来说,量化表元素值越大压缩比越大,当然图像失真度也越大。3.“Z”字型扫描量化后的数据本来已经可以直接进行游程编码,但为了提高

12、游程编码的效率,我们必须尽量增加零游程的长度。基于量化后系数的排列特征,采用“Z”字型扫描能有效增加零游程的长度。“Z”字型扫描轨迹如图2.2所示:4.哈夫曼(Huffman)编码及解码哈夫曼编码是1952年由Huffman提出的编码方法,基本思想是根据源数据符合出现的概率大小进行编码,出现概率大的符号分配越短的码字,出现概率越小的符号分配越长的码字,从而达到用尽量少的比特数表示数据源,标准哈夫曼编码步骤如下:(1)统计数据源符号出现的概率,得到不同概率的信息符号;(2)将数据源符号按概率递减顺序排列;(3)把两个最小概率相加作为新符号的概率,并按(2)重排;(4)重复(1)、(2),直到概率

13、为1;(5)在每次合并信源时,将合并的信源分别赋“0”和“1”;(6)寻找从每一信源符号到概率为1处的路径,记录路径上的“0”和“1”;(7)从树根开始写出每一符号的“0”、“1”。用标准哈夫曼编码对图像进行编码时效率很高,但需要对原始图像扫描两遍,第一遍要精确统计出每个像素值出现的概率,第二遍是建立哈夫曼树并编码,数据压缩和解压速度较慢,因此,出现了一种改良的哈夫曼编码,它的变长码字不是实时产生而是一个固定的表,在编码和解码过程中不用计算符号概率和排序,直接查表得到,但这个表必须经过大量的统计工作并精心设计才能达到较高的编码效率。在静态图像压缩国际标准(JPEG标准)中,专家组已经对大量自然

14、图像进行了统计,得到了适合于静态自然图像编码的哈夫曼表,在实际编码过程中,我们可直接应用此表进行编码和解码。五、实验步骤I=imread(cameraman.tif)I=im2double(I) %转换图像矩阵为双精度型。J=dct2(I);T=dctmtx(8) %产生二维DCT变换矩阵a1=16 11 10 16 24 40 51 61; 12 12 14 19 26 58 60 55; 14 13 16 24 40 57 69 56; 14 17 22 29 51 87 80 62; 18 22 37 56 68 109 103 77; 24 35 55 64 81 104 113 92

15、; 49 64 78 87 103 121 120 101; 72 92 95 98 112 100 103 99 ;for i=1:8:200 for j=1:8:200 P=I(i:i+7,j:j+7); K=T*P*T; I2(i:i+7,j:j+7)=K; K=K./a1; %量化 K(abs(K)0.03)=0; I3(i:i+7,j:j+7)=K; endendfigure;imshow(I2);title(DCT变换后的频域图像); %显示DCT变换后的频域图像for i=1:8:200 for j=1:8:200 P=I3(i:i+7,j:j+7).*a1; %反量化 K=T*

16、P*T; I4(i:i+7,j:j+7)=K; endendfigure;imshow(I4);title(复原图像);B=blkproc(I,8,8,P1*x*P2,T,T) %计算二维DCT,矩阵T及其转置是DCT函数P1*X*P2的参数 mask=1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 %二值掩模,用来压缩DCT系数,只留下DCT系数中左上角的10个B2=blkproc(B,

17、8 8,P1.*x,mask) %只保留DCT变换的10个系数I2=blkproc(B2,8 8,P1*x*P2,T,T) %重构图像figureimshow(I)title(原始图像);figureimshow(I2);title(压缩图像);figureimshow(J);figuremesh(J) %画出J的立体网状图colorbar(horiz) %在水平条方向用不同的颜色表示曲面的高度六、实验注意事项认真听指导教师的讲解,按照要求一步一步做实验。实验完成后,写出规范的实验报告。七、思考题 1. 利用DCT变换对图像编码有哪些优点?2. DCT系数的多少对图像的压缩比有什么影响?实验四

18、 基于小波变换的图像压缩技术一、 实验目的利用小波变换进行图像压缩。 二、实验内容对一幅照片利用小波变换进行多次压缩处理,并观察压缩效果。三、实验原理 正交基在传统的信号表示中被广泛地采用, 如傅氏变换。 基函数的正交性使相应的表示系数能容易地用内积计算, 然而, 这些变换一般揭示的是信号的整体性质, 难以表示其局部特性, 小波变换发展了局部化思想, 是一种信号的时间- 尺度 ( 时间 - 频率) 分析方法, 它具有多分辨率分析的特点, 而且在时频两域都具有表征信号局部特征的能力, 是一种窗口大小固定不变但其形状可改变, 时间窗和频率窗都可以改变的时频局部化分析方法。 即在低频部分具有较高的频

19、率分辨力和较低的时间分辨力, 在高频部分具有较高的时间分辨力和较低的频率分辨力, 很适合于探测正常信号中夹带的瞬态反常现象并展示其成分, 所以被誉为分析信号的显微镜, 利用连续小波变换进行动态系统故障检测与诊断具有良好的效果。若记母小波为 _( t) , 伸缩和频移因子分别为 a和 b, 则由母小波( t) 生成的小波为:其中, 母小波 ( t) 必须满足下列条件: 对应于傅氏分析中的傅氏级数、傅氏变换、快速傅氏变换, 在小波分析中也有相应的小波级数、小波变换和 Mallat 算法。小波分析广泛应用于信号处理、图像处理、量子场论、地震勘探、语音识别与合成、音乐、雷达、CT 成像、彩色复印、流体

20、湍流、天体识别、机器视觉、机械故障诊断与监控、分形以及数字电视等科技领域, 原则上讲, 传统上使用傅里叶分析的地方, 都可以用小波分析取代。 小波分析优于傅里叶变换的地方是,它在时域和频域同时具有良好的局部化性质。小波分析应用于图像压缩具有压缩比高、压缩速度快、压缩后能保证图像的特征基本不变的特点,且在传递过程中可以抗干扰。 小波分析进行图像压缩的基本原理是: 根据二维小波分解算法, 一幅图像作小波分解后, 可得到一系列不同分辨率的图像, 而表现一幅图像最主要的部分是低频部分, 如果去掉图像的高频部分只保留低频部分, 则可以达到图像压缩的目的。 基于小波分析的图像压缩方法有很多, 较成功的有小

21、波包最优基、小波域纹理模型方法、小波变换零树压缩、小波变换向量量化压缩等。利用小波分解去掉图像的高频部分而仅保留图像的低频部分是一种最简单的图像压缩处理方法。 三、实验仪器、设备及材料 操作系统:Windowsxp;软件:MATLAB 4、实验步骤% 装载原始图像并将其转化为索引图像load wbarb;subplot(221);image(X);colormap(map)title(原始图像);axis squaredisp(压缩前图像X的大小:);whos(X)%对图像用bior3.7小波进行2层小波分解c,s=wavedec2(X,2,bior3.7);%提取小波分解结构中第一层低频系数

22、和高频系数ca1=appcoef2(c,s,bior3.7,1);ch1=detcoef2(h,c,s,1);cv1=detcoef2(v,c,s,1);cd1=detcoef2(d,c,s,1);%分别对各频率成分进行重构a1=wrcoef2(a,c,s,bior3.7,1);h1=wrcoef2(h,c,s,bior3.7,1);v1=wrcoef2(v,c,s,bior3.7,1);d1=wrcoef2(d,c,s,bior3.7,1);c1=a1,h1;v1,d1;%显示分解后各频率成分的信息subplot(222);image(c1);axis squaretitle(分解后低频和高

23、频信息);%下面进行图像压缩处理%保留小波分解第一层低频信息,进行图像的压缩%第一层的低频信息即为ca1,显示第一层的低频信息%首先对第一层信息进行量化编码ca1=appcoef2(c,s,bior3.7,1);ca1=wcodemat(ca1,440,mat,0);%改变图像的高度ca1=0.5*ca1;subplot(223);image(ca1);colormap(map);axis squaretitle(第一次压缩);disp(第一次压缩图像的大小为:);whos(ca1)%保留小波分解第二层低频信息,进行图像的压缩,此时压缩比更大%第二层的低频信息即为ca2,显示第二层的低频信息c

24、a2=appcoef2(c,s,bior3.7,2);%首先对第二层信息进行量化编码ca2=wcodemat(ca2,440,mat,0);%改变图像的高度ca2=0.25*ca2;subplot(224);image(ca2);colormap(map);axis squaretitle(第二次压缩);disp(第二次压缩图像的大小为:);whos(ca2)输出结果如下所示:压缩前图像X的大小: Name Size Bytes Class X 256x256 524288 double arrayGrand total is 65536 elements using 524288 bytes

25、第一次压缩图像的大小为: Name Size Bytes Class ca1 135x135 145800 double arrayGrand total is 18225 elements using 145800 bytes第二次压缩图像的大小为: Name Size Bytes Class ca2 75x75 45000 double arrayGrand total is 5625 elements using 45000 bytes _ 六、实验注意事项认真听指导教师的讲解,按照要求一步一步做实验。实验完成后,写出规范的实验报告。七、思考题 1. 比较第一次压缩的压缩比和第二次压缩的压缩比?2. 观察两次压缩的图像效果?

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

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