1、Mat轉換為IplImage和CvMat
Mat img(size(300,300,CV_8UC3);
……
IplImage iplimg=img; // 用指派操作進行類型轉換
遇到 void myiplimageFunction(&iplimg,……); //利用取位址作為參數。
同理
要轉化成CvMat類型
CvMat cvmatimg=img;
注意:類型轉化完成後,不能提前釋放img,否則iplimg和cvmatimg會失去資料。
2、IplImage 和CvMat格式轉換成Mat
Mat類有兩種構造函數,可以實作IPLImage和CvMat到Mat的轉換。這兩個函數都有一個參數copyData。如果copyData為false,
Mat将于IplImage或CvMat共同使用一個矩陣;如果為true,Mat會重新申請記憶體,将IplImage或者CvMat的資料複制到Mat資料區。
Mat::Mat(const CvMat* m,bool copyData=false)
Mat::Mat(const IplImage*img,bool copyData=false)
例
IplImage *iplimg=cvLodadImage("Lena,jpg");
Mat im(iplimg,true);