提问者:小点点

如何从OpenCV使用分水岭变换实现过分割?


我试图通过使用OpenCV在Java中基于标记的分水岭实现来过度分割图像。

我的想法是搜索所有的局部极小值并将其用作标记。不幸的是,分水岭需要一种类型CV_8U矩阵作为标记输入,因此,我不能真正获得超过255个标记。

是否有人有解决此问题的方法或其他解决方案来使用OpenCV实现过度分割?


共1个答案

匿名用户

随机分水岭可以帮助你解决这个问题。原则是应用多个分水岭。

在您的情况下,您可以这样做:

  1. 找到所有局部最小值
  2. 选择N个局部最小值
  3. 应用分水岭
  4. 将结果/边界存储到累加器中
  5. 重复步骤2、3和4 M次
  6. 保持累加器中至少有X%的M票的边界。

另一种解决方案是使用SMIL库。您可以从Java调用它,并且您确定实现的算法是快速且没有偏见的。