如何测量图像的噪点和清晰度?

信息处理 图像处理 噪音
2021-12-30 05:06:32

我正在开展一个根据质量对一些图像进行排名的项目。

对于这个项目,我想从图像中找出噪声和清晰度。

  1. 要计算 噪声(来自 CCD 传感器),我想我可以计算图像的平均噪声。我怎么能这样做?我读过一些关于 MSE、PSNR 和 SSIM 的文章。但是,所有这些都需要第二张图像。或者是否有修改,以便我可以将这些算法用于一张图像?
  2. 要计算一个代表锐度的值,我不知道。也许我可以用图像最清晰的点计算峰值(因为有不同的类型,比如失焦或运动模糊)

是否有可用的参考论文或任何语言的实现?

更新 我可以使用(斜边)MTF 来测量锐度吗?我需要一些标准化指标来比较图像之间的清晰度。还是有更好的解决方案?我认为,独立的拉普拉斯算子没有标准化。

4个回答

简单地说,您不能从单一观察中“计算”噪声。相反,您可以估计目标信号(去噪形式),然后通过使用此估计,您可以确定噪声水平。如果观测值,其中是目标,是噪声,在估计之后(通过标准去噪方法),您可以使用估计值和观测值计算 MSE、SNR 或其他噪声水平度量. 当然,这些值将取决于您用来估计的去噪方法,这可能会严重改变结果。y=x+nxnxxyx

在 CCD 中,噪声主要由公共输出放大器(或每个象限通常有一个单独的放大器)控制,因此如果您拍摄没有光子信号的暗帧,则数据的变化仅由放大器噪声引起 - 因此您可以只需取所有像素的标准偏差。

使用商业而非科学相机,您可能无法获得足够低的信号,以至于散粒噪声并不重要。

我会推荐 ImageJ 作为开始。有一个内置功能可以去除噪音,您可以使用 ctrl-k 绘制噪音前后的图表。图表显然变得更加平滑,并且应该能够通过比较任一图表来得出分数

估计噪声水平的一种方法是简单地测量图像连续区域(场景中接近均匀性的那些区域)的灰度直方图的标准偏差。虽然在任何图像中都会出现一些变化,但这种分布的很大一部分将是由图像噪声引起的。此度量的实用性在很大程度上取决于场景的构建以及您需要了解的内容,但它可能有助于对同一场景的图像质量进行排名。