维纳滤波去振铃matlab代码
时间: 2023-10-09 14:06:19 浏览: 109
以下是一个使用维纳滤波去振铃的 MATLAB 代码示例:
```matlab
% 读取模糊图像
blurred_image = imread('your_blurred_image.jpg'); % 替换为你的模糊图像路径
blurred_image = double(blurred_image); % 转换为 double 类型
% 设定模糊核大小和参数
kernel_size = [11, 11]; % 模糊核大小
blur_sigma = 2; % 模糊核参数
% 创建维纳滤波器
inverse_filter = fspecial('gaussian', kernel_size, blur_sigma);
noise_var = 0.01; % 噪声方差
% 维纳滤波去振铃
deblurred_image = deconvwnr(blurred_image, inverse_filter, noise_var);
% 显示模糊图像和去振铃后的图像
figure;
subplot(1, 2, 1);
imshow(uint8(blurred_image));
title('模糊图像');
subplot(1, 2, 2);
imshow(uint8(deblurred_image));
title('去振铃后的图像');
```
请注意,上述代码假设你已经安装了 MATLAB,并将模糊图像保存为 `your_blurred_image.jpg`。你可以根据需要修改图像的路径和名称。同时,还可以调整模糊核大小、参数和噪声方差来适应你的具体情况。
希望这个代码对你有帮助!
阅读全文