从图像中过滤公共信号

信息处理 图像处理 噪音
2022-02-08 22:40:55

在使用同一个红外相机拍摄的一组图像中,我有一个可能来自相机芯片的噪声信号。我将如何提取所述信号以便能够从我拍摄的所有图像中减去它?

1个回答

基本上你必须做一个阴影校正。此过程基于仅包含这些伪影的参考图像(或有时称为“补偿图像”)从图像(或一系列图像)中移除已知伪影。这样的参考图像可以通过在良好条件下拍摄均匀的物体(即完全白色的墙壁或完全黑色的黑暗)来获得,以便仅记录来自缺陷相机芯片的信号。

我用 Mathematica 做过这个例子,基本原理可以在任何地方实现。

给定一组没有缺陷信号的图像(我使用灰度图像,因为我没有红外图像)

img1=

数学图形

img2=

数学图形

img3=

数学图形

和一个人工缺陷相机芯片信号,也就是参考图像(我把它从我的帽子里拿出来了)。

noise = GaussianFilter[Binarize[Image[RandomReal[1, {299, 499}]], 0.95], 5]

数学图形

现在我们生成噪声图像。

img1n = ImageAdd[img1, noise]
img2n = ImageAdd[img2, noise]
img3n = ImageAdd[img3, noise]

数学图形 数学图形 数学图形

然后我们简单地从噪声图像中减去参考图像,得到没有噪声的实际图像。

ImageSubtract[img1n, noise]
ImageSubtract[img2n, noise]
ImageSubtract[img3n, noise]

数学图形 数学图形 数学图形

如果您碰巧有一张嘈杂的图像和一张具有完全相同场景的完美图像(当然还有图像尺寸)

img1n =

数学图形

img1=

数学图形

那么您可以通过从前者中减去后者来简单地自己生成参考图像。

ImageSubtract[img1n, img1]

数学图形