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);
//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 IplImage* 与Mat 格式相互转换
- OpenCV学习笔记(08):OpenCV3.2版本下的Mat和IplImage相互转换
- Opencv3.0中Mat与IplImage的转换
- Opencv Mat与Iplimage的相互转换
- javaCV图像处理之Frame、Mat和IplImage三者相互转换(使用openCV进行Mat和IplImage转换)
- javaCV图像处理之Frame、Mat和IplImage三者相互转换(使用openCV进行Mat和IplImage转换)
- OpenCV:IplImage, CvMat, Mat 相互转换
- OpenCV Mat类型与IplImage类型的相互转换
- OpenCV中Mat与IplImage和CvMat类型之间的相互转换
- OpenCV中Mat与IplImage和CvMat类型之间的相互转换
- OPENCV中MAT与IPLIMAGE和CVMAT类型之间的相互转换
- opencv 中 IplImage和Mat相互转换
- OpenCV中IplImage, CvMat, Mat 创建和相互转换
- OpenCV中Mat与IplImage和CvMat类型之间的相互转换
- OpenCV中Mat与IplImage和CvMat类型之间的相互转换
- Opencv2.X以上Mat类型与IplImage*的转换
- opencv Mat IplImage*相互转换
- OPencv 3.0 IplImage转成Mat 版本3.0
- 【OpenCV学习笔记】【类型转换】一(IplImage和cv::Mat的类型相互转换)
- 【OpenCV】IplImage与Mat的相互转换