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

sur*_*rya 9 c++ opencv

我只知道C语言,所以我感到困惑/不理解openCV数据类型的语法,尤其是cv::Mat, CvMat*, Mat.

我的问题是我怎么能转换cv::Matconst CvMat*或CvMat*和任何一个可以提供与文档链接,差异 CvMat *matcv::MatMatopencv2.4.

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

jua*_*nza 22

cv::Mat有一个运算符CvMat()这么简单的赋值工作:

cv::Mat mat = ....;
CvMat cvMat = mat;
Run Code Online (Sandbox Code Playgroud)

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

如果您需要使用CvMat带有a的API CvMat*,则传递对象的地址:

functionTakingCmMatptr(&cvMat);
Run Code Online (Sandbox Code Playgroud)

至于cv::Mat和之间的区别Mat,它们是相同的.在OpenCV示例中,经常假设(并且我认为这不是一个好主意)using namespace cv.