




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业霍夫曼二元编码% function h,l=huffman(p)clear;clc;p=0.1 0.3 0.05 0.09 0.21 0.25;%p=0.2 0.19 0.18 0.17 0.15 0.10 0.01;%测试用数据%检测概率有无数值小于0,小于0时报错if (length(find(p10e-10) error(Not a prob vector,component do not add to 1)endn=length(p);%检测有几个概率事件q=p
2、;m=zeros(n-1,n); %生成0矩阵for i=1:n-1; q,l=sort(q);%对q进行升序排序,排序结果存放在q中,元素位置存放在l中。 m(i,:)=l(1:n-i+1),zeros(1,i-1);%相加后少的那一位位号置0 q=q(1)+q(2),q(3:n),1;%把最小两个概率相加,由于相加后少一位,将该位置1end%生成空矩阵,大小为n*n2,其中每个码最多占用n个。for i=1:n-1 c(i,:)=blanks(n*n);%blanks是空格函数end% 以下计算各个元素码字%如m所示,矩阵最后一行的两个非零值先置为1和0。每一位占用7bitc(n-1,n)
3、=1;%c存放编码,开始编码c(n-1,2*n)=0;%先设置第一次的两个分支for i=2:n-1%继续编码%find(m(n-i+1,:)=1),查找位置号为1的元素。%n*(find(m(n-i+1,:)=1)-(n-2):n*(find(m(n-i+1,:)=1);此条语句作用是对应到码字所在的%后四位移到上一行的第一个元素的前四位,所得到的最后一位用于添加1或0 c(n-i,1:n-1)=c(n-i+1,n*(find(m(n-i+1,:)=1)-(n-2):n*(find(m(n-i+1,:)=1);% c(n-i,n)=1; c(n-i,n+1:2*n-1)=c(n-i,1:n-
4、1); c(n-i,2*n)=0; for j=1:i-1 %此语句作用是把此次未编码的移到上一行对应位置去 c(n-i,(j+1)*n+1:(j+2)*n)=c(n-i+1,n*(find(m(n-i+1,:)=j+1)-1)+1:n*find(m(n-i+1,:)=j+1); endend for i=1:n%将最终的编码存放在h中,ll存放每位编码的长度 h(i,1:n)=c(1,n*(find(m(1,:)=i)-1)+1:find(m(1,:)=i)*n); ll(i)=length(find(abs(h(i,:)=32);%计算最终得到各码的码长。 endl=sum(p.*ll);
5、%平均码长H=-sum(p.*log2(p);%显示各参数str = sprintf(信源熵:H=%0.3f,H);disp(str);str = sprintf(平均码长为:l=%0.4f,l);disp(str);str = sprintf(编码效率:=%0.4f,H/l);disp(str);disp(二元霍夫曼编码为:),disp(h)霍夫曼三元编码%function h,l=huffman(p);clear;clc;p=0.1 0.3 0.05 0.09 0.21 0.25;% disp(概率分布);% pN=length(p);%统计事件个数r=3;%三元% kk=ceil(N-r
6、)/(r-1)*(r-1)+r-N% (N-r)/(r-1)*(r-1)q=p(1:N),zeros(1,ceil(N-r)/(r-1)*(r-1)+r-N);n=length(q);A=(n-r)/(r-1)+1;m=zeros(A,n);for i=1:A q,l=sort(q); m(i,:)=l(1:n-2*(i-1),zeros(1,2*(i-1); q=sum(q(1:r),q(r+1:n),ones(1,r-1);end for i=1:A c(i,:)=blanks(n*n);endc(A,n)=0;c(A,2*n)=1;c(A,3*n)=2;for i=1:(A-1) c(A
7、-i,1:n-1)=c(A-i+1,n*(find(m(A-i+1,:)=1)-(n-2):n*(find(m(A-i+1,:)=1); c(A-i,n)=0; c(A-i,n+1:2*n-1)=c(A-i,1:n-1); c(A-i,2*n)=1; c(A-i,2*n+1:3*n-1)=c(A-i,1:n-1); c(A-i,3*n)=2; for j=1:2*i c(A-i,(j+2)*n+1:(j+3)*n)=c(A-i+1,n*(find(m(A-i+1,:)=j+1)-1)+1:n*find(m(A-i+1,:)=j+1); endendfor i=1:N h(i,1:n)=c(1,
8、n*(find(m(1,:)=i)-1)+1:find(m(1,:)=i)*n); ll(i)=length(find(abs(h(i,:)=32); endH=-sum(p.*log2(p);l=sum(p.*ll);str = sprintf(信源熵:H=%0.3f,H);disp(str);str = sprintf(三元霍夫曼编码平均码长:l=%0.2f,l);disp(str);str = sprintf(编码效率:=%0.4f,H/(l*log2(r);disp(str);disp(三元霍夫曼编码为:),disp(h)%利用DCT变换进行图像压缩的MATLAB程序clc;clear
9、;%清屏和数据空间RGB=imread(lenna.bmp);%读取图片I=rgb2gray(RGB);%灰度变换J=dct2(I);%DCT变换imshow(log(abs(J),)%用指定的灰度范围 low high且用指数形式显示灰度图像J。colormap(jet(64);%colormap来定义图像显示用的颜色查找表。colorbar;%在坐标轴旁边显示颜色条J(abs(J)10)=0; % 将J中小于10的值置零K=idct2(J);%DCT反变换figure,imshow(I);title(压缩前);%显示灰度图figure,imshow(K,0 255);title(解压后);
10、%重构图像显示。在灰度范围0 255内显示。%利用离散余弦变换进行JPEG图像压缩clear;clc;I=imread(lenna.bmp);%读入原图像%I=imread(rice.tif);%读入原图像I=rgb2gray(I);%转换成灰度用原图不会报错;I=im2double(I);%将原图像转换为双精度数据类型T=dctmtx(8);%产生二维DCT变换矩阵B=blkproc(I,8 8,P1*x*P2,T,T);%计算二维DCT,矩阵T及其转置T是DCT函数P1*x*P2的参数%二值掩膜,用来压缩DCT系数,只取系数左上角的10个;Mask=1 1 1 1 0 0 0 0 1 1
11、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;%数据压缩,丢弃右下角高频数据B2=blkproc(B,8 8,P1.*x,Mask);%只保留DCT变换的10个系数;I2=blkproc(B2,8 8,P1*x*P2,T,T);%进行DCT反变换,得到压缩后的图像subplot(1,2,1);imshow(I);title(原图像);%显示原图像subplot(1,2,2);imshow(I2);title(压缩图像);%显示压缩后的图像。% 对比原始图像和压缩后的图像,虽然舍弃了85%的DCT系数,但图像任然清晰。%利用游程编码(RLE)进行图像压缩clear;clc;% I=checkerboard(10,2);%生成棋盘图像% imshow(I);%显示图像I=imread(rice.tif);% imshow(I);m n=size(I);J=;for i=1:m value=I(i,1); num=1; for j=2:n if I(i,j)=value num=num+1; else J=J n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国庚酸烯丙酯项目商业计划书
- 质量保证合同签约协议书
- 解除合同及退股协议书
- 签了合作协议书合同
- 焊门框架合同协议书模板
- 借款协议书借款合同模板
- 2025年再生资源分拣中心建设项目建设可行性实施报告
- 游戏商业计划书
- 杭州降解塑料项目商业计划书-图文
- 幼儿园室外运动俱乐部方案
- 气体安全知识培训(72张)课件
- 国际慕课学习者使用手册
- 电子商务安全与支付09课件
- 共线向量与共面向量全面版课件
- JJG(晋) 22-2021 车用甲醇燃料加注机检定规程
- 湘美版小学四年级美术下册知识点
- 大连市住宅小区物业收费等级标准
- 包装自动线课程设计含全套资料
- 长输管道施工
- 航模发动机图纸
- 农村集体“三资”监管工作培训考核试题
评论
0/150
提交评论