cv::Mat opencv_mat; //opencv's mat, already transposed.
arma::mat arma_mat( reinterpret_cast<double*>(opencv_mat.data), opencv_mat.rows, opencv_mat.cols )
cv::Mat
的构造函数有一个接受数据指针的形式,而arma::mat
有一个名为memptr()的函数,用于返回其数据的double*指针。arma::mat
转换为cv::Mat
,可以使用以下方法:cv::Mat opencv_mat( rows, cols, CV_64FC1, arma_mat.memptr() )
cv::Mat
的构造函数可以接受一个数据指针,而arma::mat
有一个返回double*
指向其数据的函数,名为memptr()
。因此,cv::Mat opencv_mat( rows, cols, CV_64FC1, arma_mat.memptr() )
应该能够工作。如果解决了问题,请考虑标记答案为已接受。 - a-Jaysreinterpret_cast<double*>(opencv_mat.data)
,至少在我的编译器中是这样。除此之外,它工作得很好,谢谢! - dim_tz