在嘈杂的图像中检测线条伪影

时间:2017-02-16 16:02:45

标签: matlab image-processing tomography-reconstruction

我正在对计算机断层扫描投影图像进行图像处理。我正在进行的处理产生了一种特定类型的工件,它表现为贯穿整个图像的垂直线:

Line artifact

我目前正在通过比较每列的平均值来检测它。如果平均值小于左侧和右侧列邻居的平均值的一半,则该列被视为线伪影。然后将其内插为左侧和右侧相邻像素的最大值。

插值效果很好(图像的右侧),但检测过于特殊。它也经常失败,因为许多仅包含黑色背景的列可以满足该条件,因为显着的泊松噪声很大。这会导致过滤掉下一阶段噪声的伪像。我正在使用BM3D效果很好,并且不希望对整个图像进行中值滤波。

您能想出更好的方法来检测这些“线条伪影”吗?请注意图像中对象的强边框以及工件中包含的重噪声。

1 个答案:

答案 0 :(得分:3)

  1. 我们想在图像中找到垂直线,因此首先使用滤镜[1 -2 1]对图像进行卷积。这将为低于垂直邻居的像素提供高值。
  2. 对图像的所有列求和。
  3. 查找具有最大值的列索引。这一栏是有问题的。