OpenCV中Mat与Matlab中mxArray类型的转换II
2012-12-18 17:33
411 查看
上一次在《OpenCV中Mat与Matlab中mxArray类型的转换》代码中转换方法有些麻烦,后来使用了一种较为简洁的办法,如下:
现在有一个cv::Mat 矩阵 m_GaborFea,它是单通道 Single型,转换为matlab数据类型,
这样就将cv::Mat转为 mxArray 类型了,同理,mxArray转为cv::Mat只需要将memcpy中的前两个参数互换下位置。这里需要注意的是:OpenCV 中数据存储的方式是按行存储,而matlab 是按列存储,这点需要在转换中注意。
各位还有什么问题,欢迎讨论。
现在有一个cv::Mat 矩阵 m_GaborFea,它是单通道 Single型,转换为matlab数据类型,
mxArray * pv; if (!m_GaborFea.empty()) { m_GaborFea = m_GaborFea.t(); pv = mxCreateNumericMatrix(m_GaborFea.cols,m_GaborFea.rows,mxSINGLE_CLASS, mxREAL); memcpy(mxGetPr(pv), m_GaborFea.data, mxGetNumberOfElements(pv)*sizeof(float)); } else { printf("GaborFeais empty! \n"); return false; }
这样就将cv::Mat转为 mxArray 类型了,同理,mxArray转为cv::Mat只需要将memcpy中的前两个参数互换下位置。这里需要注意的是:OpenCV 中数据存储的方式是按行存储,而matlab 是按列存储,这点需要在转换中注意。
各位还有什么问题,欢迎讨论。
相关文章推荐
- OpenCV中Mat与Matlab中mxArray类型的转换
- opencv中Mat与IplImage,CVMat类型之间转换
- openCV中Mat类型与IplImage类型的转换
- opencv之Mat数据类型和ImlImage数据类型以及CvMat数据类型得转换
- 图像数据类型的转换 matlab opencv
- opencv中Mat与IplImage,CVMat类型之间转换
- opencv中Mat与IplImage,CVMat类型之间转换
- OpenCV中Mat与IplImage和CvMat类型之间的相互转换
- OpenCV中Mat与IplImage和CvMat类型之间的相互转换
- OpenCV中Mat与IplImage和CvMat类型之间的相互转换
- OpenCV中Mat与IplImage和CvMat类型之间的相互转换
- OPENCV中MAT与IPLIMAGE和CVMAT类型之间的相互转换
- Matlab立体标定mat转换成Opencv的CvMat
- opencv 数据类型转换:CvArr, Mat, CvMat, IplImage, BYTE 转
- 在opencv中,关于IplImage和Mat类型之间的转换
- OpenCV中Mat与IplImage和CvMat数据类型间的相互转换
- opencv 之Mat, vector<point2f>,Point3d Iplimage 常见类型转换
- OpenCV中Mat与IplImage和CvMat类型之间的相互转换
- opencv中Mat与IplImage,CVMat类型之间转换
- opencv 3.0 Mat 数据类型转换