gpt4 book ai didi

algorithm - 我怎样才能将这个不太直线的数据集拟合到直线网格

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:54:58 24 4
gpt4 key购买 nike

考虑这张图片:

enter image description here

我可以(已经!)编写代码来定位每个单独的睡莲(即那些不在原始图像中的红色方 block )

对于人类来说,那些单独的睡莲叶形成一个非常明显的 12 x 12 方形网格,让人类将这些睡莲分配到一个二维的睡莲阵列中是微不足道的,此时我可以做任意数量的和他们一起做更多有趣的事情。

但它们实际上并不在一个漂亮的网格中。它们不是直线的,甚至不是均匀偏移的。我怎样才能将垫子(或等效地,每个正方形的左上角)安装到直线网格上。 (或者找到现有算法执行此操作所需的关键字是什么)


用于识别来源的 90s-kid-points 奖励 ;)

最佳答案

您可以选择第一个方 block (其中任何一个),给它一个虚拟坐标 (0, 0) 并将这个方 block 添加到队列中。然后在每一步中,从队列中弹出一个正方形并尝试找到最佳的顶部/底部/左/右邻居。例如,当找到一个顶部邻居时,我们可以最小化等于 |current.top - x.bottom| 的函数。 + |current.left - x.left|。然后,如果这个最佳邻居方 block 不在队列中,则将其添加到具有新坐标 (current.x, current.y + 1) 的队列中,依此类推。如果你的最佳距离大得可疑——你就在边缘,你不需要添加邻居。

当队列为空时,您将获得所有具有相对(相对于所选第一个方 block )坐标的方 block ,并且可以将它们转换为您需要的网格坐标。

关于algorithm - 我怎样才能将这个不太直线的数据集拟合到直线网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48544747/

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