- 此次试验的目的是计算目标图像偏转的角度,在不改变图像尺寸下纠正
- 这里主要用到minAreaRect()函数和getRotationMatrix2D()函数
- 先简单的介绍下minAreaRect()函数,本人在这里踩了一些坑,在这里说明一下,如有不妥的地方,大家尽管指正。
函数为minAreaRect(InputArray points) ,InputArray points是所要求最小外接矩形的点集,这个点集不定个数。
这个矩形是可以有偏转角度的,可以与图像的边界不平行。
调用形式:RotatedRect minAreaRect(InputArray points)
- 角度计算规则:以左上角为原点,X轴逆时针旋转,所得到的第一个角度即为旋转角度,第一条边为最小外接矩形的宽。角度范围[-90,0],当最小外接矩形平行(或垂直)X轴时角度为-90。(跟目标图像的长宽没关系)
顺时针为正,逆时针为负
- 函数getRotationMatrix2D(Point2f center, double angle, double scale)
参数详解:
Point2f center:表示旋转的中心点
double angle:表示旋转的角度 //这里的角度顺时针为负,逆时针为正
double scale:图像缩放因子
- 踩坑的地方主要在角度分不清,我总结了一下: