找到一个矩形的左上,右上,右下,左下 四点

找到一个矩形的左上,右上,右下,左下 四点

def FUN_order_points(pts):
# 一共4个坐标点
rect = np.zeros((4, 2), dtype = "float32")

# 按顺序找到对应坐标0123分别是 左上,右上,右下,左下
# 计算左上,右下
s = pts.sum(axis = 1) # 求 sum=x+y, 最小的是左上,最大的是右下
rect[0] = pts[np.argmin(s)]
rect[2] = pts[np.argmax(s)]

# 计算右上和左下
diff = np.diff(pts, axis = 1) # 求diff=y-x, 最小的是右上,最大的是左下
rect[1] = pts[np.argmin(diff)]
rect[3] = pts[np.argmax(diff)]

return rect

原文地址:https://www.cnblogs.com/carl2380/p/14744180.html