请帮我转换这个功能,以便它可以接受MatrixXf,Matrix3f,Matrix4f,我读了推荐使用MatrixBase的Eigen手册但是没有工作,Eigen :: Ref类也没有。谢谢。
void MatrixIO::FEigentoFile(const Eigen::MatrixXf& in_mat,
const std::string filename)
{
fmat fmat_pb;
fmat_pb.set_rows(in_mat.rows());
fmat_pb.set_cols(in_mat.cols());
fmat_pb.mutable_data()->Reserve(in_mat.rows() * in_mat.cols());
for (int i = 0; i < in_mat.rows(); i++)
{
for (int j = 0; j < in_mat.cols(); j++)
{
float c = in_mat(i, j);
fmat_pb.add_data(c);
}
}
std::fstream output(filename,
std::ios::out | std::ios::trunc | std::ios::binary);
if (!fmat_pb.SerializeToOstream(&output))
{
LOG(INFO) << "Failed to write to file." << std::endl;
}
return;
}
答案 0 :(得分:0)
{{1}}
这应该接受MatrixX *作为参数。