我只知道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(而且我认为这不是一个好主意).