Mat和IplImage相互轉換

Mat OpenCVC++的接口矩陣類,ImlImageOpenCVC語言的接口的結構體,但是C++程序有時候時候還是要用到ImlImage,例如在MFC中的Picture Control顯示圖片。

下面總結了針對OpenCV3.0以上版本的Mat和IplImage相互轉換方法:

//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);



發佈了16 篇原創文章 · 獲贊 60 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章