以前使用OpenCV操作图像都是使用IplImage,现在好像多数都使用的Mat
参考1:
http://blog.csdn.net/augusdi/article/details/8876459 OpenCv学习笔记(二)—cv::Mat学习
了解到IplImage是OpenCV1.0中使用的数据类型,Mat是OpenCV2.0中使用的数据类型
前者是C语言实现,完全的继承C特性(也包含内存泄露问题),后者是C++实现,可以让使用者更专注算法。
OpenCV提供两者之前的简单转换方法
参考2:
http://blog.csdn.net/fm0517/article/details/7479090 IplImage和Mat间的相互转换
转换方法:
IplImage * pImg = cvLoadImage("lena.jpg");
cv::Mat img(pImg,0);//0表示不复制图像,Mat和IplImage操作同一个存储对像
IplImage qImg;
qImg = IplImage(img);//同样不复制,qImage.imageData就是指向pImage->imageData
现在OpenCV2.0,和3.0都是以Mat为主。
如此,可以放心大胆的拥抱cv::Mat了。