在学习高博的深入理解图优化与g2o:g2o篇中,由于g2o版本更新引起的错误,错误如下:

error: no matching function for call to 'g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> >::BlockSolver(g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> >::LinearSolverType*&)'g2o::BlockSolver_6_3* block_solver = new g2o::BlockSolver_6_3( linearSolver );
/usr/local/include/g2o/core/block_solver.hpp:40:1: note: candidate: g2o::BlockSolver<Traits>::BlockSolver(std::unique_ptr<typename Traits::LinearSolverType>) [with Traits = g2o::BlockSolverTraits<6, 3>; typename Traits::LinearSolverType = g2o::LinearSolver<Eigen::Matrix<double, 6, 6, 0> >]BlockSolver<Traits>::BlockSolver(std::unique_ptr<LinearSolverType> linearSolver^
/usr/local/include/g2o/core/block_solver.hpp:40:1: note:   no known conversion for argument 1 from 'g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> >::LinearSolverType* {aka g2o::LinearSolver<Eigen::Matrix<double, 6, 6, 0> >*}' to 'std::unique_ptr<g2o::LinearSolver<Eigen::Matrix<double, 6, 6, 0> >, std::default_delete<g2o::LinearSolver<Eigen::Matrix<double, 6, 6, 0> > > >'error: no matching function for call to 'g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(g2o::BlockSolver_6_3*&)'Levenberg* algorithm = new g2o::OptimizationAlgorithmLevenberg( block_solver );
/usr/local/include/g2o/core/optimization_algorithm_levenberg.h:47:16: note: candidate: g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(std::unique_ptr<g2o::Solver>)explicit OptimizationAlgorithmLevenberg(std::unique_ptr<Solver> solver);^
/usr/local/include/g2o/core/optimization_algorithm_levenberg.h:47:16: note:   no known conversion for argument 1 from 'g2o::BlockSolver_6_3* {aka g2o::BlockSolver<g2o::BlockSolverTraits<6, 3> >*}' to 'std::unique_ptr<g2o::Solver>'

源码为:

 // 构造g2o中的图// 先构造求解器g2o::SparseOptimizer    optimizer;// 使用Cholmod中的线性方程求解器g2o::BlockSolver_6_3::LinearSolverType* linearSolver = new  g2o::LinearSolverCholmod<g2o::BlockSolver_6_3::PoseMatrixType> ();// 6*3 的参数g2o::BlockSolver_6_3* block_solver = new g2o::BlockSolver_6_3( linearSolver );// L-M 下降 g2o::OptimizationAlgorithmLevenberg* algorithm = new g2o::OptimizationAlgorithmLevenberg( block_solver );

修改为:

// 构造g2o中的图// 先构造求解器g2o::SparseOptimizer    optimizer;// 使用Cholmod中的线性方程求解器//g2o::BlockSolver_6_3::LinearSolverType* linearSolver = new  g2o::LinearSolverCholmod<g2o::BlockSolver_6_3::PoseMatrixType> ();std::unique_ptr<g2o::BlockSolver_6_3::LinearSolverType> linearSolver = g2o::make_unique<g2o::LinearSolverCholmod<g2o::BlockSolver_6_3::PoseMatrixType>>();// 6*3 的参数std::unique_ptr <g2o::BlockSolver_6_3> block_solver ( new g2o::BlockSolver_6_3( std::move(linearSolver)) );// L-M 下降 g2o::OptimizationAlgorithmLevenberg* algorithm = new g2o::OptimizationAlgorithmLevenberg( std::move(block_solver) );

OK,至此程序修改完成。

深入理解图优化与g2o:g2o篇中g2o版本更新引起的错误修改相关推荐

  1. 深入理解图优化与g2o:g2o篇

    深入理解图优化与g2o:g2o篇 内容提要 讲完了优化的基本知识,我们来看一下g2o的结构.本篇将讨论g2o的代码结构,并带着大家一起写一个简单的双视图bundle adjustment:从两张图像中 ...

  2. 从零开始一起学习SLAM | 理解图优化,一步步带你看懂g2o代码

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 小白:师兄师兄,最近我在看SLAM的优化算法,有种方法叫" ...

  3. 深入理解图优化与g2o : 图优化理论与g2o的使用

    转自:http://www.cnblogs.com/gaoxiang12/p/3776107.html 图优化理论与g2o的使用 1    前言以及回顾 各位朋友,自从上一篇<视觉SLAM漫谈& ...

  4. SLAM中姿态估计的图优化方法比较(g2o/Ceres/GTSAM/SE-Sync)

    编辑 | 深蓝AI 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 后台回复[SLAM综述]获取视觉SLAM.激光SLAM.RGBD-SLAM等多篇综述! 本 ...

  5. 论文精读 | slam中姿态估计的图优化方法比较

    一. 摘要 对于位置环境中的自主导航问题,同步定位与建图(Simultaneous localization and mapping, SLAM)是一个非常重要的工具框架.根据SLAM字面含义可以得知 ...

  6. 史上最简SLAM零基础解读(10.1) - g2o(图优化)→简介环境搭建(slam十四讲第二版为例)

    本人讲解关于slam一系列文章汇总链接:史上最全slam从零开始   文末正下方中心提供了本人联系方式,点击本人照片即可显示WX→官方认证{\color{blue}{文末正下方中心}提供了本人 \co ...

  7. SLAM图优化g2o

    SLAM图优化g2o 图优化g2o框架 图优化的英文是 graph optimization 或者 graph-based optimization, "图"其实是数据结构中的gr ...

  8. (01)ORB-SLAM2源码无死角解析-(65) BA优化(g2o)→闭环线程:Optimizer::OptimizeEssentialGraph→本质图优化

    讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的(01)ORB-SLAM2源码无死角解析链接如下(本文内容来自计算机视觉life ORB-SLAM2 课程课件): (0 ...

  9. SLAM从0到1之图优化g2o:从看懂代码到动手编写(长文)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文由知乎作者yikang授权转载,不得擅自二次转载.原文链接:https://zhuanlan.zh ...

最新文章

  1. EmEditor Professional(文本编辑) 下载地址
  2. Apache Cordova for ios环境配置
  3. Bootstrap全局css样式_辅助类
  4. 在网页中使用react
  5. NO_CHANGE_ALLOWED error code
  6. VS 2008的JavaScript代码提示功能 (学习老赵视频的笔记)
  7. php如何写代码禁用广告,不再显示广告案例(php操作cookie)
  8. matlab虚拟现实之使用V-Realm Builder2建模
  9. POJ 3468 A Simple Problem with Integers(线段树区间更新)
  10. java string查找_Java lastIndexOf() 方法
  11. 液压外部测试系统软件,液压测试系统的软件设计
  12. 高性能服务器架构拓扑图,某数据中心架构拓扑图.ppt
  13. 配对t检验的应用条件是什么_配对t检验在实际工作中的应用
  14. kafka如何创建topic
  15. java 地图坐标转换_百度地图坐标和高德地图坐标转换代码 Java实现
  16. 度小满联合北大光华聚焦超级关联网络,硬技术能否改变行业风向?
  17. Mina 粘包、断包、半包解决
  18. WOT全球技术创新大会2022即将召开,亮点抢先看
  19. JSP招标投标管理系统JSP企业招标管理系统JSP网上招标管理系统JSP招标系统JSP投标系统
  20. 蝉知企业门户系统v7.7 - 命令执行漏洞

热门文章

  1. 用python实现串口通信编程
  2. 移动端知识的一些总结
  3. CAD制图初学入门:国产CAD软件中如何进行角度标注?
  4. Java 成员变量和静态变量的区别
  5. 计算机毕业设计SSMSUNHome家政服务管理平台【附源码数据库】
  6. 搬运工——ubuntu(1)
  7. root化对手机什么影响,root对手机有影响
  8. 微信保存图片提示失败_微信公众号多图文素材编辑完成保存失败该怎么解决?...
  9. 二、微机保护的结构框图原理
  10. 【Windows】Win10自带截图截屏快捷键