最小外接矩形思路以及實現

2021-09-12 18:14:22 字數 1457 閱讀 8867

對乙個凸多邊形進行外接矩形計算,需要知道當前面的最大xy 和最小xy值,即可獲得外接矩形

對凸多邊形的每一條邊都繪製乙個外接矩形求最小面積。下圖展示了計算流程

旋轉基礎演算法實現

/**

* 旋轉點

** @param point 被旋轉的點

* @param center 旋轉中心

* @param angle 角度

* @return 旋轉後坐標

*/public static coordinate get(coordinate point, coordinate center, double angle)

凸包演算法實現

geometry hull = (new convexhull(geom)).getconvexhull();
獲得結果

public static polygon get(geometry geom, geometryfactory gf) 

polygon convexhull = (polygon) hull;

system.out.println(convexhull);

// 直接使用中心值

coordinate c = geom.getcentroid().getcoordinate();

system.out.println("**********====旋轉基點**********====");

system.out.println(new geometryfactory().createpoint(c));

system.out.println("**********====旋轉基點**********====");

coordinate coords = convexhull.getexteriorring().getcoordinates();

double minarea = double.max_value;

double minangle = 0;

polygon ssr = null;

coordinate ci = coords[0];

coordinate cii;

for (int i = 0; i < coords.length - 1; i++)

ci = cii;

}return rotation.get(ssr, c, minangle, gf);

}

測試類

@test

public void test() throws exception

本文**及視覺化**均放在 gitee 碼雲上 歡迎star & fork

最小外接矩形思路以及實現

對乙個凸多邊形進行外接矩形計算,需要知道當前面的最大xy 和最小xy值,即可獲得外接矩形 對凸多邊形的每一條邊都繪製乙個外接矩形求最小面積。下圖展示了計算流程 旋轉基礎演算法實現 旋轉點 param point 被旋轉的點 param center 旋轉中心 param angle 角度 retur...

最小外接矩形 MBR

最小外接矩形 mbr 可分為 1 最小面積外接矩形 minimum area bounding rectangle,簡稱 mabr 和 2 最小周長外接矩形 minimum perimter bounding rectangle,簡稱mpbr 通常情況下mabr與mpbr差異不大。影象中物體的外接矩...

opencv python 最小外接矩形

opencv python 最小外接矩形 程式設計小白,如有問題還請各位大佬多指教 cv2.threshold 閾值處理 cv2.findcontours 輪廓檢測 cv2.boundingrect 最大外接矩陣 cv2.rectangle 畫出矩形 cv2.minarearect 找到最小外接矩形...