图像恢复技术之Matlab中的维纳滤波代码复现
2016-04-16 20:32
435 查看
k=0.001; blur=g; bf = fftshift(fft2(blur)); [M,N]=size(blur); H=zeros(M,N); rad= 5; length = 2*rad+1; psf=zeros(length,length); for i=1:length for j=1:length if(( (i-rad-1)*(i-rad-1) + (j-rad-1)*(j-rad-1) ) < rad*rad ) H(i,j) =1.0/(rad*rad*3.14159); psf(i,j) =1.0/(rad*rad*3.14159); end end end H= fftshift(fft2(H)); Hg = conj(H); spec = Hg.*H; spectt = spec +k; can = spec./spectt; jk = can./H; Gg=bf.*jk; Gg=ifftshift(Gg); pp=im2uint8(mat2gray(real(ifft2(Gg))));%退化后的图像 subplot(2,2,1); imshow(blur); subplot(2,2,2); imshow(pp);
图像恢复技术之Matlab中的维纳滤波代码复现。此代码为维纳滤波的算法的MATLAB复现,其中K为维纳滤波参数,代码中的psf为模拟散焦函数,代码的关键之处在于矩阵对齐与补0,效果还不错。
相关文章推荐
- matlab时间格式转换
- 总结matlab中non-singleton含义
- matlab多行注释
- 【matlab】:利用matlab实现QQ的一个图片显示变色功能
- 数值积分法原理及matlab程序实现
- ROC曲线及其matlab实现ROC曲线的绘画
- Cpp类似Matlab的矩阵运算库Armadillo
- matlab 画图中线型及颜色设置
- matlab 画图中线型及颜色设置
- MATLAB中plot()画图的颜色线型参数设置
- MATLAB中plot()画图的颜色线型和希腊字母参数设置
- Matlab学习笔记 figure函数
- Matlab学习笔记 figure函数
- MATLAB基础1
- matlab 保存运行结果 获取load进来的数据 {}符号的意义
- Matlab读取音频数据
- LaTeX在MATLAB上的使用
- 基于matlab读取nii体数据并进行表面绘制,计算表面积
- matlab/opencv图像处理之模板匹配
- 用VBA,MATLAB,C 从小到大生成质数表(源代码)