OpenCV RotatedRect angle is wrong

来源:互联网 发布:苹果手机制作软件 编辑:程序博客网 时间:2024/06/05 09:09

Improving on the answer of @Adam Goodwin i want to add my little code that changes the behaviour a little bit:

I wanted to have the angle between the longer side and vertical (to me it is the most natural way to think about rotated rectangles):

Behold my Paint skills

If you need the same, just use this code:

void printAngle(RotatedRect calculatedRect){    if(calculatedRect.size.width < calculatedRect.size.height){        printf("Angle along longer side: %7.2f\n", calculatedRect.angle+180);    }else{        printf("Angle along longer side: %7.2f\n", calculatedRect.angle+90);    }}

To see it in action just insert it in Adam Goodwins code:

printf("Angle given by minAreaRect: %7.2f\n", calculatedRect.angle);printAngle(calculatedRect);printf("---\n");
原文
0 0
原创粉丝点击