文章目录[x]
- 1:前言
- 2:NL-Means原理
- 3:参考文献
大家好,我是Ace,这篇文章介绍NL-Means降噪算法,喜欢大家能够喜欢。
前言
在之前的图像处理——降噪原理分析篇中,我们知道了如何制作一个保边的降噪滤波器,今天就来介绍一个简单常用的保边的降噪算法——NL-Means的原理。
NL-Means原理
NL-Means同样是对区域内像素取均值,得到降噪后的结果。和图像处理——降噪原理分析篇中提到的双边滤波器不同的时,它在分析像素是否相似的时候并非直接采用两个像素点亮度值的差异,而是分析该两个像素点的邻域内所有像素亮度值的差异,这就能够考虑到像素邻域内的几何构型。
如何计算NL-Means的结果呢?
$$NL[v](i)=\displaystyle \sum^{}_{j \in I}w(i,j)v(j)$$
其中v代表原图像的亮度值函数,w代表权重大小,I代表考虑的图像区域所有像素的集合。
权重函数:
$$w(i,j)=\frac{1}{Z(j)}e^{-\frac{||v(N_i)-v(N_j)||^2_{2,a}}{h^2}}$$
其中的
$$||v(N_i)-v(N_j)||^2_{2,a}$$
表示邻域的相似度,通过两个像素邻域亮度值的欧氏距离(即正常求差值)表示,差越小,越相似。
其中
$$v(N_k)$$
表示以k为中心的像素区域一个固定大小的像素邻域的亮度值向量(由于有多个数值,我们称其为向量)。
Z(j)为归一化函数:
$$w(i,j)=\displaystyle \sum^{}_{j \in I}e^{-\frac{||v(N_i)-v(N_j)||^2_{2,a}}{h^2}}$$
为什么需要归一化呢?归一化详细的解释请见图像处理——卷积部分。
我们需要注意的是,在NL-Means算法中,一般用户可以调节的参数有h,进行处理的图像区域的大小,判断像素相似性的几何邻域的大小。
参数h和图像区域大小与降噪强度呈正比。
而判断像素相似性的几何邻域大小则需要根据情况设置一个合适的数值。