我找到了一些减少图像噪声的方法,但我的任务是测量它。
所以我对能给我一些数字的算法感兴趣,噪声等级。有了这个数字,我就可以说一张图像的噪点比其他图像少。
从图像处理的角度,可以参考IEEE Transaction on Image Processing 上发表的经典论文《图像质量评估:从错误可见性到结构相似性》,根据谷歌学术已经被引用超过 3000 次。其基本思想是人类的视觉感知系统对结构相似性高度敏感。然而,噪声(或失真)通常会破坏这种相似性。因此,作者试图基于这种动机提出一种客观的图像质量测量方法。您可以在此处找到 MATLAB 中的实现。
为了解决我的问题,我使用了下一个方法:
我的噪声等级只是被识别为噪声的像素数。为了区分正常像素和噪声,我只计算了其相邻像素的中间值,如果它的值大于某个临界值,我们就说这个是噪声。
if (ABS(1 - (currentPixel.R+currentPixel.G+currentPixel.B)/(neigborsMediumValues.R + neigboursMediumValues.G + neigboursMediumValues.B))) > criticalValue)
then
{
currentPixelIsNoise = TRUE;
}