OpenCV中IplImage和Mat间的相互转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV中IplImage和Mat间的相互转换相关的知识,希望对你有一定的参考价值。
OpenCV中做图像处理经常用到IplImage和Mat间的相互转换。
首先,cv::Mat是opencv2.0中的数据类型;IplImage是opencv1.0中的类型,两种类型并不相同。
1. IplImage -> cv::Mat
IplImage* pImg = cvLoadImage("lena.jpg");
cv::Mat img(pImg,0); //第二个参数控制是否复制图像,0是不复制图像,也就是pImg和img的data共用内存,header各自有
2. cv::Mat -> IplImage
IplImage* pImg = cvLoadImage("lena.jpg");
cv::Mat img(pImg,0); //img拿到pImg的data
IplImage qImg;
qImg = IplImage(img); //不复制图像,所以qImg.imageData就是指向pImg->imageData
or
IplImage *qImg;
qImg = &IplImage(img); //不复制图像,所以qImg.imageData就是指向pImg->imageData
以上是关于OpenCV中IplImage和Mat间的相互转换的主要内容,如果未能解决你的问题,请参考以下文章
opencv中Mat与IplImage,CVMat类型之间转换
尝试在 OpenCv 中使用来自 Mat 对象的转换后的 IplImage 对象时出错