如何测量图像噪声

19

我找到了几种减少图像噪声的方法,但我的任务是测量它。

因此,我对能够给我一些数字、即噪声评分的算法感兴趣。通过这个数字,我将能够说出一张图片比其他图片的噪声更少。


是什么样的噪点?噪点的来源是什么?它来自于相机的CCD吗?还是像高斯噪声一样,由程序添加到图像中的呢? - Dan D.
1
似乎是一个重复的问题:https://dev59.com/CnE95IYBdhLWcg3wI6ft - bummzack
2个回答

11

从图像处理的角度来看,您可以参考经典论文《图像质量评估:从误差可见性到结构相似性》(已在IEEE Transactions on Image Processing上发表并被Google Scholar引用了3000多次)。其基本思想是人类的视觉感知系统对结构相似性非常敏感。然而,噪声(或失真)通常会破坏这种相似性。因此,作者尝试提出一种基于这个动机的客观图像质量测量方法。您可以在这里找到MATLAB实现。


请注意,SSIM是全参考指标,这意味着您需要同时拥有干净的、未经改动的图像和受损的图像才能评估SSIM。如果您需要测量没有参考图像的图像中的噪声,建议在Google学术上搜索“无参考”或“单端”方法。 - whlteXbread

3
为了解决我的问题,我采用了以下方法:
我的噪音评级只是被识别为噪音的像素数量。为了区分正常像素和噪音,我只计算其邻近像素的中值,如果它的值大于某个临界值,则认为这是噪音。
if (ABS(1 - (currentPixel.R+currentPixel.G+currentPixel.B)/(neigborsMediumValues.R + neigboursMediumValues.G + neigboursMediumValues.B))) > criticalValue)
then
{
    currentPixelIsNoise = TRUE;
}    

7
不要简单地将超过某个阈值的像素分类为噪点,而是可以测量其“误差”,并计算图像中所有像素的方差或标准差。这样可以帮助区分仅有若干个像素略高于阈值与若干个像素明显偏离的情况,也避免了需要选择阈值的问题。 - Adrian McCarthy
@AdrianMcCarthy 这个和图像失真或均方误差(MSE)是一样的吗? - GTodorov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接