Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 使用反射材质的背景减法_Opencv_Background Subtraction - Fatal编程技术网

Opencv 使用反射材质的背景减法

Opencv 使用反射材质的背景减法,opencv,background-subtraction,Opencv,Background Subtraction,我使用背景减法来检测运动物体。因为在我的实验中,它们的类型是反射性的物质对象,所以检测起来很困难。我该怎么解决呢 谢谢大家! 编辑:我正在使用背景减法MOG2(在OpenCV中)。OpenCV版本是3.10 编辑1:应用于HSV颜色空间时更新结果 步骤1:转换为HSV颜色空间 步骤2:应用MoG2 我假设你的相机是静止的,你知道背景模型,你使用的是类似MOG探测器的东西。最简单的方法是使用将亮度与色调和饱和度分离的颜色空间——HSV颜色空间就是这样一个例子。OpenCV提供了cvtColor函

我使用背景减法来检测运动物体。因为在我的实验中,它们的类型是反射性的物质对象,所以检测起来很困难。我该怎么解决呢

谢谢大家!

编辑:我正在使用背景减法MOG2(在OpenCV中)。OpenCV版本是3.10

编辑1:应用于HSV颜色空间时更新结果

步骤1:转换为HSV颜色空间

步骤2:应用MoG2


我假设你的相机是静止的,你知道背景模型,你使用的是类似MOG探测器的东西。最简单的方法是使用将亮度与色调和饱和度分离的颜色空间——HSV颜色空间就是这样一个例子。OpenCV提供了cvtColor函数,用于将表格BGR(默认)转换为HSV颜色空间。稍后,您可以仅使用色调和饱和度通道来避免值变化(灯光)的影响。然而,这对非常闪亮的物体不起作用,比如塑料或闪亮的金属,在相机看来是白色的阳光照射下


处理这个问题的另一种方法是使用运动跟踪,即光流。如果你真的感兴趣并想了解更多细节,我可以向你推荐一些具体的论文。

嘿。我使用MoG2方法与静态相机。如上所述,我在检测反射材质对象时遇到问题。如何改进它?我刚刚回答-尝试向MoG2提供转换为HSV颜色空间的图像,您可以删除V分量(即将其设置为0)。如果你有超亮的反射(显示为白色),这将不会有任何帮助,你将需要比MoG更聪明的东西-即光流运动跟踪。我试着像你说的那样。但不是成功。它甚至可以检测不移动的物体。啊,现在我明白了-你有一个可以从各个方向反射背景的罐子。。。这比我想象的要困难得多,我以为你只是有一些闪亮的材料,比如汽车漆。恐怕我帮不了你。在这种情况下,没有基于颜色或直方图的简单模型会有所帮助,MOG2无法处理此类材料。