Я пытаюсь обрезать контурное изображение с повернутым углом и использую следующий код,
_, cnts, _ = cv2.findContours(img, mode, method)
cnts = sorted(cnts, key = cv2.contourArea, reverse = True)[:maxCnts]
for c in cnts:
rect = cv2.minAreaRect(c)
box = cv2.boxPoints(rect)
box = np.int0(box)
cv2.drawContours(img_box, [box], 0, 255, 2)
print("findCnts: box:", box)
cv2.imshow("Min Area Rect", img_box)
cv2.waitKey(0)
Когда я проверил свой интересующий контур из «прямоугольника», я получил угол поворота -0,0, но из drawContours () я обнаружил, что прямоугольник минимальной области имеет явный перекос и из координат точки «прямоугольника» я Можно рассчитать угол перекоса около 10 градусов, это проблема автоматического поворота обрезанного изображения. Как рассчитать угол, кроме вычисления угла «прямоугольника», чтобы получить угол из minAreaRect () напрямую?