Mat与IplImage之间的转化

来源:互联网 发布:mac openssl devel 编辑:程序博客网 时间:2024/05/21 07:04

1、plImage转Mat

//使用Mat的构造函数:Mat::Mat(const IplImage* img, bool copyData=false);    默认情况下copyData为falseIplImage* srcImg = cvLoadImage("Lena.jpg");//注意:以下三种效果一致,均为浅拷贝Mat M(srcImg);Mat M(srcImg, false);Mat M = srcImg;//注意:当将参数copyData设为true后,则为深拷贝(复制整个图像数据)Mat M(srcImg, true);

2、Mat转IplImage

//注意:浅拷贝 - 同样只是创建图像头,而没有复制数据Mat M;IplImage img = M;IplImage img = IplImage(M);//深拷贝cv::Mat img2;IplImage imgTmp = img2;IplImage *input = cvCloneImage(&imgTmp);
如果使用浅拷贝,在用cvReleaseImage释放内存时一定要注意,会造成Mat重复释放而出错
0 0
原创粉丝点击