Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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_Image Segmentation_Watershed - Fatal编程技术网

OpenCV中用于颜色分析的图像分割

OpenCV中用于颜色分析的图像分割,opencv,image-segmentation,watershed,Opencv,Image Segmentation,Watershed,我正在从事一个项目,该项目要求我: 查看包含定义相对清晰的对象的图像,例如 然后选择某个空间中n-most(它是通用的,可以是1、2、3等等)突出对象的颜色(无论是RGB、HSV还是其他),然后返回它 我正在寻找将这样的图像分割成独立对象的方法。一旦完成,我的印象是,找到线段的轮廓并分析它们的平均颜色或质心颜色等不会特别困难 我简要地研究了分水岭算法,它似乎可以工作,但我不确定如何为数量不确定的斑点生成标记图像 分割此类图像的最佳方法是什么?如果使用分水岭,生成相应整数标记图像的最佳方法是什么

我正在从事一个项目,该项目要求我:

查看包含定义相对清晰的对象的图像,例如

然后选择某个空间中n-most(它是通用的,可以是1、2、3等等)突出对象的颜色(无论是RGB、HSV还是其他),然后返回它

我正在寻找将这样的图像分割成独立对象的方法。一旦完成,我的印象是,找到线段的轮廓并分析它们的平均颜色或质心颜色等不会特别困难

我简要地研究了分水岭算法,它似乎可以工作,但我不确定如何为数量不确定的斑点生成标记图像


分割此类图像的最佳方法是什么?如果使用分水岭,生成相应整数标记图像的最佳方法是什么?

我不是专家,但我真的不知道分水岭算法如何对分割问题非常有用

从我对此类问题的有限经验/接触来看,我认为应该尝试滑动窗口分割方法。基本上,这需要使用设置大小的窗口遍历图像,并尝试确定窗口是否包含背景与对象。您需要尝试不同的窗口大小和步骤

这样做应该允许您检测图像中的对象,假定图像包含相对定义良好的对象。您还可以尝试在将图像转换为黑白后执行分割,使用特定的阈值可以很好地分离背景和对象

一旦您通过滑动窗口识别了对象,您可以尝试使用您提到的方法之一确定最突出的颜色

更新

根据您的评论,以下是另一种可能适合您的方法:

如果您认为对象的颜色基本一致,您可以尝试处理图像以:

  • 消除噪音
  • 将原始图像映射到缩小的颜色空间(即256色或事件16色)
  • 根据像素颜色检测连接的组件,并确定哪些组件足够大
  • 您还可以将图像重新采样到较低的分辨率(即,如果图像为1024 x 768,则可以将其降低到256 x 192),以帮助加快算法的速度


    剩下要做的唯一一件事就是确定哪个组件是背景。在这一点上,也可以尝试通过转换为具有特定阈值的黑/白来进行背景删除。

    检查这种可能的方法:

    下面是它在您的图像上的外观:

    我的预期方法是以某种方式按颜色分割对象,然后分割对象以确保消除重叠,即确保没有“斑点”被触摸。最后,对图像进行阈值分割,将所有对象从背景中分离出来,找到轮廓,然后在原始轮廓上循环,找到某个空间中的平均颜色。这可能不是最好的办法。就在我写这篇文章的时候,它似乎太冗长了!减少颜色空间并搜索区域您建议减少哪些颜色空间?我认为这种方法有其优点,但似乎降低到灰度可能会造成太大的信息损失,即多个颜色在0-255的范围内变得太相似。关于缩小颜色空间和搜索区域的方法有什么好的教程吗?我建议使用黑/白(2位)-而不是灰度(通常是8位或12位)。不同之处在于,2位基本上是图像的布尔开/关表示,用于区分较亮区域和较暗区域。它可以非常有效地检测某些图像中的感兴趣区域。此外,就明显的信息损失而言,降低模糊性也是非常有效的。对你来说,信息丢失实际上可能对你检测物体/颜色的实际目标非常有帮助。