非局部均值(NL-means)是近年来提出的一项新型的去噪技术。该方法充分利用了图像中的冗余信息,在去噪的同时能最大程度地保持图像的细节特征。基本思想是:当前像素的估计值由图像中与它具有相似邻域结构的像素加权平均得到。
理论上,该算法需要在整个图像范围内判断像素间的相似度,也就是说,每处理一个像素点时,都要计算它与图像中所有像素点间的相似度。但是考虑到效率问题,实现的时候,会设定两个固定大小的窗口:搜索窗口
和邻域窗口
。邻域窗口在搜索窗口中滑动,根据邻域间的相似性确定像素的权值。
![](https://img2020.cnblogs.com/blog/1729453/202004/1729453-20200411013431225-578945138.gif)
![](https://img2020.cnblogs.com/blog/1729453/202004/1729453-20200411013443173-587271247.gif)
下图是NL-means算法执行过程,大窗口是以目标像素为中心的搜索窗口,两个灰色小窗口分别是以、为中心的邻域窗口。其中以为中心的邻域窗口在搜索窗口中滑动,通过计算两个邻域窗口间的相似程度为赋以权值
。
![](https://img2020.cnblogs.com/blog/1729453/202004/1729453-20200411013514015-108331509.gif)
![](https://img2020.cnblogs.com/blog/1729453/202004/1729453-20200411013616971-1957203830.png)
NL-means执行过程
设含噪声图像为,去噪后的图像为。中像素点处的灰度值通过如下方式得到:
![](https://img2020.cnblogs.com/blog/1729453/202004/1729453-20200411013701312-1995714526.gif)
其中权值表示像素点和间的相似度,它的值由以、为中心的矩形邻域、间的距离决定:
![](https://img2020.cnblogs.com/blog/1729453/202004/1729453-20200411014008574-2010944561.gif)
其中
![](https://img2020.cnblogs.com/blog/1729453/202004/1729453-20200411013753631-256852726.gif)
![](https://img2020.cnblogs.com/blog/1729453/202004/1729453-20200411014032167-1696322765.gif)
![](https://img2020.cnblogs.com/blog/1729453/202004/1729453-20200411014046816-1564643826.gif)
与均值滤波的对比:
均值滤波:
均值滤波的计算非常简单,将图像像素点灰度记录在数组中,然后设置方框半径的值,然后将方框中的所有点的像素求和取平均,得到的结果就是均值滤波后对应像素点的灰度值。
优点:
计算很快而且简单
从算法可以看出,只是求了平均,并没有很复杂的计算
缺点:
得到的图像很模糊
当方框的半径越大,得到的图像中那些变化较大的地方(边缘)计算后变化就越小,即边缘不明显,即模糊。
优点:
计算很快而且简单
从算法可以看出,只是求了平均,并没有很复杂的计算
缺点:
得到的图像很模糊
当方框的半径越大,得到的图像中那些变化较大的地方(边缘)计算后变化就越小,即边缘不明显,即模糊。
非均值滤波:
优点
可以既去除噪声,又保留图像边缘细节
当然去噪声指的一般是高斯白噪声,因为高斯白噪声的均值是0,所以求和取平均会比较有效果
缺点
计算起来很慢
如果图像像素点比较多,而且计算的时候取的框还比较大的话,那么计算一般几分钟是要的了。
可以既去除噪声,又保留图像边缘细节
当然去噪声指的一般是高斯白噪声,因为高斯白噪声的均值是0,所以求和取平均会比较有效果
缺点
计算起来很慢
如果图像像素点比较多,而且计算的时候取的框还比较大的话,那么计算一般几分钟是要的了。
参考:https://blog.csdn.net/Frankgoogle/article/details/52209901
https://blog.csdn.net/u010839382/article/details/48229579