IplImage和Mat间的相互转换

转自:http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=8279   5楼回复

————————————————

opencv2.0中的数据类型cv::Mat与OPENCV1.0中的iplimage类型如何进行互相转换
我已经试过,CV::Mat与cvMat并不是同一数据类型

————————————————

不小心看到,幫忙答一下

IplImage -> cv::Mat
這個範例程式裡 image.cpp有啊,做個簡單的範例。
Ex. 
IplImage* pImg = cvLoadImage("lena.jpg");
cv::Mat img(pImg,0); //0是不複製影像,也就是pImg與img的data共用同個記憶體位置,header各自有

cv::Mat -> IplImage
cxcore.hpp裡,class cv::Mat裡面第831、832有寫 
// converts header to IplImage; no data is copied
operator IplImage() const; 
範例接上面的過來..
Ex.
IplImage* pImg = cvLoadImage("lena.jpg");
cv::Mat img(pImg,0); //img拿到pImg的data
IplImage qImg;
qImg = IplImage(img); //一樣檔案沒複製,所以qImg.imageData就是指向pImg->imageData

希望這對你有用。

你可能感兴趣的:(openCV,流媒体,视频与图像分析)