[OpenCV3程式設計入門讀書筆記]常用資料結構和函式(3)
阿新 • • 發佈:2018-12-04
點的表示: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部分