【图像处理】使用逆滤波器和维纳滤波器进行图像恢复(Matlab实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

逆滤波器是一种简单直接的图像恢复方法,旨在尝试反转导致图像模糊的过程。它基于假设图像模糊是由于某种线性系统导致的,因此可以应用逆滤波器来尝试抵消这种模糊。逆滤波器直接应用于图像的傅里叶变换,通过将受损图像的频率分量除以系统函数的估计值,来尝试恢复原始图像。然而,逆滤波器容易受到噪声的影响,可能会导致图像恢复结果出现振铃效应或者过度放大噪声的问题。维纳滤波器是一种更加复杂和鲁棒的图像恢复方法,旨在平衡图像恢复的信号增强和噪声抑制。它基于最小均方误差(MMSE)准则,将信号和噪声之间的权衡考虑进去。维纳滤波器不仅考虑了模糊系统的频率响应,还考虑了输入信号和噪声的统计特性。因此,它可以更好地应对图像中存在的噪声,避免逆滤波器可能出现的振铃效应和噪声放大问题。

📚2 运行结果

主函数部分代码:

clc; clear;
%% Read the original image
fig_original = double(imread('data/book_cover.jpg')) / 255;
[Height, Width] =size(fig_original);
% Discrete Fourier Transformation
F = fft2(center_transform(fig_original));

%% Blurring Degradation and Restoration
figure('Name', 'Blurring Degradation');
% Display the original image
subplot(2, 3, 1);
imshow(fig_original, []);
title('The original image');

% Blur the image using paramaters a=b=0.1 and T = 1
subplot(2, 3, 2);
H = filter_H(Height, Width, 0.1, 0.1, 1);
blurred_image = center_transform(real(ifft2(H .* F)));
imshow(blurred_image, []);
imwrite(blurred_image, 'data/blurred_image.png');
title('Blurred image');

% Add Gaussian noise of 0 mean and variance of 650 to the blurred image
subplot(2, 3, 3);
noise = gaussian_noise(Height, Width, sqrt(650), 0) / 255;
blurred_noisy_image = blurred_image + noise;
imshow(blurred_noisy_image, []);
imwrite(blurred_noisy_image, 'data/blurred_noisy_image.png');
title('Add Gaussian noise');

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]周云浩,郭达奇,周鑫等.基于YOLOv3的输电工程智能检测与分析技术研究[J].电子设计工程,2024,32(05):66-69+74.DOI:10.14022/j.issn1674-6236.2024.05.013.

🌈4 Matlab代码实现

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值