openCV的IplImage 與 Mat 相互換轉
OpenCV針對這兩種轉換方式是採用記憶體共享,由於因為記憶體共享,所以任何一方作改變 都會改變原始的數值
(1)IplImage to Mat
Ex.
IplImage* pImg = cvLoadImage(“lena.jpg”);
cv::Mat img(pImg,0); //0是不複製影像,也就是pImg與img的data共用同個記憶體位置,header各自有
(2)Mat to IplImage
Ex.
IplImage* pImg = cvLoadImage(“lena.jpg”);
cv::Mat img(pImg,0); //img拿到pImg的data
IplImage qImg;
qImg = IplImage(img); //一樣檔案沒複製,所以qImg.imageData就是指向pImg->imageData
Leave a Reply