Android Opencv计算矩形内旋转图像的大小

时间:2014-06-18 04:56:27

标签: android opencv math

我想计算旋转的图像大小,图像在矩形内。我有旋转图像的矩形宽度,高度和角度。任何人告诉我 如何计算旋转图像大小?enter image description here

1 个答案:

答案 0 :(得分:0)

所以你有宽度,高度和角度意味着你已经有RotatedRect

现在使用方法

Rect RotatedRect::boundingRect();

您可以轻松计算旋转矩形的边界框。

有关详细信息,请参阅RotatedRect

修改

根据你的评论,下面是如何找到旋转矩形的宽度和高度的方法。

所以你知道矩形的四个角,让我们说(x1,y1),(x2,y2),(x3,y3),(x4,y4),现在你需要找到旋转后的变换点。给定角度,让它为(xT1,yT1),(xT2,yT2)等......

,其中

xT = x0+(x-x0)*cos(theta)+(y-y0)*sin(theta)
yT = y0-(x-x0)*sin(theta)+(y-y0)*cos(theta)

此处(x0,y0)是您旋转的中心。和theta = angle * CV_PI / 180.0

使用上面计算四个变换点,最后通过找到变换点之间的距离来计算高度和宽度。