IplImage是OpenCV1里面用于存储图像的数据结构,到了OpenCV2里面,这一结构被更方便易用的Mat类型取代。然而,在实际中,很多以前的OpenCV代码用的都是IplImage,因此进行Mat和IplImage的相互转换经常被用到,下面利用代码实现两者间的相互转换。
IplImage转Mat
IplImage* iplimg_ptr = cvLoadImage("lena.jpg");
Mat matimg(iplimg_ptr);#用IplImage指针和构造函数创建Mat
Mat转IplImage
Mat matimg=imread("lena.jpg");
IplImage iplimg=matimg;#直接将Mat对象赋给IplImage对象
//如果要显示iplimg,需要用IplImage型指针指向它
IplImage* iplimg_ptr=iplimg;
cvShowImage("lena.jpg",iplimg_ptr)