###Date: 2018.5.8函数
================================================编码
转载自:http://www.javashuo.com/article/p-migvxzge-eb.html spa
引言
图像模糊是一种拍摄常见的现象,我曾在图像去模糊(维纳滤波) 介绍过。这里再也不详述,只给出物理模型,这里咱们仍在频率域表示
.net
G(u,v)=H(u,v)F(u,v)+N(u,v)(1)G(u,v)=H(u,v)F(u,v)+N(u,v)(1)
其中提到最简单的复原方法是直接作逆滤波(Inverse filter)。
F^(u,v)=G(u,v)H(u,v)(2)F^(u,v)=G(u,v)H(u,v)(2)
该除法是阵列操做,即按位除。
在含有噪声状况下,将(1)式两端除以 H(u,v)H(u,v)
F^(u,v)=F(u,v)+N(u,v)H(u,v)(3)F^(u,v)=F(u,v)+N(u,v)H(u,v)(3)
这里 N(u,v)N(u,v) 未知,式子代表,即便知道退化函数也不能准备复原图像。还有当退化函数 H(u,v)H(u,v) 是零或者很是小的值,则 N(u,v)H(u,v)N(u,v)H(u,v) 很容易支配整个式子。
下面我将用代码说明一下逆滤波,这里我采用直接编码形式。对了,前面我提到过,当噪声信息比
NSR
等于0时,此时维娜滤波等同于逆滤波。所以能够直接使用matlab自带deconvwnr函数,将第三个参数
NSR
设置成0便可,省事的同窗能够试一下。
代码
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
这里使用了经典的lena图是灰度图像,分别对图像进行运动模糊,逆滤波,运动模糊+高斯噪声,假定噪声未知直接逆滤波,噪声已知逆滤波。3d
效果
说明
逆滤波对噪声很是敏感,除非咱们知道噪声的分布状况(事实上,这也很难知道),逆滤波几乎不可用,能够从二排中间看出,恢复图像效果极差。但若知道噪声分布,也是能够彻底复原信息的。能够从二排最后一张图能够看出。写做本文的目的也仅是在数学角度上对图像模糊现象进行分析,后续会介绍更加有效的图像复原方法,敬请关注。rest
相关阅读及参考文献
图像去模糊(维纳滤波) http://blog.csdn.net/bluecol/article/details/46242355
图像去模糊(约束最小二乘滤波) http://blog.csdn.net/bluecol/article/details/47359421
数字图像处理(第三版) 冈萨雷斯著 chapter 5,图像复原与重建code
转载请保留如下信息
做者 | 日期 | 联系方式 |
---|---|---|
风吹夏天 | 2015年8月8日 | wincoder@qq.com |