如何找到包含一组点/多边形的最大面积矩形?

时间:2019-08-21 07:59:21

标签: python opencv geometry

我在OpenCV / Python中工作,因此想到了这个问题。我已经使用cv2.minAreaRect()来获取围绕一组点的边界框。还有其他函数/通用算法可以给我一个多边形(点集)内最大的矩形吗?我有一组多边形点,该函数应该能够返回包含输入点的最大矩形的4个点。

这里是类似问题的一个例子

谢谢。我们非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我可以为您提供一些条件,这些条件可以使您获得理想的结果,但目前无法为您提供代码,因为这对我来说很费时间。因此您必须同时编写自己的代码。 这是要遵循的条件。

对满足以下条件的所有四组坐标过滤多边形的所有坐标:[(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. 最大列表中的最大面积。