c++ - 将 tf::transform 对象写入文件

标签 c++ tensorflow ros ofstream

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

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

假设我已经正确设置了 ft当我试图写 tf ,我该怎么做?我尝试了很多变体,所有变体都产生了一大堆文字,大意是 ofstream不知道如何处理 tf::transform 对象,这并不奇怪。

有什么方法可以制作ofstream拿任意物体?有没有我可以轻松将其转换为更有利于流式传输的格式?理想情况下,如果我转换它,我希望有一种方法可以将它可逆地转换为某种矩阵,我可以直接将其导入和导出文件。

最佳答案

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

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;
}

关于c++ - 将 tf::transform 对象写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17678905/

相关文章:

c++ - 尝试使用 gettimeofday 以毫秒为单位查找耗时

machine-learning - Keras:为什么观察到的批量大小与指定的批量大小不匹配?

python - 在 TensorFlow 中初始化变量的最佳方法是什么?

python - 特征列在 tensorflow 中如何工作?

c++ - 构建我的 ROS 节点时出错

c++ - 从 mpl::vector 生成 fusion::vector

c++ - 在 C++ 中解析字符串中的整数

c++ - 从 GNU 上的新运算符调用类构造函数 - 使用无效类

c++ - (void *)1 是什么意思?

ubuntu - 在没有工作空间的启动文件中启动 ros 节点可执行文件