使用c#或c ++进行分水岭

我试图将Matlab函数watershed转换为C#或C ++。

我试图使用此代码,但CvFindContours使用此图像返回NULL

我也试过使用这个实现,但我遇到了FilterGrayToGray问题。

有谁知道我如何解决我的问题或如何计算我的图像上的分水岭? 有人能更准确地解释我的流域meyers泛滥算法吗?

您是否看过OpenCV提供的分水岭算法? 此外, 这里有一个如何使用OpenCV watershed的例子。 希望对您有所帮助!

虽然我认为给出的解决方案(类似OpenCV)很好,但您也可以搜索不同的分水岭实现。 搜索Luc Vincent和Pierre Soille“数字空间中的分水岭:基于沉浸式模拟的高效算法”。