回答
將rotating calipers算法用於凸多邊形,否則使用凸包。你當然需要多邊形中點的座標,而不僅僅是點的數量。
顯然,您需要點的座標才能得到答案。如果矩形與X和Y aces對齊,那麼解決方案很簡單。如果你想要任何角度的最小矩形,那麼你需要做一些優化過程。
感謝mark for ur comment 是的,我需要任何角度的直腸。 你能不能詳細說明優化過程 – Samra 2009-08-19 06:18:14
有幾個人已經提到了旋轉卡尺算法。這基本上是如何完成的。您可以使用基本的最小/最大邊界框,但座標系會旋轉到每個邊的角度。 – 2009-08-21 05:25:22
這叫做Minimum Bounding Box,它是OCR包中使用的最基本的算法。您可以使用OpenCV包裝中的旋轉卡尺來查找實現。一旦你的源代碼,看看這個文件,
cv/src/cvrotcalipers.cpp
你需要的方法是cvMinAreaRect2()
。
我無法找到這個方法。 你能給我這個精確的 謝謝 – Samra 2009-08-19 07:45:26
它在這裏http://www.google.com/codesearch/p?hl=en&sa=N&cd=1&ct=rc#WMkTvnMDpLM/cv/src/cvrotcalipers.cpp&q=cvMinAreaRect2 – 2009-08-19 11:10:41
首先做一個grahm-scan並得到一組點的convex hull。然後,你可以使用像minimum rectangle discussed here
按照下面的算法
- 多邊形旋轉到XY平面
- 選1個邊緣和調整與X軸(使用反正切)這個邊緣。使用min/max x,y查找邊界矩形。計算區域並存儲在列表中
- 對剪切後的多邊形中的其餘邊執行相同操作。
- 選取最小面積的矩形。
- 旋轉邊界矩形回的步驟1和步驟2
用於更詳細地檢查鏈接Minimum-Area-Rectangle
- 1. 計算多邊形的面積
- 2. Android計算多邊形的面積
- 3. 計算多邊形的面積
- 4. 計算多邊形的最小圓環
- 5. 計算矩形的周長和麪積
- 6. 通過座標計算2D形狀的最小邊界矩形
- 7. Python:多邊形的面積
- 8. 計算平面上封閉多邊形的面積
- 9. C Plus Plus:計算矩形和三角形的面積
- 10. 最近的矩形/正方形給定面積大小
- 11. 在矩形內計算六邊形?
- 12. WPF多邊形的基本計算:面積和質心
- 13. 在for循環中計算R中多邊形的面積
- 14. 從非凸多邊形上的地理座標計算面積
- 15. R用於計算多邊形的面積和質心
- 16. 如何計算非凸多邊形的面積?
- 17. 計算正多邊形問題的面積
- 18. 如何計算地球上自相交多邊形的面積
- 19. 如何計算地圖上的多邊形面積?
- 20. 如何計算iOS中多邊形的物理面積?
- 21. 計算多邊形的長度和麪積
- 22. 計算複雜(自相交)多邊形的面積
- 23. 使用Python計算緯度/經度多邊形的面積
- 24. 最小矩形表面 - 算法
- 25. 在Java中繪製多邊形並計算面積
- 26. 計算平面和矩形棱鏡之間的交點面積
- 27. 面積的多邊形的WinRT XAML C#
- 28. 計算相鄰矩形的邊界
- 29. 計算在graphics.py中繪製的矩形的面積和周長
- 30. 計算給定面積和周長的矩形的寬度
只有數量的點共面反轉?還是你有協調? – Naveen 2009-08-19 05:59:49
它是一個常規的形狀? – nickf 2009-08-19 05:59:57
多邊形是否處於任意方向或矩形必須與座標系正交? – 2009-08-19 06:03:29