Getting error : YAML::TypedBadConversion<double>'

Getting error : YAML::TypedBadConversion<double>'

我试图将相机信息从 yaml 文件转换为 sensor_msgs/CameraInfo。 yaml 文件加载成功。尝试获取失真系数值时出现错误:

YAML::Node conf = YAML::LoadFile(yaml_file); 
std::vector<double> dd;
dd = conf["distortion_coefficients"]["data"].as<std::vector<double> >();

错误类似于:“在抛出

的实例后调用了 terminat

'YAML::TypedBadConversion' what(): yaml-cpp: error at line 0, column 0: bad conversion "

我的 distortion_coefficients YAML 文件就像

distortion_coefficients:   
  rows: 1  
  cols: 5  
  data: [0.013750 -0.162804 0.008105 0.002423 0.000000]

知道如何解决吗?

您的 data 没有任何逗号分隔值,因此不能将其读取为数字序列。

如果改成

distortion_coefficients:   
  rows: 1  
  cols: 5  
  data: [0.013750, -0.162804, 0.008105, 0.002423, 0.000000]

那么它应该会按预期工作。