![](/img/trans.png)
[英]how to initialize a Eigen Matrix from an opencv cv::Mat, or from an array which is row-major?
[英]Creating an Eigen matrix from an array with row-major order
我有一个双打数组,我想用Eigen库创建一个4乘4的矩阵。 我还想指定数据以行主顺序存储。 我怎样才能做到这一点?
我尝试了以下,但它没有编译:
double data[16];
Eigen::Matrix4d M = Eigen::Map<Eigen::Matrix4d>(data, 4, 4, Eigen::RowMajor);
您需要将行主矩阵类型传递给Map,例如:
Map<Matrix<double,4,4,RowMajor> > M(data);
然后你可以使用M作为特征矩阵,并修改数据的值,例如:
M = M.inverse();
如果要将数据复制到真正的列主要特征矩阵,请执行以下操作:
Matrix4d M = Map<Matrix<double,4,4,RowMajor> >(data);
当然,您也可以使用M的正确类型复制到行主矩阵。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.