algorithm - 比较分水岭和抓取

标签 algorithm opencv image-segmentation

我知道分水岭和抓取算法都是图像分割的常用工具。它们似乎都依赖于预定义的标记来形成类似源-汇系统的东西,然后使用图像的梯度来找到边界。

我观察到的最大区别是,grabcut 使用图形结构,其中梯度转换为边缘权重,而分水岭直观地通过向梯度图像中缓慢添加水来工作。但对我来说,它们似乎会产生类似的结果?

我的问题是这两种算法之间的相对优势和劣势是什么?我什么时候应该使用其中一种而不是另一种?

最佳答案

我不知道 GraphCut 的情况,但 Watershed 的主要弱点是“泄漏”。事实上,如果您的标记没有完美定义,一旦找到允许传播的像素,分水岭就会泄漏。因此它必须受到标记的高度约束。

分水岭(发展良好,请参阅 SMIL 库)似乎比图割更快。

关于algorithm - 比较分水岭和抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38967346/

相关文章:

python - 使用 Python、Numpy 和 Scikit-Image/OpenCV 根据中间分水线的长度合并图像段

java - BackgroundSubtractorMOG2 中的 "history"是什么意思?

java - 确定数组中最常见的事件

vb.net - 将数字与方程式/算法联系起来

c++ - 使用快速排序观察二次行为 - O(n^2)

python - 相机重新对焦时Opencv读取图像(仍然模糊)

java - 联赛赛程的排列

javascript - 如何向 OpenCV.js 添加 `accumulateWeighted` 支持?

python - OpenCV Python列表附加问题

python-2.7 - 如何计算骰子系数以测量python中图像分割的准确性