gpt4 book ai didi

matlab - bwmorph 分支点如何工作?

转载 作者:太空宇宙 更新时间:2023-11-03 19:45:02 26 4
gpt4 key购买 nike

我正在使用图像处理工具箱在 MATLAB 中编写一段代码,我在其中使用 Skel=bwmorph(BM,'skel') 来获取河流的骨架。我想使用 BP=bwmorph(Skel,'branchpoints') 来获取汇流点和支流点。每当骨架看起来像我在 BP 中得到很多误报

oQo
Q
o

它还将 Q 像素标记为分支点,以及实际的、预期的分支点。有很多这样的误报。

我注意到真正的分支点在 BP 中作为一个孤立的像素出现,而错误的分支点总是成对形成。

谁能告诉我分支点算法是如何找到点的?如果我知道这一点,我就可以确信存在误报成对而真阳性单独存在的实际原因,而不是幸运的巧合。

我感觉它着眼于像素周围的 8 连通性,但我认为这还不是全部。

为了澄清,我标记了输出的裁剪图像。它给出的积极因素以红色显示。可以看出,这些像素中只有一个实际上是分支点。我想知道该算法是如何工作的,以便我可以给出一个合乎逻辑的理由来解释为什么误报成对出现(如果它们确实成对出现的话)。

The image

最佳答案

你的像素不是最小(8-)连接,尝试使用

Thin = bwmorph(Skel,'thin');
BP = bwmorph(Thin,'branchpoints');

去除不需要的像素。 (您也可以使用 thin 而不是 skel)。

我认为如果至少 3 个像素(不包括中心)为“1”,则分支点的基本算法会查看 3,3 个邻域像素。

关于matlab - bwmorph 分支点如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10701777/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com