基于数学方法和人工神经网络方法的数据压缩程序.docx

基于数学方法和人工神经网络方法的数据压缩程序.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于数学方法和人工神经网络方法的数据压缩一、使用神经网络进行数据压缩神经网络的原理与流程在此不再赘述,现直接写出如下matlab程序:clear allinput=[0.4 0.1;0.25 0;0.5 0;0.75 0;1 0;0 0.25;0.25 0.25;0.5 0.25;0.75 0.25;1 0.25;0 0.5;0.25 0.5;0.5 0.5;0.75 0.5;1 0.5;0 0.75;0.25 0.75;0.5 0.75;0.75 0.75;1 0.75;0 1;0.25 1;0.5 1;0.75 1;1 1]; intialw=[0 0;0.25 0;0.5 0;0.75 0;1 0;0 0.25;0.25 0.25;0.5 0.25;0.75 0.25;1 0.25;0 0.5;0.25 0.5;0.5 0.5;0.75 0.5;1 0.5;0 0.75;0.25 0.75;0.5 0.75;0.75 0.75;1 0.75;0 1;0.25 1;0.5 1;0.75 1;1 1]; [nn, mm]=size(input);Inum=mm; M=5; N=5;K=M*N;k=1;for i=1:Mfor j=1:N PPosition(k,:)=[(j-1)*0.25,(i-1)*0.25]; k=k+1;endendratemax=0.2;ratemin=0.01;rmax=0.1;rmin=0.05;w=intialwiteration=10000;for i=1:iteration rate=ratemax-i/iteration*(ratemax-ratemin); r=rmax-i/iteration*(rmax-rmin); k=round(rand(1,1)*24)+1; x=input(k,:); [mindist,index]=min(dist(x,w)); d1=ceil(index/5); d2=mod(index,5); nodeindex=find(dist([0.25*(d2-1) (d1-1)*0.25],PPosition)r);for j=1:Kif sum(nodeindex==j) w(:,j)=w(:,j)+rate*(x-w(:,j));endendendfor i=1:25 a(i)=w(1,i); b(i)=w(2,i);endx=[a b];plot(a,b,r.)Index=[];for i=1:K [mindist,index]=min(dist(input(i,:),w)); Index=[Index,index];endfor i=1:5for j=1:5 a((i-1)*5+j)=w(1,j); b((i-1)*5+j)=w(2,j);end x=[a b]; plot(a,b,r.)endx=[a b];plot(a,b,r.)二、使用数学方法进行压缩DCT变换利用傅立叶变换的性质,采用图像边界褶翻将像变换为偶函数形式,然后对图像进行二维傅立叶变换,变后仅包含余弦项。所以称之为离散余弦变换。DCT编码属于正交变换编码方式,用于去除图像数据的空间冗余。DCT方法具有一些很好的特性。图像经DCT变换以后,DCT系数之间的相关性已经很小。而且大部分能量集中在少数的系数上,因此,DCT变换在图像压缩中非常有用,是有损图像压缩国际标准JPEG的核心。从原理上讲可以对整幅图像进行DCT变换,但由于图像各部位上细节的丰富程度不同,这种整体处理的方式效果不好。为此,发送者首先将输入图像分解为8x8或16x16的块,然后再对每个图像块进行二维DCT变换,接着再对DCT系数进行量化、编码和传输;接收者通过对量化的DCT系数进行解码,并对每个图像块进行的二维DCT反变换.最后将操作完成后所有的块拼接起来构成一幅单一的图像。对于一般的图像而言,大多数DCT系数值都接近于0,可以去掉这些系数而不会对重建图像的质量产生霞大影响。利用DCT进行圈像压缩确实可以节约大量的存储空间在宴验中,先将输入的原始的我的照片分为8x8的块,然后再对每个块进行二维DCT变换。可以编写出如下matlab程序:clc,clear all;format shortdisp (test)pictureData = [142 144 151 156 156 157 156 156; 140 143 148 150 154 155 156 155; 148

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档