在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...