Eigen 库

Eigen 是 C++ 语言里的一个开源模版库,支持线性代数运算,矩阵和矢量运算,数值分析及其相关的算法。

它完全由头文件实现, 且对于所有平台都是相同的, 要调用该库只需要添加头文件依赖即可, 无需链接任何静态库, 因而无需对 Eigen 库进行任何形式的编译/安装(某些情况下, 使用 CMake 配置/编译/安装仅是为了生成文档或测试用例).

如果要使用 CMake 来在自己的程序中引入 Eigen, 可以选择首先对 Eigen 进行 Configure 以生成 Eigen3Config.cmake 文件, 然后通过设置 Eigen3_DIR 来确保 CMake 可以找到该文件.

阅读更多

Ceres 优化库

Ceres Solver 是一个用于求解大型复杂优化问题的C++开源库, 主要用于如下两类优化问题的求解:

  • 带边界约束的非线性最小二乘问题
  • 通用的无约束优化问题

德国数学家高斯(Carl Fredrich Gauss, 1777 – 1855)基于22次观测数据, 使用最小二乘法正确地预测了谷神星(Ceres)的轨迹, 因此谷歌用Ceres来命名该优化库.

阅读更多

TinyXML2

XML指可扩展标记语言(eXtensible Markup Language),被设计用来传输和存储数据。

C++语言环境下有许多用于XML解析的第三方库,例如libxml++, TinyXML2等.

如何选择合适的XML解析库: What XML parser should I use in C++? [closed] - stackoverflow.

其中TinyXML2是一个轻量级的xml解析库,只有一个源文件tinyxml2.cpp和一个头文件tinyxml2.h,十分简单易用.
最简单的调库方法就是把头文件和和源文件添加到自己的工程中一起编译.
当然也可以将TinyXML2单独编译成链接库供其他工程使用.

阅读更多

Point Cloud Library

软件 版本号 文件名
os windows10-x64 -
Visual Studio VS2017 -
PCL PCL-1.8.1 PCL-1.8.1-AllInOne-msvc2017-win64.exe; pcl-1.8.1-pdb-msvc2017-win64.zip
阅读更多

在 Qt 界面上显示点云

要在Qt的GUI界面上显示点云,需要首先放置一个QVTKWidget控件,然后通过C++代码往该控件上显示点云.
但一般直接下载安装的PCL预编译的3rdParty/VTK没有该控件,需要自己下载源码重新编译.

  • Visual Studio 2017
  • Qt 5.12.10
  • PCL 1.8.1
  • VTK 8.0.0
阅读更多