4. CvMat, Mat, IplImage之间的互相转换
IpIImage -> CvMat
CvMat matheader;
CvMat * mat = cvGetMat(img, &matheader);
CvMat * mat = cvCreateMat(img->height, img->width, CV_64FC3);
cvConvert(img, mat)
IplImage -> Mat
Mat::Mat(constIplImage* img, boolcopyData=false);
例子:
IplImage* iplImg = cvLoadImage("greatwave.jpg", 1);
Mat mtx(iplImg);
Mat -> IplImage
Mat M
IplImage iplimage = M;
CvMat -> Mat
Mat::Mat(constCvMat* m, boolcopyData=false);
Mat -> CvMat
例子(假设Mat类型的imgMat图像数据存在):
CvMat cvMat = imgMat;/*Mat -> CvMat, 类似转换到IplImage,不复制数据只创建矩阵头
CvMat matheader;
CvMat * mat = cvGetMat(img, &matheader);
CvMat * mat = cvCreateMat(img->height, img->width, CV_64FC3);
cvConvert(img, mat)
IplImage -> Mat
Mat::Mat(constIplImage* img, boolcopyData=false);
例子:
IplImage* iplImg = cvLoadImage("greatwave.jpg", 1);
Mat mtx(iplImg);
Mat -> IplImage
Mat M
IplImage iplimage = M;
CvMat -> Mat
Mat::Mat(constCvMat* m, boolcopyData=false);
Mat -> CvMat
例子(假设Mat类型的imgMat图像数据存在):
CvMat cvMat = imgMat;/*Mat -> CvMat, 类似转换到IplImage,不复制数据只创建矩阵头