多边形水滴(二值图像)的中心线

2024-05-29 05:08:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个蠕虫的二进制图像(blob提取效果很好)。 我有兴趣安装一个中心线在吹风(蠕虫)。在

到目前为止,我想出了这样一个办法:从一个多边形开始(在图像中的水滴轮廓提取之后),我应用了voronoi计算并丢弃了多边形之外的所有顶点(蓝色),这给了我一条黑色的中心线,我可以进一步使用它来拟合平滑的中心线。在

然而,这种计算根本不健壮(因为删除了不在多边形内的voronoi顶点?)有人知道一个算法工作流程来获得一个多边形的中心线或一个水滴对象的中心线(二值图像)。(骨骼化?,使用内边中点对多边形进行三角剖分)

下面是一个演示:

enter image description here


Tags: 图像二进制多边形blob轮廓蓝色兴趣voronoi
1条回答
网友
1楼 · 发布于 2024-05-29 05:08:21

我找到了更好的解决方案:

  • skeltonize二进制blob
  • 通过跟踪像素线和分支点来构建骨架的graph(无循环)
  • 获取从每个结束节点到所有其他结束节点的所有最短路径,并采用最长的路径(大约是blob的起点和终点)
  • 从一个端点节点(阶数=1)到另一个端点节点的结果路径是蜗杆中线的近似值。在

如果有人对这个解决方案感兴趣,我可以分享一个python笔记本。 最终结果:绿色=最终中线图,深绿色=最终中线

骨架图

源代码
这个问题的代码可以在这里找到:https://github.com/gabyx/WormAnalysis(如果你用它,请用星号标出)

相关问题 更多 >

    热门问题