用matlab仿真huffman编码在jpg图像压缩中的应用崔微微.doc

用matlab仿真huffman编码在jpg图像压缩中的应用崔微微.doc

ID:59145678

大小:21.00 KB

页数:3页

时间:2020-09-11

用matlab仿真huffman编码在jpg图像压缩中的应用崔微微.doc_第1页
用matlab仿真huffman编码在jpg图像压缩中的应用崔微微.doc_第2页
用matlab仿真huffman编码在jpg图像压缩中的应用崔微微.doc_第3页
资源描述:

《用matlab仿真huffman编码在jpg图像压缩中的应用崔微微.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、用matlab仿真huffman编码在jpg图像压缩中的应用1.jpg图像的定义:JPEG是JointPhotographicExpertsGroup(联合图像专家组)的缩写,文件后辍名为".jpg"或".jpeg",是最常用的图像文件格式,是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。尤其是使用过高的压缩比例,将使最终解压缩后恢复的图像质量明显降低,如果追求高品质图像,不宜采用过高压缩比例。但是JPEG压缩技术十分先进,它用有损压缩方式去除冗余的图像数据,在获得极高

2、的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像品质。而且JPEG是一种很灵活的格式,具有调节图像质量的功能,允许用不同的压缩比例对文件进行压缩,支持多种压缩级别,压缩比率通常在10:1到40:1之间,压缩比越大,品质就越低;相反地,压缩比越小,品质就越好。比如可以把1.37Mb的BMP位图文件压缩至20.3KB。当然也可以在图像质量和文件尺寸之间找到平衡点。JPEG格式压缩的主要是高频信息,对色彩的信息保留较好,适合应用于互联网,可减少图像的传输时间,可以支持24bit真彩色,也普遍应用于需要

3、连续色调的图像。2.huffman编码huffman编码是一种高效的无失真信源编码方法,所得到的码字具有最短的平均码长。3.用matlab仿真用huffman编码对一图像进行压缩的例子(1)编码思路:先将一个模拟图形进行抽样量化,像素量化成九个灰度级。然后进行huffman编码,最后进行压缩率的计算。(2)编码程序如下:%图像的huffman编码过程%将模拟图形进行抽样量化clearall;closeall;clc;Dimens=256;%矩阵维数,假设矩阵为方阵即256*256src_size=Dimens^2;%矩阵元素的个数gr

4、ay_level=9;%灰度级src=randn(Dimens);%产生模拟图像矩阵,满足正态分布,零均值,方差为1src_one=reshape(src,1,src_size);src_max=max(src_one);src_min=min(src_one);quan=linspace(src_min,src_max,gray_level);%产生均匀量化区间src_d=[];%数字矩阵forrow=1:Dimens%逐点量化forvol=1:Dimensdiff=abs(src(row,vol)-quan);[min_diff,

5、min_index]=min(diff);quan_gray=min_index-1;src_d(row,vol)=quan_gray;endend%prob数组保存图像中各灰度出现的概率prob=[];forsrc_value=0:(gray_level-1)index=find(src_d==src_value);i=src_value+1;prob(i)=length(index)/src_size;end%huffman编码p=prob;n=length(p);q=p;m=zeros(n-1,n);fori=1:n-1[q,l

6、]=sort(q);m(i,:)=[l(1:n-i+1),zeros(1,i-1)];q=[q(1)+q(2),q(3:n),1];endbre=zeros(n-1,n);bre(n-1,1)=0+j;%虚部表示当前的二进制数的位数,以下类似bre(n-1,2)=1+j;fortime=1:n-2loc_1=find(real(m(n-time,:))==1);prebit=bre(n-time,loc_1);bre(n-time-1,1)=(real(prebit)*2+0)+j*(imag(prebit)+1);bre(n-tim

7、e-1,2)=(real(prebit)*2+1)+j*(imag(prebit)+1);loc_not1=find(real(m(n-time,:))>1);bre(n-time-1,3:3+time-1)=bre(n-time,loc_not1);end[m1,index]=sort(m(1,:));code=bre(1,index);code_data=real(code);code_bits=imag(code);disp(['graylevel','','huffmancode']);fori=1:length(code)d

8、isp([num2str(i-1),'',num2str(dec2bin(code_data(i)))]);endcode_binary=dec2bin(code_data);%逐点编码out=[];forrow=1:D

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。