2014-06-18 55 views
0

我想計算旋轉圖像大小,圖像在矩形內。我有矩形的寬度,高度和旋轉圖像的角度。任何一個告訴我 如何計算旋轉的圖像大小? enter image description hereAndroid Opencv計算矩形內旋轉圖像的大小

+0

澄清,你有h,w和theta(如圖所示)的藍色矩形。你想計算藍色矩形的面積?我必須錯過一些東西,因爲它本身不是問題:P –

+0

@PervezAlam我有外部矩形寬度,高度,現在我想要內部旋轉的圖像大小。 –

+0

h x sin(θ)+ w x cos(θ)= bh; (x)cos(θ)+ w x sin(θ)= bw; 您可以解出上述兩個方程中的2個變量h,w,就像你說的θ是已知的那樣。 –

回答

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

使用上面的計算四個變換點,最後通過查找變換點之間的距離來計算高度和寬度。

+0

我有外部矩形的寬度,高度,現在我想要內部旋轉的圖像大小。 –

+0

好的,我誤解了你的問題,我認爲所有的數據都是旋轉矩形,你需要找到邊界矩形。 – Haris

+0

我編輯了我的答案.... – Haris