您的位置:首页 > 其它

Mat与IplImage和CvMat之间的相互转换

2015-05-26 11:02 288 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: