找到 2 个平行轮廓的中点

Finding the middle point of 2 parallel contours

本文关键字:轮廓 找到      更新时间:2023-10-16
无法

通过搜索找到这个,但我不确定如何描述这一点,这就是问题很难找到正确方法的原因之一。抱歉,如果已经问过或者问题描述含糊不清。

问题:我正在使用opencv的findcontours从图像中检测弯曲的,绘制的具有一致宽度的物理路径的轮廓。我需要沿路径长度映射这 2 条边中间的点向量,以便使用单个向量跟踪绘制的路径。

我想知道是否有办法在图像空间中以一定的像素距离,在各种其他轮廓中找到点。我可以遍历它们,并以这种方式找到最接近的,但这需要大量时间。如果有的话,我可以在其他等高线向量中搜索宽度合适的点,并使用 2 个点来估计一个中点并将其添加到不断增长的中间向量中。

或者,如果有更好的方法可以将检测到的路径转换为单个可行的向量。

听起来你正在寻找"骨架" - 如果你知道这些术语,它会有所帮助。

如果可以将图像转换为仍然显示路径的黑白图像,那就很简单了:迭代侵蚀过程,直到不再有点被侵蚀。

另一种方法是意识到操作一次成本很高,但是一旦您找到了一对点,下一对点就很容易在各自的 3x3 邻域中找到。