【问题标题】:writing a tf::transform object to a file将 tf::transform 对象写入文件
【发布时间】:2013-07-14 18:33:43
【问题描述】:

我正在尝试执行类似于以下代码块的操作:

tf::transform t;
initializeTransform(t);
std::ofstream f;
f.open("somefile");
f << t << std::endl;
f.close();

假设我在尝试将t 写入f 时已正确设置ft,我该怎么做?我尝试了许多变体,所有变体都导致了巨大的文本墙,大意是ofstream 不知道如何处理 tf::transform 对象,这不足为奇。

有没有办法让ofstream 获取任意对象?是否有一些我可以很容易地将其转换为更有利于流式传输的格式?理想情况下,如果我转换它,我希望有一种方法可以将它可逆地转换为一些矩阵,我可以直接通过管道进出文件。

【问题讨论】:

    标签: c++ tensorflow ros ofstream


    【解决方案1】:

    实现运算符
    在这种情况下,我不确定转换结构的内容,但假设它是:

    struct transform { float mat[16]; }
    

    那么实现可以是这样的:

    std::ostream& operator<< (std::ostream& os, const tf::transform& t)
    {
      os << t.mat[0];
      for(int i=1;i<16;++i) os << ',' << t.mat[i];
      return os;
    }
    

    【讨论】:

    • “实施该运算符”是对问题的一个角度的更紧凑的措辞,但不是答案。
    • 添加了一个例子。实现取决于数据结构的内容,但基本上您将操作分解为
    猜你喜欢
    • 2015-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-14
    • 2019-11-21
    • 2013-04-27
    相关资源
    最近更新 更多