[OpenCV]IplImage 與 Mat 相互換轉

張貼者: Mark | 晚上8:38

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

分享好文: 讚 ! 分享到塗鴉牆
0 意見