matlab维纳滤波去噪
时间: 2024-05-22 19:09:01 浏览: 109
基于维纳滤波的图像去噪matlab程序
5星 · 资源好评率100%
MATLAB中的维纳滤波是一种常见的信号处理方法,用于图像或声音去噪。它是一种线性滤波器,通过将输入信号与滤波器进行卷积来实现去噪。
维纳滤波器的原理是通过对输入信号的功率谱密度和噪声功率谱密度之比进行估计,从而提高信号与噪声之间的信噪比。它假设输入信号是平稳的,并且已知噪声功率谱密度和期望信号功率谱密度。
MATLAB中实现维纳滤波可以使用wiener2函数。该函数可以基于图像的局部统计信息进行滤波,并且可以自适应地调整滤波器参数。以下是一段MATLAB代码示例:
```matlab
I = imread('cameraman.tif');
J = imnoise(I,'gaussian',0,0.01);
K = wiener2(J,[5 5]);
figure, imshow(I), title('Original image')
figure, imshow(J), title('Image with noise')
figure, imshow(K), title('Restored image using Wiener filter')
```
阅读全文