资源简介
这是用matlab实现图像复原的程序,包括逆滤波、维纳滤波、约束最小二乘方滤波。

代码片段和文件信息
clear;
I=imread(‘1.jpg‘);
I=rgb2gray(I);
figure; subplot(231);imshow(I);title(‘原图像‘);
[mn]=size(I);
F=fftshift(fft2(I));
k=0.0025;
for u=1:m %退化模型
for v=1:n
H(uv)=exp((-k)*(((u-m/2)^2+(v-n/2)^2)^(5/6)));
end
end
G0=F.*H;
I0=real(ifft2(fftshift(G0)));
noise=imnoise(zeros(size(I0))‘gaussian‘00.001) ;
I1=I0+noise;
subplot(233);imshow(uint8(I1));title(‘模糊退化且添加高斯噪声的图像‘);
%逆滤波复原
G=fftshift(fft2(I1)); %傅里叶变换
F1=G./H;
I2=ifft2(fftshift(F1));
subplot(234);imshow(uint8(I2));title(‘逆滤波复原图‘);
%维纳滤波复原
K=0.1;
for u=1:m
for v=1:n
H(uv)=exp(-k*(((u-m/2)^2+(v-n/2)^2)^(5/6)));
H0(uv)=(abs(H(uv)))^2;
H1(uv)=H0(uv)/(H(uv)*(H0(uv)+K));
end
end
F2=H1.*G;
I3=ifft2(fftshift(F2));
subplot(235);imshow(uint8(I3));title(‘维纳滤波复原图‘);
%最小二乘方滤波
X=[0-10;-14-1;0-10];
L=zeros(mn);
for i=1:3
for j=1:3
L(ij)=X(ij);
end
end
for u=1:m
for v=1:n
P(uv)=fftshift(fft2(L(uv)));%拉布拉斯算子的傅里叶变化
end
end
s=0.1;
for u=1:m
for v=1:n
H(uv)=exp(-k*(((u-m/2)^2+(v-n/2)^2)^(5/6)));
H0(uv)=(abs(H(uv)))^2;
P0(uv)=(abs(P(uv)))^2;
H2(uv)=conj(H(uv));%共轭
H1(uv)=H2(uv)/(H0(uv)+P0(uv)*s);
end
end
F3=H1.*G;
I4=ifft2(fftshift(F3));
subplot(236);imshow(uint8(I4));title(‘最小二乘方滤波复原图‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5994 2014-05-16 11:38 图像复原\1.jpg
文件 1512 2014-05-27 21:20 图像复原\weina.asv
文件 1521 2014-05-27 21:23 图像复原\weina.m
文件 235520 2014-05-27 22:25 图像复原\图像复原.doc
目录 0 2014-05-27 22:31 图像复原\
- 上一篇:中草药库
- 下一篇:基于Matlab的大型火电机组一次调频特性仿真
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论