【发布时间】:2017-07-11 00:35:44
【问题描述】:
我的图像可能包含一些斑点。这些斑点可以是任意大小,有些会产生非常强的信号,而另一些则非常微弱。在这个问题中,我将重点关注弱点,因为它们是难以检测的。
这是一个包含 4 个 blob 的示例。
(480, 180) 处的斑点是最难检测的。通过运行高斯滤波器,然后进行开运算,对比度会增加一点,但不会很多:
这个问题的棘手部分是背景中的自然噪声会导致(许多)像素比我想要检测的斑点具有更强的信号。使 blob 成为 blob 的原因在于它要么是一个强度平均增加的大区域,(或者是一个强度增加非常强的小区域(此处不相关))。
如何包含此空间信息以检测我的 blob?
很明显,我首先需要使用高斯和/或中值滤波器对图像进行过滤,以便将每个像素的附近区域合并到每个单个像素值中。但是,再多的模糊也不足以轻松从背景中分割出斑点。
编辑:关于阈值: 阈值是非常临时的,但它本身也是有问题的。我没有“纯背景”区域,斑点越大,信号越弱 - 同时仍可检测到。
我也不应该认为典型图像根本没有任何斑点,而只是纯背景。
【问题讨论】:
-
尝试阈值化,然后标记连接的组件,然后是形态开口以去除较小的组件(噪声)。
-
@MalcolmMcLean 我将在问题中澄清这一点。我发现(初始)阈值有问题,因为我不知道要使用哪个阈值。 1) 我不知道保证包含背景的区域。 2) 如果 blob 较大,它的信号可能会较弱。
-
您是在寻找斑点的正确识别和位置,还是还需要精确的尺寸测量?
-
@SneakyPolarBear 只是正面识别和(大约)位置
-
如果您尝试识别其他(情况)(即斑点低于背景值的情况,或单个像素高强度尖峰,如果您也发布这些图片...)
标签: image opencv image-processing computer-vision feature-detection