OpenCV 矩陣的建立與釋放

2021-07-10 11:29:14 字數 1552 閱讀 3457

矩陣有多種建立方法。最常見的方法是用cvcreatemat( ),它由多個原函式組成,如cvcreatematheader( )和cvcreatedata( )。cvcreatematheader( )函式建立cvmat結構,不為資料分配記憶體,而cvcreatedata( )函式只負責資料的記憶體分配。第三中方法是用函式cvclonemat(cvmat*),它依據乙個現有的矩陣建立乙個新的矩陣。但這個矩陣不再需要時,可以呼叫函式cvreleasemat(cvmat*)釋放它。

1.建立矩陣

cvmat* cvcreatemat(

int rows, //行數

int cols, //列數

int type //矩陣元素型別

);

type其結構為:cv_(s|u|f)c,例如:cv_32fc1為32位浮點型單精度矩陣。

例程:

cvmat* mat=cvcreatemat(

4,4,

cv_32fc1

);

2.建立乙個矩陣,不分配空間

cvmat* cvcreatematheader(

int rows,

int cols,

int type

);

3.用乙個現有的矩陣初始化矩陣

cvmat*cvinitmatheader(

cvmat* mat,

int rows,

int cols,

int type,

void* data=null,

int step=cv_autostep

);

4.初始化矩陣結構,不分配空間

cvmat cvmat(

int rows,

int cols,

int type,

void* data=null

);

5.複製矩陣

cvmat* cvclonemat(

const cvmat* mat

);

例程:

cvmat* mat1=cvcreatemat(

4,4,

cv_32fc1

);

6.釋放矩陣 

void cvreleasemat(cvmat** mat);
例程:

cvmat* mat=cvcreatemat(

4,4,

cv_32fc1

);cvreleasemat(&mat);

openCV中的矩陣建立和釋放

分類 opencv 學習 2012 02 19 16 05 1862人閱讀收藏 舉報 null floatc 學習opencv中對於其矩陣總是搞混,現在通過學習,算是有一點理解,同大家分享一下 一矩陣的建立 1 cvmat cvcreatemat int rows,int cols,int type...

連線的建立與釋放

連線的建立分為兩端,乙個是客戶端,乙個是服務端。建立連線一般是有客戶端主動發起的,而關閉連線也是一般由客戶端發起,但是服務端也可以主動關閉長時間沒有通訊的連線以釋放伺服器的資源。詳細的資訊見部落格 tcp連線建立與釋放 如果使用者手動管理連線並且在建立連線以後沒有主動釋放連線,會導致每次都會建立新的...

tcp的建立與釋放

如下圖設定ip位址 切換simulattion模式,在pc0的desktop介面點開web browser在url中輸入伺服器的ip位址 因為http服務基於tcp的,所以傳送請求的時候會先建立tcp連線 從下圖客戶端傳送的tpc連線報文可以看出http服務使用tcp埠號 dest port 為80...