3

我正在编写一个平均/组合/堆叠一系列曝光的应用程序。这通常用于减少生成图像中的噪声。

然而,似乎为了优化平均/堆栈,通常首先对曝光进行归一化。这个过程似乎为每个曝光分配了权重,然后将它们组合起来。我猜测该过程会计算每个图像的整体强度,因为目的是匹配堆栈中所有图像的强度。

我的问题是,我怎样才能结合一个算法来规范化一系列图像?我想这个问题可以通过问“我如何标准化一系列读数?”来概括。

我脑海中出现的一个轮廓如下:

  • 计算参考图像的平均值。
  • 将每个帧的平均值除以参考帧的平均值。
  • 每次除法的结果就是每一帧的权重。
  • 将帧中的每个像素缩放/乘以为该特定帧找到的权重。

这对任何人来说似乎都有意义吗?在过去的一个小时里,我试图用谷歌搜索,但没有找到任何东西。还查阅了亚马逊上各种图像处理书籍的索引,但也没有任何结果。

4

1 回答 1

2

每个积分都由信号和各种噪声组成——一些是时间无关的(例如偏置或 CCD 读出噪声),一些是时间相关的(例如暗电流),还有一些是随机的(散粒噪声)。目的是去除噪声,留下信号。因此,您将首先使用暗帧(包括暗电流、读数和偏置)减去“固定”源,留下信号和散粒噪声。信号比例为通量乘以曝光时间,散粒噪声为信号的平方根

http://en.wikipedia.org/wiki/Shot_noise

因此,总体而言,您的信号/噪声与积分时间的平方根成比例(假设您的积分足够短以至于它们没有饱和)。因此,通过添加帧,您只是增加了曝光时间,从而增加了信噪比。你不需要先标准化。

更复杂的是,还存在瞬态非高斯噪声(例如宇宙射线撞击)。有许多技术可以处理这些问题,但常见的一种是“sigma-clipping”,您可以在其中额外计算每个像素的均值和标准差,然后拒绝与均值有许多标准差的异常值。真实信号将显示平均值附近的高斯波动,而瞬态信号将在堆栈的一帧中显示出很大的偏差。也许这就是你在想的?

于 2011-07-19T13:44:07.720 回答