维纳滤波图像去噪matlab
时间: 2023-07-13 22:27:40 浏览: 166
基于维纳滤波的图像去噪matlab程序
5星 · 资源好评率100%
使用维纳滤波算法进行图像去噪的MATLAB代码可以如下:
```matlab
% 读入需要处理的图像
img = imread('noisy_image.jpg');
% 加载预定义的噪声方差值
variance = var(im2double(img(:)));
% 指定滤波器大小
filter_size = 3;
% 计算维纳滤波器
h = fspecial('gaussian', filter_size, variance);
estimated_noise = 0.1 * variance;
img_denoised = deconvwnr(img, h, estimated_noise);
% 显示原始图像和去噪后的图像
subplot(1,2,1);imshow(img);title('Original Image');
subplot(1,2,2);imshow(img_denoised);title('Denoised Image');
```
在这段代码中,我们首先读入需要处理的图像,然后计算其噪声方差。接着,我们指定滤波器大小,根据噪声方差计算维纳滤波器。最后使用MATLAB中的`deconvwnr`函数对图像进行去噪处理,得到去噪后的图像。最后,我们使用`imshow`函数显示原始图像和去噪后的图像。
阅读全文