[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部分

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章