我正在使用基于Voronoi图的方法概述here来查找根图像的二进制掩码的中线 . 我或多或少地使用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)
总的来说,这会产生很好的效果 . 但是,该方法偶尔会以两种不同的方式失败:
1)图表并不总是扩展根的全长:
2)图表有时会“过早地”连接到根部轮廓上可能看起来是最长路径的点,但显然不符合我称之为“中线”的点 . 这种情况适用于各种多边形形状:
最后一个案例是一个人工面具 - 我的实际根本没有完全扁平的提示 - 但我认为它很好地代表了问题 .
对Voronoi图有更精确理解的人是否有任何关于如何解决这些问题的提示,同时仍然保留这种一般方法 .
谢谢!