我有一组2D点,我想找到潜在的最大空圆圈。这样,我并不是要编写最大的空圆算法。
这是一张试图解释我的话的图片。
正如你所看到的那样,那个圆圈里面有一些点,所以我想要的是一个给出那组2D点的算法,可以计算出那个圆圈。
这组点代表一个包含洞的下水道的墙壁。问题是这个洞可能被塞住,可能在圆圈的一侧或多侧含有一些污垢。因此,当您激光检测到该部分时,您不会获得完美的圆形,而是一种半圆形。我想要找到的是原始洞,清洁洞,没有污垢。当我说潜力时,我的意思是原来的洞。在图像中,绿色圆圈是原始孔,圆圈内的点是某种污垢。这样做的最终目的是确定孔是干净还是脏(检测绿色圆圈内有多少点并确定它有多脏)
它应该如何在现实生活中的另一个例子:
在这里您可以看到孔底部有污垢(可能是孔的任何一侧),因此当您激光检测到它时,您不会获得圆圈,而是上半部分的一堆点圆圈为空。我想要的是从那组点,你只能看到圆圈的上半部分,重建原始洞,就像清洁时一样。
另外,我从两个不同的角度附上了两个点云的图像,这样你就可以知道我在做什么了。
答案 0 :(得分:1)
我会找到一个洞的边界,然后检查两侧。找到一个非线性但弯曲的,并将其设置为圆边框。然后只适合那边的圆圈。有关详细信息,请参阅:
答案 1 :(得分:1)
如果您可以缩放坐标以将该点绘制到图像中,这是一个解决方案: