c++ - OpenCV 分水岭 : 4 point connectivity

标签 c++ image-processing computer-vision morphological-analysis watershed

我正在为 OpenCV 中的分水岭编写代码。

但我希望分水岭边界是 4 点连接而不是 8 点连接。

目前是这个界面:

void watershed(InputArray image, InputOutputArray markers)

有人对此有任何解决方案吗?

还有,有什么简单的方法可以在 opencv 中执行形态学分水岭以自动过分割,当前的方法需要用户输入?

最佳答案

OpenCV 帮助watershed没有明确解释函数中使用的连接。它只是指 MEYER, Fernand 的论文。彩色图像分割。在:Image Processing and its Applications, 1992., International Conference on。 IET,1992 年。 303-306。

也许你必须实现自己的分水岭算法,从 OpenCV 中可用的算法开始(OpenCV 2.4 实现是 here ),或者创建一个新算法;例如,下面的论文描述了一种正确突出连接性的算法:

VINCENT, Luc; SOILLE, Pierre. Watersheds in digital spaces: an efficient algorithm based on immersion simulations. IEEE transactions on pattern analysis and machine intelligence, 1991, 13.6: 583-598.

关于c++ - OpenCV 分水岭 : 4 point connectivity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20219670/

相关文章:

c++ - C++ 中的隐式变量初始化

c++ - 以优雅的方式进行二进制比较操作

java - 寻找位置和方向

c++ - 为什么编译器不将此标记为错误而不是警告?

c# - 从 C# 使用 C++ 类

javascript - 图像结果未显示在页面上

iphone - IOS 上的图像处理过滤器,如白平衡、曝光、分离色调等

python - 从精巧的边缘获取边界并删除图像的背景

opencv - 识别图像中的长不规则图案

python - 当并非所有角落都可见时执行透视变换python openCV