【发布时间】:2018-11-22 18:32:58
【问题描述】:
我正在使用here 概述的基于 Voronoi 图的方法来查找根图像的二进制掩码的中线。我或多或少完全按照描述使用 Python 代码:
import skimage.morphology as morphology
WHITE = 255
image_bool = binary_mask == WHITE
d = morphology.disk(2)
img = morphology.binary_closing(image_bool, selem=d)
skeleton = morphology.medial_axis(img)
然后是图形:我将骨架化图像输入 buildTree,如用户 Gabriel 的 iPython 笔记本中所述: https://github.com/gabyx/WormAnalysis/blob/master/SkeletonTest/Skeletonize.ipynb
一般来说,这会产生很好的效果。但是,该方法有时会以两种不同的方式失败:
1) 图并不总是延伸到根的全长:
2) 图表有时会“过早地”连接到沿根轮廓的一个点,该点可能看起来是最长的路径,但显然不符合我所说的“中线”。这适用于各种多边形形状:
最后一个案例是一个人造面具——我的实际根没有一个完全平坦的尖端——但我认为它很好地代表了这个问题。
是否有人对 Voronoi 图有更深入的了解,有任何技巧可以解决这些问题中的任何一个,同时仍然保留这种通用方法。
谢谢!
【问题讨论】:
-
也许还提供您输入到骨架化算法的骨架图像
-
嗨@Gabriel,抱歉耽搁了!我编辑了原始帖子以包含骨架化图像。这是你想看到的吗?
-
嘿@Gabriel,我想知道您是否有机会研究这个问题?谢谢!
-
No没有时间:算法只构建最长的路径。在 2) 中,选择这条路径似乎有点奇怪,因为 2) 中的骨架化会提出不同的建议......
标签: python polygon computational-geometry curve-fitting voronoi