java中线,使用Voronoi图查找多边形的中线

我正在使用基于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)图表并不总是扩展根的全长:

c42137c2-2629-4251-9731-4ff0855578b5.png

2)图表有时会“过早地”连接到根部轮廓上可能看起来是最长路径的点,但显然不符合我称之为“中线”的点 . 这种情况适用于各种多边形形状:

b3773abb-9c45-4ec7-9590-1f495a2997e2.png

b49cae2c-b7fa-40f5-bdd6-5f0a7c0c5a7b.png

f9dedc3c-6d0d-4d4a-9c79-f888867cad76.png

最后一个案例是一个人工面具 - 我的实际根本没有完全扁平的提示 - 但我认为它很好地代表了问题 .

对Voronoi图有更精确理解的人是否有任何关于如何解决这些问题的提示,同时仍然保留这种一般方法 .

谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值