问题标签 [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.
java - OpenCV中分水岭分割的图像格式不匹配
我正在尝试使用 OpenCV 的 Java 包装器实现分水岭分割。
这就是我正在做的事情:
就在我调用“分水岭”时,我看到一个错误,内容如下:
我明白了,OpenCV 正在寻找一个 32 位 1 通道文件作为输出。
我尝试了所有可能的组合:
CvType.CV_32FC1,
CvType.CV_32F,
CvType.CV_32S,
CvType.CV_32SC1,
CvType.CV_8UC1,
CVType.CV_16UC1
... 他们全部。
错误是有弹性的。它拒绝离开。
请帮忙。
提前致谢。
image-processing - 在图像中寻找能量最小的路径
考虑一个包含灰度值的二维数组,如下图所示:
我想找到红点之间的最佳路径。如果您认为明亮区域是“高”,而黑暗区域在海拔意义上是“低”,那么我想要一条沿着从一个标记到另一个标记的黑暗“山谷”延伸的线。
我知道的两类算法是:
- 基于图像处理的“自下而上”操作(骨架化、分水岭、最终侵蚀等)
- 迭代最小化,“自上而下”操作(活动轮廓)。
我的问题是:
是否有任何典型且定义明确的操作或算法来解决这个问题,或者我应该从上面提到的一些通用技术中自己创建一个?
我会先尝试骨架化,但我不知道如何在灰度图像上执行它。而且,如果我要尝试一个活动轮廓,我想知道对于类似于所示图像的良好内部和外部能量函数(我怀疑图像梯度可以充当矢量场)。
编辑:这是我在实现接缝雕刻算法(如维基百科中所述)和 Shoham 建议以强制路径通过标记后的工作代码:
python - 如何找到按分水岭分割的区域的中心点?
我正在使用 scikit (skimage) 中的分水岭算法来分割我的图像,然后我使用 ndimage 库中的函数 find_objects 检测分割的对象。返回的类型是一个切片元组,如下所示:(slice(0L, 45L, None), slice(460L, 519L, None))。我需要在由 wathershed 分割的区域的中心点制作白色,那么如何从 slice 对象中找到它?有没有更简单的方法来找到这一点?
r - 使用 R 为一行中的标识符提取数据并将其放入新列中
我有一些使用 ArcGIS 获取的数据,我想通过流域标识符(例如 HUC_8=1404106)构建一个数据库。数据包含流域标识符 (HUC_8)、流域面积、土壤类型和土壤面积。分水岭标识符的列出次数与土壤类型一样多。我想创建一个基于流域的数据库(标识符只在列中出现一次),并在不同列中按类型提取土壤面积。我附上了数据的一个子集,希望它是清楚的。我对 R 有点陌生,但我觉得这可以通过 for 循环来完成。知道如何做到这一点将非常有帮助,因为我经常使用 GIS,但想在 R 中执行更多分析。
python - 如何为流域分割创建多边形
我有一个图像,并想使用标记控制的分水岭创建该图像的分段多边形。我编写了以下代码,但我无法分离相互连接的对象并创建对象的多边形。
如何解决这些问题?非常感谢你的帮助。
matlab - Matlab:分离连接的组件
我正在解决检测硬币的图像处理问题。
并想将错误连接的硬币分开。
我们已经尝试了 MATLAB 主页上所述的分水岭方法:
特别是因为第一个例子正是我们的问题。
但相反,我们得到了一个非常混乱的分离,如您在此处看到的:
我们已经使用 Extrema 参数提取了硬币的区域,regionprops
并且只在需要的区域上投射了分水岭。
我将不胜感激任何有关该问题的帮助,甚至是另一种将其分开的方法。
opencv - 使用分水岭算法计算对象数量 - Scikit-image
我正在尝试使用分水岭分割来查找给定图像中的对象数量。例如考虑硬币图像。在这里,我想知道图像中的硬币数量。我实现了Scikit-image文档中可用的代码,并对其进行了一些调整,得到的结果与文档页面上显示的结果相似。
在详细查看代码中使用的函数后,我发现 ndimage.label() 还返回图像中找到的唯一对象的数量(在它的文档中提到),但是当我打印该值时,我得到 53,这是非常高的与实际图像中的硬币数量相比。
有人可以建议一些方法来查找图像中的对象数量。
image-processing - 如何在 MATLAB 中使用标记控制分水岭分割从输入的二进制指纹图像中提取毛孔
我正在从二进制指纹图像中提取毛孔,在使用分水岭分割时,我设法获得了梯度图像,但现在我想从脊(指纹上的线条)中提取毛孔(白色斑点)。我该怎么做去吗?
image-processing - 图像分割、分水岭、瀑布、p算法
我想知道是否有人知道任何当前可用的使用瀑布方法或 p 算法进行分割的包。我查看了 github、CRAN 和 Fiji,尽管发表的文献讨论瀑布和 P 算法方法的好处可以追溯到 2009 年,但我没有发现任何东西。现在我正在对一些图像使用分水岭分割,但一直遇到过度分割的问题,似乎这其他两种方法可以解决其中一些问题。
编辑:以下是我参考的一些论文:
- Serge Beucher:“分水岭、分层分割和瀑布算法”(Springer,需要付费)
- BEUCHER, MARCOTEGUI:P 算法,瀑布变换的显着增强