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
Algorithm 比较流域和地堑_Algorithm_Opencv_Image Segmentation - Fatal编程技术网

Algorithm 比较流域和地堑

Algorithm 比较流域和地堑,algorithm,opencv,image-segmentation,Algorithm,Opencv,Image Segmentation,我知道分水岭算法和grabcut算法都是图像分割的常用工具。它们似乎都依赖于预定义的标记来形成类似于源-汇系统的东西,然后使用图像的梯度来找到边界 我观察到的最大区别是grabcut使用了一种图形结构,其中梯度转化为边缘权重,而分水岭直观地通过向梯度图像缓慢加水来工作。但在我看来,它们似乎会产生类似的结果 我的问题是这两种算法之间的相对优势和劣势是什么?什么时候我应该使用一个而不是另一个?我不知道用什么样的图形,但对于流域来说,主要的缺点是“泄漏”。事实上,如果您的标记没有完全定义,分水岭将在找

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

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


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

我不知道用什么样的图形,但对于流域来说,主要的缺点是“泄漏”。事实上,如果您的标记没有完全定义,分水岭将在找到允许传播的像素后立即泄漏。因此,它必须受到标记的高度约束

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

供将来参考

在opencv的具体案例和我的经历中

Grabcut仅将前景与背景分离(即仅支持2个标签),而Waterline支持使用多个标签进行分割


Grabcut比Water分水岭慢得多,我没有硬统计数据,但Water分水岭能够对Grabcut需要大约5秒处理的图像进行近实时处理

它们导致了如此不同的结果。根据要处理的图像,其中一个可能比另一个更好。