c – 将cv :: Mat转换为const CvMat *或CvMat *

我只知道C语言,所以我会混淆/不理解openCV数据类型的语法,特别是在cv :: Mat,CvMat *,Mat中.

我的问题是如何将cv :: mat转换为const CvMat *或CvMat *,并且可以为opencv2.4中的CvMat * mat和cv :: Mat和Mat之间的区别提供文档链接.

并且如何在CvMat中将我的int数据转换为浮点数据?
谢谢

最佳答案
cv :: Mat有一个operator CvMat()这么简单的作业:

cv::Mat mat = ....;
CvMat cvMat = mat;

这使用相同的底层数据,所以你必须要小心,cv :: Mat在CvMat之前不会超出范围.

如果您需要使用CvMat在一个采用CvMat *的API中,那么传递对象的地址:

functionTakingCmMatptr(&cvMat);

至于cv :: Mat和Mat之间的区别,它们是一样的.在OpenCV示例中,通常假设使用命名空间cv(而且我认为这不是一个好主意).

转载注明原文:c – 将cv :: Mat转换为const CvMat *或CvMat * - 代码日志