opencv建立Mat物件

2021-09-14 05:04:28 字數 1116 閱讀 1177

在opencv中引入了mat類。

mat類是乙個非常優秀的影象類,它同時也是乙個通用的矩陣類,可以用來建立和操作多維矩陣。mat類裡面定義了許多建構函式,可以很方便地根據要求建立mat物件。

常使用的建構函式有:

1:mat::mat()無引數建構函式;

2:mat::mat(int rows, int cols, int type)

3:  mat::mat(int size, int type)

4: mat::mat(int rows, int cols, int type, const scalar&s)//建立行數為rows,列數為cols,型別為type的影象,並將元素初始化位置s;

5: mat::mat(size size, int type, const scalar & s)//建立大小size, 型別為tyoe的影象,並將所有的元素初始化為值s;

6: mat::mat(const mat&m)//將m賦值給新建立的物件,此處不會對影象資料進行複製,m和新物件共用影象資料;

7: mat::mat(int rows, int cols, int type, void*date, size_t = auto_step)//建立行數為 rows,列數為 col,型別為 type 的影象,此建構函式不建立

影象資料所需記憶體,而是直接使用 data 所指記憶體,影象的行步長由 step指定。

8: mat::mat(size size, int type, void *date, size_t step = auto_step)//建立大小為 size,型別為 type 的影象,此建構函式不建立影象資料所記憶體,而是直接使用 data 所指記憶體,影象的行步長由 step 指定;

9: mat::mat(const mat&m, const range & rowrange, const range & colrange)//建立的新影象為 m 的一部分,具體的範圍由 rowrange 和 colrange 指定,此建構函式也不進行影象資料的複製操作,新影象與 m 共用影象資料;

10: mat::mat(const mat & m, const rect & roi)//建立的新影象為 m 的一部分,具體的範圍 roi 指定,此建構函式也不進行影象資料的複製操作,新影象與 m 共用影象資料;

建立Mat物件

mat畫素點的儲存方法 mat的資料型別 cv 8u 8bit unsigned integers 0 255 8 bit unsigned integer uchar cv 8s 8bit signed integers 128 127 8 bit signed integer schar cv ...

學習OPENCV3 1 0 3 Mat物件

1.mat物件建構函式 mat src mat dst dst mat src.size src.type 畫素100 100的單通道,gray 127顏色 mat m 100 100 cv 8uc1,scalar 127 畫素100 100的三通道,rgb為0,0,255的顏色 事實證明,open...

Opencv顯示建立Mat物件的七種方式

方式一 方式二 建立三維的矩陣 建立乙個超過二維的矩陣 include includeusing namespace std using namespace cv int main 3維的 為2 2 2的 元素全部為0 mat array2 3,sz,cv 8uc1,scalar 0 因為是三維的,...