在windows系统中使用Ceres非线性优化库:(一)安装Ceres库

(一)安装Ceres库

        1.用vcpkg安装Ceres库

                1.1.安装vcpkg

                1.2.安装Ceres

                1.3.配置Ceres

        2.用Virtual Studio安装Ceres库

                2.1.下载ceres-windows

                2.2.打开或升级解决方案

                2.3.编译项目libglog_static

                2.4.编译项目ceres_static和ceres

                2.5.编译例程

                2.6.深入理解编译链接过程

        3.用CMake安装Ceres库

(二)调用Ceres库

(三)发布应用程序

Ceres 翻译为谷神星,是太阳系中的一颗矮行星,于1801年被意大利神父 Piazzi 首次观测到,但随后 Piazzi 因为生病,跟丢了它的运行轨迹。几个月后,德国数学家 Gauss,利用最小二乘法,仅仅依靠 Piazzi 之前观测到的12个数据,便成功的预测了谷神星的运行轨迹。

两百多年后,为了解决一些复杂的最优化问题 (如:带边界约束的非线性最小二乘、一般的无约束最优化等),谷歌开发了一个 C++ 库 Ceres Solver。之所以取名 Ceres Solver,是为了纪念 Gauss 利用最小二乘法,成功的预测了谷神星轨迹,这个在最优化、统计学、天文学历史上,都具有重要意义的事件。

在谷歌内部,Ceres 已经被应用于多个产品中,如:谷歌街景中汽车、飞行器的位姿估计;PhotoTours 中 3D 模型的建立;SLAM 算法 Cartographer 等。此外,一些公司和研究所也在使用 Ceres,像是 Southwest Research Institute 的机器人视觉系统标定,OpenMVG 的光束平差 (BA) 问题,Willow Garage 的 SLAM 问题等。

我一个搞SLAM的,一直都是在Linux系统上安装和使用Ceres库,不管我是apt install还是下载源码后用CMake自己编译都相当简单。可是最近有个项目需要在windows系统上安装和使用Ceres库,发现在windows上安装和使用Ceres库比在Linux上复杂很多。写这篇博客就是记录我踩过的各种坑,希望对后来的人起到帮助作用。

 (一)安装Ceres库

安装Ceres库,我推荐直接看官方的教程(Installation — Ceres Solver),讲的很详细。官方给出了在windows系统上安装Ceres库的3种方法:

  • 用vcpkg安装Ceres库。
  • 用Virtual Studio安装Ceres库。
  • 用CMake安装Ceres库。

用vcpkg安装Ceres库非常简单,几乎是一键安装,但缺点是不能手动选择Ceres及其依赖的版本,另外一些编译选项也不能修改。后面应用中要对编写选项做修改,显然vcpkg方式不能满足要求。用Virtual Studio安装Ceres库,就是在Virtual Studio中新建C++工程,然后将从网上下载的Ceres及其依赖的源码放入刚新建C++工程的对应位置,然后编译这些C++工程生成我们需要的Lib静态库和Dll动态库。这种方式可以手动选择Ceres及其依赖的版本,也能修改编译选项。用CMake安装Ceres库,相比于用Virtual Studio安装Ceres库,优点是只需基于CMake工程就能编译很轻量且移植性好,但缺点就是配置过程很复杂。所以,我这里推荐用Virtual Studio安装Ceres库。

1.用vcpkg安装Ceres库

vcpkg是微软C++团队开发的适用于C和C++库的跨平台开源软件包管理器,它大大简化了 Windows、Linux和macOS上第三方库相关的下载和配置操作,目前已有超过1600个第三方库可以通过vcpkg来安装。vcpkg其实就是类似于Linux的apt包管理器和Python的pip包管理器的东西。

1.1.安装vcpkg

关于vcpkg的安装和使用,在Windows系统上安装vcpkg其实官方教程(vcpkg/README_zh_CN.md at master · microsoft/vcpkg · GitHub)已经很详细了,我这里简单再说一说。首先是下载vcpkg安装包到我们的windows电脑,然后就是运行安装包就可以了。首先在你的windows电脑安装Git客户端,然后用Git下载vcpkg安装包;如果没有装Git也不要紧,就直接去vcpkg的github下载安装包然后安装是一样的。

这里假设已经有Git的情况,以管理员身份直接打开你的windows电脑的CMD命令终端,输入下面的命令进行vcpkg的安装即可:

> git clone https://github.com/microsoft/vcpkg
> .\vcpkg\bootstrap-vcpkg.bat

1.2.安装Ceres

继续在CMD命令终端,使用以下命令安装你所需要的C/C++库,关于vcpkg的具体用法,可以使用帮助命令vcpkg help查看教程,这里先用vcpkg search命令查询我们要安装的ceres包的情况:

> CD vcpkg\vcpkg
> vcpkg search ceres

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值