我正在进行一个项目,使用Python 3上的OpenCV,在实时摄像头中检测形状和一些属性。其中一个形状是矩形,所以我使用旋转矩形(或最小面积矩形)来提取有用的信息:
#Rotating Rectangle
rect = cv2.minAreaRect(approx)
box = cv2.boxPoints(rect)
box = np.int0(box)
该函数能够自动检测矩形的四个角,并按照它们的坐标进行排序。例如,当矩形被旋转时,角的顺序也会改变,如下面的gif所示: 有没有一种方法可以使角的顺序在旋转时不改变?矩形的宽度和高度取决于角的顺序,因此稍微倾斜一下角度就可以使高度变为宽度,反之亦然。