1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y56TlJ1w
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
维纳滤波(wiener filtering) 一种基于最小均方误差准则、对平稳过程的最优估计器。这种滤波器的输出与期望输出之间的均方误差为最小,因此,它是一个最佳滤波系统。它可用于提取被平稳噪声污染的信号。从连续的(或离散的)输入数据中滤除噪声和干扰以提取有用信息的过程称为滤波,这是信号处理中经常采用的主要方法之一,具有十分重要的应用价值,而相应的装置称为滤波器。根据滤波器的输出是否为输入的线性函数,可将它分为线性滤波器和非线性滤波器两种。维纳滤波器是一种线性滤波器。
4.部分源码
%***********************维娜复原程序********************
figure(2);
subplot(231),imshow(I),title('原始图像');
LEN = 20;
THETA =10;
PSF = fspecial('motion',LEN,THETA);
Blurred = imfilter(I,PSF,'circular');
subplot(232),imshow(Blurred),title('生成的运动的模糊的图像');
noise = 0.1*randn(size(I));
subplot(233),imshow(im2uint8(noise)),title('随机噪声');
BlurredNoisy=imadd(Blurred,im2uint8(noise));
subplot(234),imshow(BlurredNoisy),title('添加了噪声的模糊图像');
Move=deconvwnr(Blurred,PSF);
subplot(235),imshow(Move),title('还原运动模糊的图像');
nsr = sum(noise(:).^2)/sum(im2double(I(:)).^2);
wnr2 = deconvwnr(BlurredNoisy,PSF,nsr);
subplot(236),imshow(wnr2),title('还原添加了噪声的图像');
%*************************维纳滤波应用于边缘提取****************************
N = wiener2(I,[3,3]);%选用不同的维纳窗在此修改
M = I - N;
My_Wedge = im2bw (M,5/256);%化二值图像
BW1 = edge(I,'prewitt');
BW2 = edge(I,'canny');
BW3 = edge(I,'zerocross');
BW4 = edge(I,'roberts');
figure(3)
subplot(2,4,[3 4 7 8]),imshow(My_Wedge),title('应用维纳滤波进行边沿提取');
subplot(241),imshow(BW1),title('prewitt');
subplot(242),imshow(BW2),title('canny');
subplot(245),imshow(BW3),title('zerocross');
subplot(246),imshow(BW4),title('roberts');
%*************************维纳滤波应用于图像增强***************************
for i = [1 2 3 4 5]
K = wiener2(I,[5,5]);
end
K = K + I;
A189