维纳滤波器的matlab,完整的维纳滤波器Matlab源程序
时间: 2024-01-14 12:04:23 浏览: 142
下面是一个简单的维纳滤波器Matlab源程序,供参考:
```matlab
% 维纳滤波器Matlab源程序
clear all;
close all;
clc;
% 读入图像
Img = imread('lena.bmp');
figure;
imshow(Img);
title('原图像');
% 添加高斯噪声
Img_Noise = imnoise(Img, 'gaussian', 0.01);
figure;
imshow(Img_Noise);
title('添加高斯噪声后的图像');
% 构造PSF
PSF = fspecial('gaussian', 7, 2);
figure;
imshow(PSF,[],'InitialMagnification','fit');
title('点扩散函数');
% 对图像进行维纳滤波
Img_Deblur = deconvwnr(Img_Noise, PSF, 0.01);
figure;
imshow(Img_Deblur);
title('维纳滤波后的图像');
```
在这段代码中,首先读入了一张图像,然后通过imnoise函数添加高斯噪声,接着构造点扩散函数(PSF),最后使用deconvwnr函数对图像进行了维纳滤波处理。其中,第三个参数0.01表示正则化参数alpha,可以根据实际情况进行调整。
阅读全文
相关推荐












