【问题标题】:How to find the largest area rectangle inscribing a set of points/polygon?如何找到内接一组点/多边形的最大面积矩形?
【发布时间】:2019-08-21 07:59:21
【问题描述】:

我在 OpenCV/Python 中工作,我遇到了这个问题。我使用 cv2.minAreaRect() 来获取围绕一组点的边界框。是否有任何其他函数/通用算法可以为我提供多边形(点集)内内接的最大矩形?我有一组多边形的点,该函数应该能够返回内接输入点的最大矩形的 4 个点。

这是一个类似问题的例子

谢谢。非常感谢任何帮助。

【问题讨论】:

标签: python opencv geometry


【解决方案1】:

我可以为您提供可以引导您获得所需结果的一组条件,但目前无法为您提供代码,因为这对我来说非常耗时。所以你必须同时为自己编写代码。 以下是要遵循的条件。

过滤多边形的所有坐标以获得满足以下坐标条件的所有4组坐标:[(a,b),(c,d),(e,f),(g,h)]

1.(a-c)=(e-g) 因为对边应该相等

2.(b-f)=(d-h) 因为对边应该相等

3.(d-f)^2+(c-e)^ = (b-h)^2+(a-g)^2 因为对角线应该相等

 if these conditions are satisfied you will get all the set of four 
 coordinates which are rectangles.After that

4.通过检查是否有多边形过滤掉所有接收到的坐标 坐标落在矩形内,这很容易。

 now you are left with all the possible inbound rectangles, now all you have 
 to do is
  1. 列出所有可能的区域

  2. 列出最大面积。

【讨论】:

    猜你喜欢
    • 2013-06-25
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2015-05-13
    • 2011-06-30
    • 1970-01-01
    • 2019-07-24
    • 1970-01-01
    相关资源
    最近更新 更多