OpenCV 旋轉矩形(RotatedRect)

2021-09-24 15:06:45 字數 1426 閱讀 3055

rotatedrect類是opencv的基礎類,用於建立旋轉矩形,下面是它的建構函式,包含旋轉中心點、尺寸大小和旋轉角度。

建構函式1: 

rotatedrect(const point2f& center, const size2f& size, float angle);
center

旋轉矩形的質心

size

旋轉矩形的寬度和高度

angle

順時針方向的旋轉角度。當角度為0°,90°,180°,270°等時,矩形變為右上方的矩形

建構函式2: 

rotatedrect(const point2f& point1, const point2f& point2, const point2f& point3);
通過這個建構函式也可以建立旋轉矩形,只需要給出三個點,但是要指定三個點的順序。

示例**: 

#include #include //巨集定義

#define open

int main()

{ cv::mat srcimage=cv::mat(480,640,cv_8uc3,cv::scalar(150,150,150));

#ifdef close

cv::rotatedrect box(cv::point(320, 240), cv::size(200, 200), 30);

cv::point2f vertex[4];

box.points(vertex);

#endif // close

#ifdef open

//隨機數

cv::rng& rng = cv::therng();

int count = rng.uniform(3,103);

std::vectorpoints;

for (int i=0;i示例**中用了條件編譯,定義open就是獲取所有點的最小包圍矩形,然後由最小包圍矩形獲取它的屬性質心點、大小和角度;定義close就是直接使用質心點、大小和角度建立乙個旋轉矩形。

顯示結果: 

opencv 旋轉矩形

構建乙個mat 200 200 mat image 200 200 cv 8uc3,scalar 0 設定乙個旋轉矩形3個引數分別為 質心 矩形中心 矩形長寬100 50 旋轉角度 30 clockwise rotatedrect 函式返回乙個旋轉矩形物件 rotatedrect rrect rot...

OpenCV輪廓篇 旋轉矩形矯正

之前一直這裡很迷,現在做乙個整理測試,下圖搬運。先看一下rotatedrect屬性定義 class cv exports rotatedrect 其中opencv奇葩的角度定義如下 其實觀點點就是我們定義的長和寬和opencv定義的輪廓長寬是不一樣的,所以需要轉化我認知的長於寬,傾斜角度也進行轉化。...

推到 旋轉矩陣公式 旋轉矩陣公式推導

1.在二維平面中 如下圖所示,在xoyxoy平面中有一向量op x,y top x,y t,旋轉 角後變為向量op x y top x y t。據圖可得 x op cos y op sin x op cos y op sin 經旋轉 角後有 x op cos op cos cos sin sin x...