最近在靜下心來梳理乙份視覺**,把當初直接用上但是卻沒仔細咀嚼的東西拿出來整理一下。其實靜下心來做些事情真的不容易,時常被各種雜事打斷,anyway,想辦法保持短時間專注還是必要的。
point資料結構表示二維影象中的點,由影象座標x和y組成。用法:
point mypoint;
mypoint.x = 100;
mypoint.y = 50;
或者point mypoint(100, 50);
scalar()表示4個元素的陣列,在opencv中用來表示顏色值,注意,opencv儲存rgb模式採圖的通道順序是b、g、r。
根據需要,4個引數不一定都要填入,例如,表示單通道畫素時,可以使用scalar(255)等;表示rgb三通道影象畫素時,可傳入bgr的值: scalar(255,200,150)。
常用的size(w,h)表示影象區域的寬和高。
rect用來表示乙個矩形,成員有x、y、width、height,分別表示矩形左上角的xy座標和寬高。
成員函式及其用法:
rect myrect(0,0,200,100);
myrect.area() //矩形的面積, 200x100 = 20000
myrect.size() //矩形的尺寸, 200x100
myrect.tl() //左上角畫素座標0,0
myrect.br() //右下角畫素座標200,100
rect rect1, rect2, rect3;
rect3 = rect1 & rect2; //求兩個矩形的交集
rect3 = rect1 | rect2; //求兩個矩形的並集
rect2 = rect1 + point(100, 40); //平移操作,左上角定點座標變為(x+100,y+40)
rect2 = rect1 + size(-50, 100); //縮放操作,左上角頂點位置不變,寬度-50,高度+100
顏色空間轉換函式,可實現rgb與灰度圖、hsv、hsi等顏色空間的轉換。
void cvtcolor(inputarray src, outputarray dst, int code, int dstcn=0);
src為輸入影象,dst為輸出影象,code為顏色空間轉換識別符號,dstcn為目標影象的通道數,預設為0,表示目標影象與原影象通道數相同。例如,將源影象由bgr轉換為hsv:
cvtcolor(srcimg, dstimg, cv_bgr2hsv); //不同版本的code有可能不用,在opencv3中,該code為color_bgr2hsv
opencv基本資料結構
iplimage 首先介紹重要的成員變數 width和height表示了的尺寸。其次是depth和nchannels,depth是指畫素顏色的取值範圍,nchnannels為影象的通道,可以取1,2,3,4 origin變數定義了影象的原點,有兩個取值,分別是ipl origin bl和ipl or...
opencv的基本資料結構
vec scalar point size rect rotatedrectvec類 1.1 基本概念 vec是乙個模板類,主要用於儲存數值向量。1.2 用法 1 可用它來定義任意型別的向量 vecmyvector 定義乙個存放8個double型變數的向量 2 使用 訪問vec向量成員 myvect...
opencv 基本資料結構的資料儲存
在opencv的專案中遇到需要儲存中間資料的時候,可以用到filestorage類對資料進行讀寫。filestorage類會將資料以xml的形式儲存在檔案中,方便下次載入使用。在我的專案中,需要對特徵點和特徵點描述符進行儲存,使用它十分方便。下面是它的使用方法mat mat mat eye size...