图像维纳滤波实现(1)

在图像复原应用中,在含有噪声的情况下进行简单的逆滤波会带来很大的失真,最常见的滤波方法就是维纳滤波。

在频率域中做滤波的话,根据表达式:

F(u,v)为滤波后清晰图像的傅里叶频谱图像,H(u,v)为模糊核频谱图像,G(u,v)为模糊图像频谱图像。

理解该公式有一点要求,就是上述三个频谱图像矩阵的维度必须一致,其实也就是模糊核和模糊图像一致就可以。计算时,取相对应位置上的值出来进行计算既可以,假设维度为300*400,也就是说要进行120000次该公式的计算就可以求出清晰图像频谱图,且这120000次计算之间相互独立不干扰,这点是很重要的,120000次计算可以并行执行,为计算提速带来了极大方便。

但是涉及具体计算时,我个人觉得存在一个问题,就是按照一般理解,模糊核比起图像来说是相对较小的,同时图像的傅里叶变换得到的频谱图像的大小是跟原始图像一样的,所以这里的H(u,v)和G(u,v)照理说是不同维数的,但是要能计算必须变成相同的维数。

这里理论上我不知道该怎么办。但是翻看matlab中deconvwnr.m发现代码中使用了psf2otf函数,将我们的点扩散函数变成了光传播函数(optical transfer function,otf),这个函数可以将otf变为你指定的大小。在后面的计算中就用这个作为模糊核的频谱图进行计算。

摘自百度百科的一句话:点扩展函数是一点光源经光学系统后所成的衍射斑分布的函数。它在空域表征光学系统的特性,传递函数在频域表征系统的特性。实际上两者有简单关系,即点扩展函数的傅里叶变换就是光学系统的传递函数。

但这里就存在一个疑问,我用matlab对相同的一个psf做fft和psf2otf,第一个得到的是一个复数矩阵,第二个得到的是一个实数矩阵。

 

 

转载于:https://www.cnblogs.com/ideawu1001/archive/2012/11/14/2770548.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值