资源简介
基于MATLAB OMP算法对图像的恢复
代码片段和文件信息
function mcyOMP2
clc;clear
X=imread(‘G:\Program Files\MATLAB\R2012b\graduate\rm.jpg‘); % 读文件
if ndims(X)>2
X=rgb2gray(X);
end
X=imresize(X[256 256]);
X=double(X);
[ab]=size(X);
ww=DWT(a); % 小波变换矩阵生成
X1=ww*sparse(X)*ww‘; % 小波变换让图像稀疏化(注意该步骤会耗费时间,但是会增大稀疏度
X1=full(X1);
M=128; % 随机矩阵生成
R=randn(Ma);
Y=R*X1; % 测量
% OMP算法
X2=zeros(ab); % 恢复矩阵
for i=1:b % 列循环
rec=omp(Y(:i)Ra);
X2(:i)=rec;
end
figure(1); % 原始图像
imshow(uint8(X));
title(‘原始图像‘);
figure(2); % 变换图像
imshow(uint8(X1));
title(‘小波变换后的图像‘);
figure(3); % 压缩传感恢复的图像
X3=ww‘*sparse(X2)*ww; % 小波反变换
X3=full(X3);
imshow(uint8(X3));
title(‘恢复的图像‘);
% 误差(PSNR)
errorx=sum(sum(abs(X3-X).^2)); % MSE误差
PSNR=10*log10(255*255/(errorx/a/b)) % PSNR
MSE=errorx/a/b
match=1-sum(abs(X3-X).^2)/sum(abs(X3+X).^2)
% OMP的函数
% s-测量;T-观测矩阵;N-向量大小
function hat_y=omp(sTN)
Size=size(T); % 观测矩阵大小
M=Size(1);
- 上一篇:Matlab在结构动力学中的应用
- 下一篇:循环码matlab代码
相关资源
- stomp算法matlab实现
- omp算法matlab稀疏表示中用来求最优解
- 匹配追踪算法OMP matlab代码
- 压缩感知OMP算法代码
- 压缩感知块稀疏BOMP算法
- 大牛写的压缩感知的OMP算法绝对简单
- OMP算法MATLAB程序
- SOMP算法代码
- BP MP OMP算法比较
- OMP 小波变换和压缩感知中的OMP算法比
- img_bp 图像信号的压缩感知重构算法
- Somp SOMP算法
- OMP OMP算法:匹配追踪算法
- orthogonal-matching-pursuit OMP算法的matlab的
- StOMP 分段自适应正交匹配追踪StOMP算法
- 大牛写的压缩感知的OMP算法绝对简单
- omp算法代码
评论
共有 条评论