分块压缩感知程序matlab.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
% 本程序实现图像LENA的压缩传感 % 程序作者:沙威,香港大学电气电子工程学系,wsha@eee.hku.hk % 算法采用正交匹配法,参考文献 Joel A. Tropp and Anna C. Gilbert % Signal Recovery From Random Measurements Via Orthogonal Matching % Pursuit,IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 53, NO. 12, % DECEMBER 2007. % 该程序没有经过任何优化 %function Wavelet_OMP clc clear % 读文件 X=imread(lena256.bmp); X=double(X); [a,b]=size(X); size_kuai=16*4; X2=zeros(size_kuai); % 恢复矩阵 X3=zeros(a,b); % 恢复矩阵 % 小波变换矩阵生成 ww=DWT(size_kuai); % 随机矩阵生成 M=12*4; R=randn(M,size_kuai); tic for i_x=1:ceil(a/size_kuai) for i_y=1:ceil(b/size_kuai) XX=X((i_x-1)*size_kuai+1:i_x*size_kuai,(i_y-1)*size_kuai+1:i_y*size_kuai); % 小波变换让图像稀疏化(注意该步骤会耗费时间,但是会增大稀疏度) X1=ww*sparse(XX)*ww; X1=full(X1); % 测量 Y=R*X1; % OMP算法 for i=1:size_kuai % 列循环 rec=omp_fenkuai(Y(:,i),R,size_kuai); X2(:,i)=rec; end X3((i_x-1)*size_kuai+1:i_x*size_kuai,(i_y-1)*size_kuai+1:i_y*size_kuai)=ww*sparse(X2)*ww; % 小波反变换 end end X3=full(X3); use_time=toc % 原始图像 figure(1); imshow(uint8(X)); title(原始图像); % 压缩传感恢复的图像 figure(2); imshow(uint8(X3)); title(分块恢复的图像); % 误差(PSNR) errorx=sum(sum(abs(X3-X).^2)); % MSE误差 psnr=10*log10(255*255/(errorx/a/b)) % PSNR % OMP的函数 % s-测量;T-观测矩阵;N-向量大小 function hat_y=omp_fenkuai(s,T,N) Size=size(T); % 观测矩阵大小 M=Size(1); % 测量 hat_y=zeros(1,N); % 待重构的谱域(变换域)向量 Aug_t=[]; % 增量矩阵(初始值为空矩阵) r_n=s; % 残差值 for times=1:M/4 % 迭代次数(稀疏度是测量的1/4) for col=1:N % 恢复矩阵的所有列向量 product(col)=abs(T(:,col)*r_n); % 恢复矩阵的列向量和残差的投影系数(内积值) end [val,pos]=max(product); % 最大投影系数对应的位置 Aug_t=[Aug_t,T(:,pos)];

文档评论(0)

小教资源库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档