point類資料結構表示二位座標系的點,由x,y指定的2d點。
//eg
point p;
p.x=20,p.y=30;
rect類表示矩形,成員有x,y,width,height,常用的成員函式:
size()
返回值size表示大小
area()
返回矩形面積
contains(point)
判斷點是否在矩形內
inside(rect)
判斷矩形是否在該矩形內
tl
返回左上座標
br
返回右下座標
//求兩個矩形的交集並集
rect rect = rect1 & rect2;
rect rect = rect1 | rect2;
size類表示區域大小,常用建構函式size(int _width, int _height);
scalar()表示有4個元素的陣列,大量用來傳遞畫素值,如rgb顏色。一般形式為scalar(double b,double g,double r,double alpha)
.alpha表示透明度。scalar(255,0,0)表示藍。
基礎圖象容器mat。mat類由兩個資料部分組成,矩陣頭(大小,通道,資料型別等)和資料塊(畫素值)。
mat頭部屬性比如rows,cols,channels,data。data為指向資料塊的指標。
//mat類建立
mat img;//建立無初始化矩陣
mat img1(20,10,cv_8uc1);//建立20行10列(10*20)型別為8位的單通道矩陣。
mat img2(size(20,10),cv_8uc3);//建立大小為20*10型別為8位的3通道矩陣。
mat img3(20,10,cv_8uc1,scalar(0,255,0));//建立大小為10*20的8位單通道矩陣。
mat img4(20,10,cv_8uc1,scalar(255));//建立大小為10*20的8位單通道矩陣。
mat img5(img4);//將img4賦值給img5,共享資料物件。img4改變img5也會改變。
//mat類賦值拷貝
mat img(20,10,cv_8uc1,scalar(0,255,0));
//img3和img2跟原影象指向同一資料塊。
mat img2(img);
mat img3 = img;
//img4和img5是原圖的副本。
mat img4 = img.clone();
mat img5;
img.copyto(img5);
rgb顏色空間、hsv/hls顏色空間、lab顏色空間。
hsv主要做顏色檢測,避免亮度干擾。h色表[0,360],s飽和度[0,1],v亮度[0,1]。
lab主要做亮度檢測,l亮度[0,100],a、b都表示顏色[127,-128]。
轉換函式cvtcolor(src, dst, code)
.
opencv2:cv_bgr2gray
、cv_brg2hsv
、cv_bgr2lab
opencv3:color_bgr2gray
、color_brg2hsv
、color_bgr2lab
顏色空間及顏色空間轉換
1.1 顏色空間介紹 rgb 顏色空間是大家最熟悉的顏色空間,即三基色空間,任何一種顏色都可以由該三種 顏色混合而成。然而一般對顏色空間的影象進行有效處理都是在 hsv 空間進行的,hsv 色 調 hue,飽和度 saturation,亮度 value 是根據顏色的直觀特性建立的一種顏色空間,也稱六...
OpenCV Mat類矩陣元素訪問
補充一篇最近使用opencv的學習,關於處理和人臉檢測的函式呼叫。上次部落格中寫了使用最新版本2.4.3中,haar detection執行正常,但是無法找到任何人臉。最近使用了新的c 類的函式呼叫,不再用cvrelease.但是仍舊只有lbp detection工作正常,所以使用了lbp。相信大多...
顏色空間轉換
話不多說,說明anything include include using namespace std using namespace cv int main int argc,char argv printf n 釋放相應的影象記憶體空間 cvreleaseimage src cvreleasei...