建立mat物件的幾種方法

2021-08-19 18:03:46 字數 1186 閱讀 6790

方法一:使用mat()建構函式,這種方法簡單明瞭,可以為影象開闢記憶體,指定初始值等

mat m(4,4,cv_8uc3,scalar(0,0,255));//建立三個通道的影象,並為其定義尺寸、及通道的初始值

方法二:通過建構函式進行初始化

int sz[3] = ;

mat l(3, sz, cv_8uc1, scalar::all(0));

此方法可以定義超過二位的矩陣;第乙個引數指定維數,第二引數傳遞乙個含有三個維度尺寸的陣列指標,後面的引數的使用和方法一類似

方法三:利用creat()函式

利用mat類中的create()成員函式進行mat類的初始化操作,**如下

mat m;

m.create(4, 4, cv_8uc2);

cout << m << endl;

要注意的是,此方法不能為矩陣設定初始值,只能改變尺寸重新為矩陣資料開闢記憶體

方法四:為已存在的物件建立新的資訊頭

使用成員函式clone()或者copyto為乙個一簇在的mat物件建立乙個新的資訊頭,**如下

mat c(3, 3, cv_8uc3, scalar(1,2,3));//方法一

mat rowclone = c.row(1).clone();

cout << "c= " << endl << c << endl;

cout << "rowclone= " << endl << rowclone << endl;

執行結果:

c=

[ 1, 2, 3, 1, 2, 3, 1, 2, 3;

1, 2, 3, 1, 2, 3, 1, 2, 3;

1, 2, 3, 1, 2, 3, 1, 2, 3]

rowclone=

[ 1, 2, 3, 1, 2, 3, 1, 2, 3]

使用函式clone() 、copyto()可一複製矩陣本身(不只是資訊頭和矩陣指標);

建立物件的幾種方法

建立自定義物件的最簡單方法就是建立乙個object的例項,再為他新增屬性和方法。1 var people new object 2 people.name yewenxiang 3 people.age 24 4 people.sayname function 還可以使用物件字面量語法建立乙個物件,...

Javascript建立物件的幾種方法

工廠模式 優點 接受引數,可以無數次的呼叫這個函式,建立person物件,而每次他都可以返回乙個包含三個屬性乙個方法的物件。缺點 雖然解決了建立多個相似物件的問題,但是沒有解決物件識別的問題 即怎麼知道乙個物件的型別 建構函式模式 js中可以建立自定義的建構函式,從而定義自定義物件屬性和方法。per...

Js建立物件的幾種方法

1.使用object建構函式建立物件 先建立空的object物件,在動態地新增屬性,方法,適用場景 剛開始不清楚物件內部資料。問題 語句多 var p newobject p p.name 丁七歲 2.適用物件字面量建立物件適用 建立物件,同時指定屬性,方法。適用場景 剛開始你清楚物件的內部資料。問...