首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在OpenCV3.0中将CvMat*转换为cv::Mat

如何在OpenCV3.0中将CvMat*转换为cv::Mat
EN

Stack Overflow用户
提问于 2015-05-25 10:43:24
回答 2查看 9.4K关注 0票数 9

在我之前使用的opencv2.4.10中,可以像下面这样完成从CvMat*到cv::Mat的转换。

代码语言:javascript
复制
CvMat *src = ...;
cv::Mat dst;
dst = cv::Mat(src);

然而,在opencv3.0中,rc1不能这样转换。在某些网站中,这种转换可以如下所示。

代码语言:javascript
复制
CvMat* src = ...;
cv::Mat dst;
dst = cv::Mat(src->rows, src->cols, src->type, src->data.*);

如果src的类型是'float',那么最后一个参数是'src->data.fl‘。

为什么cv::Mat的构造函数会减少?或者有什么方法可以将CvMat*转换成cv::Mat?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-05 22:41:24

代码语言:javascript
复制
CvMat* matrix;
Mat M0 = cvarrToMat(matrix);

OpenCV提供了此功能,而不是Mat(矩阵)。

注意:在OpenCV 3.0中,他们将所有将旧式结构(cvmat,IPLImage)转换为新型结构的构造函数封装到此函数中。

票数 12
EN

Stack Overflow用户

发布于 2015-06-16 14:40:14

为了将CvMat*转换为Mat,您必须这样做:

代码语言:javascript
复制
cv::Mat dst(src->rows, src->cols, CV_64FC1, src->data.fl);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30430551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档