Mat與IplImage 型別間的轉換

2021-07-05 03:30:01 字數 671 閱讀 3420

在opencv2.x以上的處理中,大部分處理都是以mat為主,而對於習慣了1.x的我來說,有時候會帶來不便,希望能採用1.x的形式來處理。

經過試驗,介紹兩種簡單的mat與iplimage*型別間的轉換:

示例**是需要mat轉換為img:

一、mat mat,mat1; // mat1是臨時變數

iplimage * img;

mat1=mat.clone();// 包括資料的深度複製,以防對mat資料的更改

img=cvcreateimage(cvsize(mat.cols,mat.rows),8,3); //根據實際進行初始化

img.imagedata=(char*)mat1.data;

如此,img就擁有了與mat一樣的資料,在需要iplimage*型別的資料時,使用img

二、 iplimage *frame;

mat frmimg;

frame=&iplimage(frmimg);

IplImage 型別與Mat 型別資料訪問方法

iplimage 型別可以用巨集定義 cv image elem image,elemtype,row,col 進行內部資料訪問。mat 型別可以用mat at cvpoint col,row 進行資料訪問。對於多通道影象,以3通道影象為例 iplimage 型別 cv image elem ima...

Mat與IplImage互相轉換

mat 是opencv 和c 的介面矩陣類,imlimage 是opencv和c 語言的介面的結構體。下面介紹的mat和iplimage相互轉換方法 1 iplimage mat 淺拷貝 深拷貝 先進行資料頭的複製 淺拷貝 再在mat裡建立乙個新的mat物件,然後進行資料的複製。iplimage p...

Mat轉換成IplImage型別

mat 類有乙個iplimage 運算子成員函式 class cv export mat 利用該成員函式可以實現mat類向iplimage類的轉換,呼叫方法如下 include include include using namespace cv using namespace std int ma...