Java 如何使用OpenCV中的分水岭变换实现过分割?

Java 如何使用OpenCV中的分水岭变换实现过分割?,java,opencv,transform,image-segmentation,watershed,Java,Opencv,Transform,Image Segmentation,Watershed,我试图使用Java中OpenCV的基于标记的分水岭实现对图像进行过度分割 我的想法是搜索所有的局部极小值并将其用作标记。 不幸的是,流域需要一个CV_8U类型矩阵作为标记输入,因此,我不能得到超过255个标记 是否有人有解决此问题的方法或其他解决方案来使用OpenCV实现过度分割 随机分水岭可以帮助您解决这个问题。原则是应用多个流域 在您的情况下,您可以执行以下操作: 找到所有的局部极小值 选择N个局部极小值 应用分水岭 将结果/边界存储到累加器中 重复步骤2、3和4 M次 在累加器中保留至少有

我试图使用Java中OpenCV的基于标记的分水岭实现对图像进行过度分割

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

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


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

在您的情况下,您可以执行以下操作:

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

  • 另一个解决方案是使用。您可以从Java调用它,并且您确信实现的算法是快速的,并且没有偏差。

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

    在您的情况下,您可以执行以下操作:

  • 找到所有的局部极小值
  • 选择N个局部极小值
  • 应用分水岭
  • 将结果/边界存储到累加器中
  • 重复步骤2、3和4 M次
  • 在累加器中保留至少有X%的M票的边界
  • 另一个解决方案是使用。您可以从Java调用它,并且您确信实现的算法是快速的,并且没有偏见