通过我的实验,RotatedRect的角度变量返回的角度范围是-90度到0度,这不足以确定物体是否向左或向右倾斜。
例如,如果角度为-45度,则我们无法判断是需要将其旋转+45度还是-45度来校正它。
下面是我使用的代码片段:
RotatedRect rotated_rect = minAreaRect(contour);
float blob_angle_deg = rotated_rect.angle;
Mat mapMatrix = getRotationMatrix2D(center, blob_angle_deg, 1.0);
将物体向一个方向倾斜,我会得到0度到-90度的角度;而将物体倾斜到另一个方向,则会得到-90度到0度的角度。
如何确定应该旋转图像的角度来矫正它呢?