您的位置:首页 > 运维架构

OpenCV3.0以上版本的Mat和IplImage相互转换

2018-01-18 13:58 597 查看
Mat 是OpenCV和C++的接口矩阵类,ImlImage是OpenCV和C语言的接口的结构体,但是C++程序有时候时候还是要用到ImlImage,例如在MFC中的Picture Control显示图片。下面总结了针对OpenCV3.0以上版本的Mat和IplImage相互转换方法:[cpp] view plain copy//IplImage—>Mat  
//EXAMPLE:  
//浅拷贝:  
IplImage* pBinary=cvLoadImage("c://temp.jpg",0);  
Mat Img;  
Img=cvarrToMat(pBinary);  
//深拷贝只需要再在Mat里创建一个新的Mat对象,然后进行数据的复制,再用上述的函数进行数据头的复制(浅拷贝):  
IplImage* pBinary=cvLoadImage("c://temp.jpg", 0);  
Mat ImgTemp;  
Img=cvarrToMat(pBinary);  
Mat Img = ImgTemp.clone();  
  
  
//Mat—>IplImage  
//EXAMPLE:  
//浅拷贝:  
Mat Img=imread("1.jpg");  
IplImage* pBinary = &IplImage(Img);  
//深拷贝只要再加一次复制数据:  
IplImage *input = cvCloneImage(pBinary);  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opencv3.0