Mat
是
OpenCV
和
C++
的接口矩阵类
ImlImage
是
OpenCV
和
C
语言的接口的结构
两者都可以表述同一图像,二者之间的转换可以通过以下命令转换:
1、Mat to IplImage
cv::Mat matimg = cv::imread ("1.jpg"); //声明一个Mat对象,将图像“1.jpg”读入到实例中
IplImage* iplimg; //声明一个指向iplimg的指针
*iplimg = IplImage(matimg); //将指针*iplimg指向由IplImage转化类型的matimg
2、IpLImage to Mat
IplImage* iplimg = cvLoadImage("2.jpg"); //用指针指向图像2.jpg
cv::Mat matimg; //声明Mat格式对象
matimg = cv::Mat(iplimg); //将地址iplimg内的内容赋予matimg
看了上述转换的指令,个人认为,mat使用起来要方便多,本人比较怵指针地址的来回转换,可能是因为不熟练,经常出错罢了,如果熟练使用,这两个貌似不成问题。