1. 程式人生 > >[OpenCV3程式設計入門讀書筆記]常用資料結構和函式(3)

[OpenCV3程式設計入門讀書筆記]常用資料結構和函式(3)

點的表示:Point類

//第一種表示方式
Point point;
point.x = 10;
point.y = 8;

//第二種表示方式
Point point = Point(10,8);

顏色的表示:Scalar類

特別注意OopenCV裡面不是RGB,是BGR,所以下面的a是藍色分量,b是綠色分量,c是紅色分量。

Scalar(a,b,c);

尺寸的表示:Size類

Size(5,5);

矩陣的表示:Rect類

Rect類的成員變數有x,y,width,height,分別為左上角的座標的矩形的寬度和高度。

常用的成員函式有:

//如果建立一個Rect物件rect(100, 50, 50, 100),那麼rect會有以下幾個功能:

rect.area();     //返回rect的面積 5000

rect.size();     //返回rect的尺寸 [50 × 100]

rect.tl();       //返回rect的左上頂點的座標 [100, 50]

rect.br();       //返回rect的右下頂點的座標 [150, 150]

rect.width();    //返回rect的寬度 50

rect.height();   //返回rect的高度 100

rect.contains(Point(x, y));  //返回布林變數,判斷rect是否包含Point(x, y)點

rect.inside(Rect());   //判斷矩陣是否包含矩形

如果想求兩個矩形的交集和並集:

Rect rect = rect1 & rect2;
Rect rect = rect1 | rect2;

平移操作:

rect = rect + Point(-100, 100);	//平移,也就是左上頂點的x座標-100,y座標+100

縮放操作:

rect = rect + Size(-100, 100);	//縮放,左上頂點不變,寬度-100,高度+100

矩形比較:

//對矩形進行對比,返回布林變數
rect1 == rect2;
rect1 != rect2;

顏色空間轉換函式:cvtColor()函式

void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0)

第一個引數是輸入影象,第二個引數是輸出影象,第三個引數是顏色空間轉換的識別符號,dstCn是目標影象的通道數,該引數為0時,目標影象根據源影象的通道數和具體操作自動決定

  • OpenCV2的CV_字首巨集命名規範被OpenCV3中的COLOR_式的巨集命名字首取代
  • 注意RGB色彩空間預設通道順序為BGR
  • 具體可以參考: enum cv::ColorConversionCodes部分