带反射的背景减法 material
Background subtraction with reflective material
我正在使用背景减法检测移动物体。因为他们在我的实验中的类型是反射material对象,所以造成检测困难。我该如何解决?
谢谢!
编辑:我正在使用背景减法 MOG2(在 OpenCV 中)。 OpenCV 版本为 3.10
编辑 1:更新了应用于 HSV 颜色时的结果 space
第 1 步:转换为 HSV 颜色 space
第 2 步:应用 MoG2
我假设你的相机是 non-moving,你知道背景模型并且你正在使用类似 MOG 检测器的东西。最简单的方法是使用颜色 space 将亮度与色相和饱和度分开——一个这样的例子是 HSV 颜色 space。 OpenCV 提供 cvtColor 函数来将 BGR(默认)格式转换为 HSV 颜色 space。稍后您可以仅使用色调和饱和度通道来避免值变化(光)的影响。然而,这不适用于极其闪亮的物体,例如被阳光照亮的塑料或闪亮金属,这些物体在相机看来是白色的。
解决这个问题的另一种方法是使用运动跟踪——即光流。如果你真的有兴趣并想了解更多细节,我可以推荐你一些具体的论文。
我正在使用背景减法检测移动物体。因为他们在我的实验中的类型是反射material对象,所以造成检测困难。我该如何解决?
谢谢!
编辑:我正在使用背景减法 MOG2(在 OpenCV 中)。 OpenCV 版本为 3.10
编辑 1:更新了应用于 HSV 颜色时的结果 space
第 1 步:转换为 HSV 颜色 space
第 2 步:应用 MoG2
我假设你的相机是 non-moving,你知道背景模型并且你正在使用类似 MOG 检测器的东西。最简单的方法是使用颜色 space 将亮度与色相和饱和度分开——一个这样的例子是 HSV 颜色 space。 OpenCV 提供 cvtColor 函数来将 BGR(默认)格式转换为 HSV 颜色 space。稍后您可以仅使用色调和饱和度通道来避免值变化(光)的影响。然而,这不适用于极其闪亮的物体,例如被阳光照亮的塑料或闪亮金属,这些物体在相机看来是白色的。
解决这个问题的另一种方法是使用运动跟踪——即光流。如果你真的有兴趣并想了解更多细节,我可以推荐你一些具体的论文。