Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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
Image processing 用户输入背景减法_Image Processing_Background Substraction - Fatal编程技术网

Image processing 用户输入背景减法

Image processing 用户输入背景减法,image-processing,background-substraction,Image Processing,Background Substraction,我正在寻找一个算法,或者更好的是,一些库,涵盖了从一个单一的静态图像背景减法(没有背景模型可用)。然而,可能的是某种用户输入,比如说它。 遗憾的是,我的google fu在这里很糟糕,因为我找不到任何关于这个主题的文章,而且我的关键词数量有限。这个网页真是令人印象深刻。如果我尝试实现类似的东西,我可能会使用CIELAB颜色空间使用k-means聚类。更改颜色空间的原因是,颜色可以由两个点而不是3个点表示为常规RGB图像。这将加速集群。此外,CIELAB颜色空间就是为了这个目的而建立的,寻找颜色之

我正在寻找一个算法,或者更好的是,一些库,涵盖了从一个单一的静态图像背景减法(没有背景模型可用)。然而,可能的是某种用户输入,比如说它。
遗憾的是,我的google fu在这里很糟糕,因为我找不到任何关于这个主题的文章,而且我的关键词数量有限。

这个网页真是令人印象深刻。如果我尝试实现类似的东西,我可能会使用CIELAB颜色空间使用k-means聚类。更改颜色空间的原因是,颜色可以由两个点而不是3个点表示为常规RGB图像。这将加速集群。此外,CIELAB颜色空间就是为了这个目的而建立的,寻找颜色之间的“距离”(相似性),并解释人类感知颜色的方式。不仅仅是查看计算机拥有的原始二进制数据

但是快速概述一下kmeans。对于这个例子,我们将说k=2(表示只有两个簇)

  • 用平均值初始化每个集群
  • 仔细检查图像中的每个像素,确定它更接近簇1还是簇2
  • 处理完所有像素后,计算簇的新平均值
  • 使用新计算的平均值重复步骤2-4直到收敛(意味着平均值变化不大)
  • 现在,当前景图像明显不同于背景时,这将很好地工作。比如说蓝色背景中的红色球,但如果颜色相似,问题就更大。我仍然坚持使用kmeans,但是有更多的集群。因此,在该网页上,您可以选择多个红色或绿色选项。我会把每一个笔划都做成一个簇,并将簇初始化为平均值。假设我画了3个红色的笔画,2个绿色的。这意味着我将有5个小组。但不知何故,我在内部添加了一个额外的属性作为前景/背景。因此,每个集群都会有一个小的差异,但最后,我只会显示该属性,前景或背景。我希望这是有道理的

    也许现在你有了一些搜索词开始。也许还有很多其他的方法,但这是我第一次想到的,祝你好运

    编辑

    在玩了一点这个网站之后,我看到它使用了空间接近集群。假设我在图像的两侧有两个相同的红色斑点。如果我只注释图像的左侧,那么右侧的blob可能不会被检测到。Kmeans不会复制这种行为,因为我描述的方法只使用颜色对像素进行聚类,而完全不知道它们在图像中的位置

    我不知道你有什么工具可以使用,但这里有一个很好的matlab示例/教程