ubuntu18.04使用kalibr安装以及标定相机的问题总结

按照教程:https://blog.csdn.net/weixin_45868890/article/details/123193276
安装kalibr时候遇到的问题

**问题一:usr/include/eigen3/Eigen/src/Core/util/Macros.h:885:23: error: ‘Eigen::MatrixBase::~MatrixBase() [with Derived = Eigen::Matrix]’ is protected EIGEN_DEVICE_FUNC ~Derived() = default;

ubuntu18.04使用kalibr安装以及标定相机的问题总结_第1张图片

原文链接:https://blog.csdn.net/weixin_45868890/article/details/121722656
解决方法:

  1. 在/usr/include/eigen3/Eigen/src/Core/MatrixBase.h第466行将 protected改为public
  2. 在/usr/local/include/eigen3/Eigen/src/Core/MatrixBase.h相应位置(根据终端的报错提醒位置)将 protected改为public
  3. 关掉这个终端重新打开终端激活环境变量:source devel/setup.bash 一下
  4. 接着编译
    (另外,经美女学妈提示,还可以通过使用命令行reboot重启电脑再编译获得莫名buff加成)



按照教程https://blog.csdn.net/weixin_45868890/article/details/123197364标定相机的时候遇到的问题

问题一:kalibr_workspace/src/kalibr/aslam_offline_calibration/kalibr/python/kalibr_common/ConfigReader.py中的Python NameError: name ‘errList’ is not define!

解决办法:相应位置的文件中errList全部换成途中的print语句ubuntu18.04使用kalibr安装以及标定相机的问题总结_第2张图片

问题二:(Checkerboard corners:11771): GLib-GObject-CRITICAL **: 10:35:22.443: g_object_unref: assertion ‘G_IS_OBJECT (object)’ failed

Attempt to unlock mutex that was not locked

执行命令kalibr_calibrate_cameras --target checkerboard.yaml --bag multicameras_calibration.bag --models pinhole-equi pinhole-equi pinhole-equi --topics /infra_left /infra_right /color --bag-from-to 10 100 --show-extraction --approx-sync 0.04
还遇到上面的报错:ubuntu18.04使用kalibr安装以及标定相机的问题总结_第3张图片
(查看命令中参数的含义:
原文链接:https://blog.csdn.net/weixin_37661634/article/details/118902745)
kalibr_calibrate_cameras --target checkerboard.yaml --bag multicameras_calibration.bag --models pinhole-equi pinhole-equi pinhole-equi --topics /infra_left /infra_right /color --bag-from-to 10 100 --show-extraction --approx-sync 0.04

  1. –target checkerboard.yaml :是标定板的配置文件,注意如果选择棋格盘,注意targetCols和targetRows表示的是内侧角点的数量,不是格子数量。(也有用target aprilgrid.yaml的)
  2. –bag multicameras_calibration.bag:是录制的数据包,models pinhole-equi pinhole-equi pinhole-equi表示三个摄像头的相机模型和畸变模型(解释参考https://github.com/ethz-asl/kalibr/wiki/supported-models,根据需要选取)
  3. –topics /infra_left /infra_right /color:表示三个摄像头对应的拍摄的数据话题;
  4. –bag-from-to 10 100:表示处理bag中10-100秒的数据。
  5. –show-extraction:表示显示检测特征点的过程,这些参数可以相应的调整。
  6. –approx-sync 0.04:(lee猜测)是三个相机时间同步的容许误差。

经学妈提示,不要参数: --show-extraction 和 --approx-sync 0.04 ,将命令改成:
kalibr_calibrate_cameras --target checkerboard.yaml --bag multicameras_calibration.bag --models pinhole-equi pinhole-equi pinhole-equi --topics /infra_left /infra_right /color --bag-from-to 10 100
后来测试,就是参数: --show-extraction 引发的错误,因为kalibr_calibrate_cameras --target checkerboard.yaml --bag multicameras_calibration.bag --models pinhole-equi pinhole-equi pinhole-equi --topics /infra_left /infra_right /color --bag-from-to 10 100 --approx-sync 0.04 也是可以运行的,真是,米奇渺渺无的一天,焯

成功!!!!

再次感谢学妈的鼓励和指导,小的感激涕零,不知所言!!!

你可能感兴趣的:(计算机视觉)