问题标签 [watershed]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 二进制图像中的 FindContours 和 CountObject
有人可以帮我解决吗?我有一个使用分水岭分割处理的二进制图像,我的问题是,如何在图像中找到轮廓和计数对象?
matlab - 从分割输出构建训练图像的最有效方法是什么?
我想从分水岭变换输出中制作训练图像,以便在每个单元格中都有一个图像片段。我怎样才能以最有效的方式做到这一点?
更多细节:假设L
是分水岭分割的输出:
- 0 是背景
- 1 是段号 1,2 是段号 2,依此类推。
我想用两个图像构建一个单元格,每个图像都包含一个段:
我知道我可以使用一些 for 循环和 if 条件来做到这一点,但是我需要一个具有最佳计算成本的解决方案。也许 Matlab 有这个任务的内置函数?
c# - 从图像中确定气泡大小的算法
我正在寻找一种从下图中隔离气泡的好方法。我正在使用 Visual Studio 2015 和 C#。
我听说过分水岭方法,并相信它可能是一个很好的解决方案。
我尝试实现此处找到的代码解决方案:分水岭图像分割
我没有取得太大的成功。该解决方案无法找到函数,例如:FilterGrayToGray。
有谁知道这样做的好方法?
python - 通过 Python 在 OpenCV 中使用 inpaint 函数在分水岭中插入破碎的河流数据
背景
通过激光雷达收集的栅格文件记录了流域的地形。为了正确模拟分水岭,河流必须看起来是连续的,没有任何中断或中断。如下图所示,栅格文件中的道路看起来像中断河流的水坝
客观的
这些河流断裂是主要问题,我正在尝试但未能消除它们。
方法
通过 Python,我使用了 OpenCV 库中的各种工具和预构建函数。我在这种方法中使用的主要函数是 cv2.inpaint 函数。这个函数接收一个图像文件和一个掩码文件,并在掩码文件像素不为零的地方插入原始图像。
这里的主要步骤是通过检测河流中断处的角落来确定我所做的掩码文件。掩码文件将指导 inpaint 函数根据周围像素中的图案填充像素。
问题
我的问题是,这发生在各个方向,而我要求它仅从河流本身推断像素数据。下图显示了有缺陷的结果:inpaint 有效,但它也考虑了来自河外的数据。
如果您愿意提供帮助,这是我的代码:
python - OpenCV Python中的距离变换自动将CV_8UC3转换为CV_32SC1,创建一个断言错误
我正在尝试按照教程将分水岭算法应用于图像:OpenCv WaterShed Docs。我之前在灰度图像上应用了高斯滤波和形态变换后的 Otsu 阈值处理,以根据代码提高图像质量:
根据代码应用距离变换作为分水岭算法的第一阶段:
创建错误:
其中正在尝试将 8 位 3 通道图像转换为 32 位单通道图像。我如何防止这种情况,但又可以使用距离变换?
c++ - 分水岭算法后提取轮廓
我有一个图像,我在其上应用了分水岭算法并获得了满意的结果。我已经使用 OpenCV 和 C++ 来获得结果。现在,我该如何提取分段部分并最好将它们保存为轮廓?
python - 如何使用 OpenCV 和 Python 检测和修复连接/重叠的字母(OCR 分割)?
对于 OCR 程序,我在分割连接或重叠的文本时遇到问题。我正在处理 Times New Roman 字体。在这种字体中,fb、fh、fi、fj、fk、fl 等字母在顶部相互连接。(见下图)。这主要出现在衬线字体中。
Times New Roman字体中加入的字母和分水岭算法的结果:
显然,轮廓检测会给这两个字母一个单一的分割。所以,我尝试了分水岭算法。正如您在上图中看到的,它确实检测到了重叠,但我发现了另一个问题本身。字母“f”的薄部分也被分成另一个部分,但我想要整个“f”。我知道这是因为我使用的标记。(见下文)
我用于分水岭的标记:
另外,有谁知道如何检测字母是否重叠,以便我可以将分水岭算法仅应用于重叠部分。
那么如何解决这个问题呢?我是否使用正确的方法,即分水岭来解决这个问题?有谁知道更好的解决方案?