點的表示: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部分