首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

维纳滤波的实验成效不是很理想,请有经验的前辈指点

2012-07-30 
维纳滤波的实验效果不是很理想,请有经验的前辈指点最近做了一个简单实验,维纳滤波处理水平运动模糊图像。图

维纳滤波的实验效果不是很理想,请有经验的前辈指点
最近做了一个简单实验,维纳滤波处理水平运动模糊图像。图像是256*256的。

我根据书上的公式(空域卷积等价于频域相乘f(x,y)*h(m,n)==>F(x,y)H(m,n))以及我自己的理解,做了如下操作:

模拟运动模糊:
1> 将图像A补0扩展到512*512
2> 设置点扩散函数——将一个512*512的矩阵B的前20个点设为0.05,其余全为0
3> 对A、B分别做FFT变换到频域,成为A',B'
4> 对A'和B'分别相乘
5> 对A'做IFFT,截取左上角256*256的作为结果

结果:图像确实模糊了,但是左侧引入了黑边,我分析这是因为傅里叶变换是周期的,相当于把右边拓展的0(黑色)叠加到了
左边。

运动模糊恢复:
1> 将模糊的图像A补0扩展到512*512
2> 设置点扩散函数——将一个512*512的矩阵B的前20个点设为0.05,其余全为0
3> 对A、B分别做FFT变换到频域,成为A',B'
4> 进行wiener滤波处理,这里由于B'有0元素,为避免除0,我设置K(噪声功率谱与图像功率谱之比,实际上我没有添加噪声)为0.0001
5> 对A'做IFFT,截取左上角256*256的作为结果

结果:图像产生了非常强烈的振铃效应,即竖直平行的条带,蔓延到图像1/4左右的位置,左右都是如此。

疑惑1:我不明白为什么震荡这么强,是否和我处理0点有关(这似乎是个关键),我调整K的不同取值,震荡频率会改变。

为了去掉黑边,我将图像复制存储在512*512的数组中(也就是存了2*2幅同样的图),然后进行上述同样的处理。

结果:振铃效应没有了,但是K较大时(0.01)有重影,K较小时(0.0001)有雪花似的噪声,都不是很理想。

看冈萨雷斯的《数字图像处理》中的运动模糊处理的很好,希望有经验的大大指点一二,感激不尽!

[解决办法]
建议楼主看看OpenCV的wiener滤波的开源代码,你的0扩展有问题的
[解决办法]
楼主你把邮箱给我。我上个学期期末做的Project就是这个。冈萨雷斯的《数字图像处理》中的运动模糊处理的实现。现在还有作业的存档。
你运气太好了。站内联系我也可以。因为忙,其他朋友就谢绝了。谢谢。

热点排行