动机
- 由于PCL库很长时间没有更新,新出现的一些优秀点云处理算法没有收录到库中
- Open3D的点云处理算法有限,但是收录了新的点云处理算法
结合以上两点,萌生了联合使用两个库的想法
实现目标
在Ubuntu20.04下实现同时使用两个点云库
实现步骤
- 分别源码编译安装Open3D 18.0.0和PCL 1.10.0(该两个版本是笔者计算机上的使用版本,没有测试过其他版本)
- 编译工程代码时注意两点:一是建议Open3D编译成静态链接库;二是引用静态链接库文件时不要使用${Open3D_LIBRARIES},而是需要使用哪个静态库就链接对应的库文件即可,避免与系统库文件冲突,具体冲突的库文件比较多,笔者没有将具体的冲突文件挑选出来
- 需要自己实现Open3D和PCL的点云数据类型的转换函数;可以参考这篇blog