matlab生成维纳过程代码介绍
我尝试在此存储库中实现给定的wiener过滤器变体。
用法
运行main.m
matlab代码。
结果保存在./result/
。
main.m使用wiener_filter.m和Sxx_train.m
,它们包含主过滤器和PSD估计器(首先使用多个图像进行训练)。
要查看以前运行中保存的一些结果,请查看./saved_results/
。
理论
在维纳滤波器中,我们尝试重建已与已知误差函数h(t)卷积的图像。
卷积图像还包含加性白噪声(高斯)。
该滤波器使重建的去噪图像和原始图像之间的均方根误差最小。
Weiner滤波器减小的误差度量是MSE与重构图像和原始图像之间的L2距离成正比。
在计算需要与变形图像卷积的“去模糊滤波器”时,滤波器需要S_xx,即原始图像的PSD。
但这不可能,因为我们要生成原始图像本身。
过滤器通过多种方式解决此问题,我在实现中使用的方式是利用以下经验事实:所有自然图像的PSD几乎相似,因此可以使用另一个未损坏图像的PSD来估计PSD。原始图像。
我们计算10个尺寸相似的图像的PSD,将其平均化,并将该值用作Weiner滤波器
2022-11-06 16:14:16
15.39MB
系统开源
1