【发布时间】:2014-12-18 05:13:31
【问题描述】:
我正在寻找一种细化/骨架化算法,如果我只知道 4 个邻居而不是 8 个邻居,它就可以工作。 从我能找到的所有算法中,我假设我了解对角线邻居。
那么有人知道如果我只知道顶部、右侧、底部、左侧邻居时也可以使用的细化算法吗?
结果应该是这样的: http://www.cs.ru.nl/~ths/rt2/col/h9/thinning.GIF
这些不是我要找的: http://upload.wikimedia.org/wikipedia/commons/thumb/9/93/Skel.png/220px-Skel.png 形状应该和第一个例子一样保持
【问题讨论】:
-
我敢肯定有几种标准方法,但是“删除与 1 个白细胞或几个白细胞相邻的所有黑细胞,除以最多 4 步 BFS(仅使用空白)” ?该算法的 7-10 次迭代可能会解决您的问题。
-
我不确定我是否理解正确。我偶然发现这部分“或几个白细胞被最多 4 步 BFS 划分”。如何防止第一个示例中的结尾被删除?
-
这不是个好主意(至少需要开发),我试过了,结果很糟糕i.imgbox.com/V9DTA0IQ.jpgi.imgbox.com/IkclhkM3.jpgi.imgbox.com/Vy2gSwrs.jpgi.imgbox.com/Vy2gSwrs.jpgi.imgbox.com/kyZIL7ZP.jpgi.imgbox.com/pjj9iVOd.jpg@987654328 @ 我对 BFS + A* 的另一个想法也失败了。 i.imgbox.com/bGJX6OxB.png最好知道8个邻居,而不是4个...
-
顺便说一句,你应该先尝试获取一些关于 4 个邻居的信息,然后通过对角线获取与起始单元格相邻的邻居的信息。你会得到关于 8 个邻居的信息,而不是 4 个。
-
BTW2, mb 你不应该在一般情况下解决这个问题。如果您的兴趣是英文字母 - 设计专门为它们工作的东西可能会更容易。
标签: algorithm image-processing