OpenCV中的基本資料結構

2021-09-25 17:11:40 字數 1284 閱讀 1997

最近在靜下心來梳理乙份視覺**,把當初直接用上但是卻沒仔細咀嚼的東西拿出來整理一下。其實靜下心來做些事情真的不容易,時常被各種雜事打斷,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...