我试图通过在Java中使用OpenCV的基于标记的分水岭实现来过度分割图像 .
我的想法是搜索所有局部最小值并将其用作标记 . 不幸的是,分水岭需要一个CV_8U型矩阵作为标记输入,因此,我实际上不能获得超过255个标记 .
有没有人有这个问题的解决方法或使用OpenCV实现过度细分的其他解决方案?
随机分水岭可以帮助你解决这个问题 . 原则是应用多个流域 .
在您的情况下,您可以这样做:
查找所有本地最小值
选择N个本地最小值
申请分水岭
将结果/边界存储到累加器中
重复步骤2,3和4 M次
保持累加器中至少有X%X票数的边界 .
另一种解决方案是使用SMIL library . 您可以从Java调用它,并且您确信所实现的算法快速且没有偏差 .
1 回答
随机分水岭可以帮助你解决这个问题 . 原则是应用多个流域 .
在您的情况下,您可以这样做:
查找所有本地最小值
选择N个本地最小值
申请分水岭
将结果/边界存储到累加器中
重复步骤2,3和4 M次
保持累加器中至少有X%X票数的边界 .
另一种解决方案是使用SMIL library . 您可以从Java调用它,并且您确信所实现的算法快速且没有偏差 .