我在图像中有一个对象作为二进制掩码。该对象可以描述为凸集。我想找到 3 个点来定义一个 isosceles 三角形(两条相等的边),其最大面积完全包含在凸集内。我特别对“非暴力”方法感兴趣。三角形的三个顶点可以位于凸集内或凸集边上的任意位置。我已经看到一个关于一般三角形的类似问题的答案here。 我尝试过使用暴力方法。
这让我们很好地了解了需要多长时间以及输入的实际大小。您有足够的时间来设计形状周长为 O(n
2) 的算法,因为:
W x H 图像中凸形的周长最多可为 2WH 像素。将点 P1 设置在周边的任意位置,然后逆时针绕着形状走一圈。
) 时间,其中 n 是周边的像素。