gpt4 book ai didi

从二维点列表中检测曲线的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:56:12 25 4
gpt4 key购买 nike

我正在尝试从人体躯干模型照片生成的一组二维点中提取水平线:

overal view of torso point cloud

“大部分”点以或多或少规则的方式形成水平(ish)线,但可能有间隙/缺失点:

some missing points

线条可能会有些变形:

enter image description here

有背景噪声的区域:enter image description here

当然我需要调整一些东西,所以我排除了那些有缺陷的部分。我在这个问题中寻找的是一种建议的算法,用于找到行为良好的线,填充最终的间隙并避免最终的噪声,并在某些不连续条件下正确终止线。

我相信可能会有一些优化或投票的“洪水填充”变体,可以对候选行进行评分并只产生格式正确的行,但我对此没有经验,自己也想不通。

这个数据集是in a gist here , 重要的是要注意 X 坐标是整数,所以点是垂直对齐的。 Y 坐标虽然是十进制数。

最佳答案

我会首先找到每个点的最近邻居,然后是另一边的第二个最近邻居(我的意思是只考虑与第一个邻居相对的半平面中的点)。

如果到第二个邻居的距离超过到第一个邻居距离的两倍,则忽略它。

只要这样做,我敢打赌您将重建大量曲线,并留下未填充的间隙。

通过估计沿曲线的局部曲率(f.i. 通过计算三个点的外接圆,每隔一个点取一个点,您可以丢弃噪声部分。

然后为了填补空白,您可以检测曲线端点并在外推方向周围的角度中寻找最近的端点。

处理的第一步:

enter image description here

关于从二维点列表中检测曲线的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44120596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com