![0bb153c03b0388c7a033bf6a10521c1d.png](https://img-blog.csdnimg.cn/img_convert/0bb153c03b0388c7a033bf6a10521c1d.png)
论文原文链接:
- 《Image denoising by sparse 3D transform-domain collaborative filtering》:https://www.cs.tut.fi/~foi/GCF-BM3D/BM3D_TIP_2007.pdf
- 萌新项目地址:GitHberChen/NL-means
论文结构:
- 简述
- 1、引入
- 2、方法噪声(降噪方法的误差)
- 2.1、高斯滤波
- 2.2、各向异性滤波器
- 2.3、总偏差最小化
- 2.4、邻域滤波
- 3、NL-means 算法
- 4、NL-means 的一致性
- 5、讨论与实验
论文翻译(粗略翻译,水平有限,欢迎吐槽):
1、1~4:A non-local algorithm for image denoising || 翻译(上)
2、5:A non-local algorithm for image denoising || 翻译(下)
论文核心要点:
本论文主要提出NL-means算法,该算法用于数字图像的降噪,其主要原理为:
-
(1)
-
(2)
-
(3)
带噪图像每一个像素点v的值降噪后为与其邻域(以v为中心的k*K像素方块)相近的所有像素点的值的高斯加权平均值之和,邻域的相似度用欧式距离衡量。
代码实现(C++):
#include
原图:
![640cc3a4d0215660fba5d17a79466619.png](https://img-blog.csdnimg.cn/img_convert/640cc3a4d0215660fba5d17a79466619.png)
经过添加高斯噪点和椒盐早点后的图像,将使用高斯滤波、中值滤波、双边滤波以及论文中的NL-means算法对该图进行降噪处理:
![0569a0794ed7a701a75f2c8bc887a7e6.png](https://img-blog.csdnimg.cn/img_convert/0569a0794ed7a701a75f2c8bc887a7e6.png)
output:
RAW: 28.0157
time: 39.0843 ms
gaussian: 28.1887
time: 4.29171 ms
median: 30.6392
time: 13.0715 ms
bilateral: 33.161
time: 543.483 ms
nonlocal: 34.1463
输出图像:
![79309b83a0852885e5113bcb5ee942e3.png](https://img-blog.csdnimg.cn/img_convert/79309b83a0852885e5113bcb5ee942e3.png)
结论:
NL-means算法无论是PSNR值还是视觉感受上都十分优秀,处理后的效果几乎与未人工添噪的原图一致,当然,缺点也很明显,该算法复杂度较高,在实验时我并未将搜索域设置为全图,仅设置为7*7,就已经需要半秒来处理,如果设置为全图256*256,则需要漫长的等待。
参考链接:
- 图像去噪算法:NL-Means和BM3D
- A non-local algorithm for image denoising
- non-local Means(非局部均值)降噪算法及快速算法原理与实现
- [转]图像去噪算法:NL-Means和BM3D - ZYVV - 博客园
- 非局部均值滤波算法的python实现 - zmshy2128的专栏 - CSDN博客
- Nonlocal-Means 算法图像去噪