深入理解图优化与g2o:g2o篇中g2o版本更新引起的错误修改
在学习高博的深入理解图优化与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版本更新引起的错误修改相关推荐
- 深入理解图优化与g2o:g2o篇
深入理解图优化与g2o:g2o篇 内容提要 讲完了优化的基本知识,我们来看一下g2o的结构.本篇将讨论g2o的代码结构,并带着大家一起写一个简单的双视图bundle adjustment:从两张图像中 ...
- 从零开始一起学习SLAM | 理解图优化,一步步带你看懂g2o代码
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 小白:师兄师兄,最近我在看SLAM的优化算法,有种方法叫" ...
- 深入理解图优化与g2o : 图优化理论与g2o的使用
转自:http://www.cnblogs.com/gaoxiang12/p/3776107.html 图优化理论与g2o的使用 1 前言以及回顾 各位朋友,自从上一篇<视觉SLAM漫谈& ...
- SLAM中姿态估计的图优化方法比较(g2o/Ceres/GTSAM/SE-Sync)
编辑 | 深蓝AI 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 后台回复[SLAM综述]获取视觉SLAM.激光SLAM.RGBD-SLAM等多篇综述! 本 ...
- 论文精读 | slam中姿态估计的图优化方法比较
一. 摘要 对于位置环境中的自主导航问题,同步定位与建图(Simultaneous localization and mapping, SLAM)是一个非常重要的工具框架.根据SLAM字面含义可以得知 ...
- 史上最简SLAM零基础解读(10.1) - g2o(图优化)→简介环境搭建(slam十四讲第二版为例)
本人讲解关于slam一系列文章汇总链接:史上最全slam从零开始 文末正下方中心提供了本人联系方式,点击本人照片即可显示WX→官方认证{\color{blue}{文末正下方中心}提供了本人 \co ...
- SLAM图优化g2o
SLAM图优化g2o 图优化g2o框架 图优化的英文是 graph optimization 或者 graph-based optimization, "图"其实是数据结构中的gr ...
- (01)ORB-SLAM2源码无死角解析-(65) BA优化(g2o)→闭环线程:Optimizer::OptimizeEssentialGraph→本质图优化
讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的(01)ORB-SLAM2源码无死角解析链接如下(本文内容来自计算机视觉life ORB-SLAM2 课程课件): (0 ...
- SLAM从0到1之图优化g2o:从看懂代码到动手编写(长文)
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文由知乎作者yikang授权转载,不得擅自二次转载.原文链接:https://zhuanlan.zh ...
最新文章
- EmEditor Professional(文本编辑) 下载地址
- Apache Cordova for ios环境配置
- Bootstrap全局css样式_辅助类
- 在网页中使用react
- NO_CHANGE_ALLOWED error code
- VS 2008的JavaScript代码提示功能 (学习老赵视频的笔记)
- php如何写代码禁用广告,不再显示广告案例(php操作cookie)
- matlab虚拟现实之使用V-Realm Builder2建模
- POJ 3468 A Simple Problem with Integers(线段树区间更新)
- java string查找_Java lastIndexOf() 方法
- 液压外部测试系统软件,液压测试系统的软件设计
- 高性能服务器架构拓扑图,某数据中心架构拓扑图.ppt
- 配对t检验的应用条件是什么_配对t检验在实际工作中的应用
- kafka如何创建topic
- java 地图坐标转换_百度地图坐标和高德地图坐标转换代码 Java实现
- 度小满联合北大光华聚焦超级关联网络,硬技术能否改变行业风向?
- Mina 粘包、断包、半包解决
- WOT全球技术创新大会2022即将召开,亮点抢先看
- JSP招标投标管理系统JSP企业招标管理系统JSP网上招标管理系统JSP招标系统JSP投标系统
- 蝉知企业门户系统v7.7 - 命令执行漏洞