OpenCV基本結構(Point、Size、Rect等)

来源:互联网 发布:心脏 知乎 编辑:程序博客网 时间:2024/06/06 09:26

OpenCV有定義一些基本結構,像Point、Point2f、Size、Size2f、Rect、RotatedRect、Scalar等,方便我們進行影像處理,這些結構通常都當參數輸入,或是函式內部計算之用。

Point:2維整數點類別,通常用於影像的座標點,成員有x和y,要是輸入浮點數的話,則四捨五入取整數,以下為建構式和最基本的兩種賦值方法:

Point(int x, int y) //建構式Point pt1(20,30);Point pt2;pt2.x = 20;pt2.y = 30;

Point2f:2維浮點數點類別,通常用於幾何計算,用法和Point雷同,只是x和y是浮點數。

Point3i、Point3f、Point3d代表3維點x、y、z,而成員型態分別為int、float、double。


Size:尺寸類別,成員有width和height,分別表示寬和長(int型態),可用area()函式得到面積,以下為建構式最基本兩種賦值方法:

Size(int width, int height) //建構式Size size1(150, 100);Size size2;size2.width = 150;size2.height = 100;int myArea = size2.area();

Size2f:尺寸類別,和Size用法雷同,只是width和height為float型態。


Rect:矩形類別,成員有x、y、width、height,分別表示左上角頂點的x座標,左上角頂點的y座標,矩形寬、矩形高,可用area()函式得到面積,以下為建構式和最基本的兩種賦值方法:

Rect(int x, int y, int width, int height) //建構式Rect rect1(20,30,150,100);Rect rect2;rect2.x = 20;rect2.y = 30;rect2.width = 150;rect2.height = 100;int myRectArea = rect2.area();

RotatedRect:斜矩形類別,成員有矩形的質心center(Point2f類別),四周長size(Size2f類別)、旋轉角度angle(float類別),可用points()函式得到四個頂點,以下為建構式和最基本的兩種賦值方法:

RotatedRect(const Point2f &center, const Size2f &size, float angle) //建構式RotatedRect rRect1(Point2f(150,150), Size2f(100,50), 30.0);RotatedRect rRect2; rRect2.center = Point2f(150,150);rRect2.size = Size2f(100,50);rRect2.angle = 30.0;Point2f vertices[4];rRect2.points(vertices);

Scalar:代表4元素的向量,一般用於像素顏色,以下設定給灰階圖和彩色圖像素的方式:

  • Scalar(a, b, c):省略透明通道,由於OpenCV的彩色影像通常為BGR的順序,a代表藍色、b代表綠色、c代表紅色。
  • Scalar(a):通常用於灰階圖,像素強度為a。
 

转自:http://monkeycoding.com/?p=521


0 0
原创粉丝点击