Windows平台从源码简易快捷编译Open3D库(VS2017+CMAKE编译)
Open3D库作为一个开源的点云和网格处理库,其支持快速开发处理3D数据。Open3D前端在c++和Python中公开了一组精心挑选的数据结构和算法;后端则是经过高度优化,并设置为并行化。它只需要很少的工作就可以在不同的平台上进行布置,并从源代码编译。Open3D库较传统的PCL库上手难度较低,且对python的支持程度较高(PCL对Python支持较少),但网上关于它的资料较少。
如果想直接使用Open3D,也是比较方便的
1.在Python中,只需一条命令即可安装Open3D:
pip install open3d.
2.在C++中,如果是在Visual Studio2017中使用,可以下载Open3D 0.9.0版本及以前的release版本
当然,从源码编译,既可以加深自己对Open3D的理解,也可以将自己领域喜爱的方法加入到其中进行调用,可谓是程序员的爽局。
接下来,我将从以下三个方面进行Open3D的编译:
1. 下载Open3D源码
在github上搜索Open3D,下载0.9.0版本的Open3D
直接从这个分支下载的话,许多第三方库会没有被下载,因为他们指向了其他的下载位置,例如3rdparty中的Eigen、qhull库等,如下所示
当然,3rdparty中还有其他隐藏更深的库,可能会在2级目录中,需要你一个个下载,但是也不多,具体需要另外单独下载的第三方库如下:
另外,你可以用git下载,这样可以一键扫描下载分模块,更加便捷,在这里使用TortoiseGit进行下载。
首先,复制HTTPS命令
接着,在文件夹右键克隆即可
下载完成后,继续在文件夹内右键,选择更新子模块,这里需要用代理,不用代理可能会超时失败
到这里下载就完成了,这里给出含有完整第三方库的Open3D
2. 使用CMake和Visual Studio进行编译
选择编译路径及build路径
然后Configure,选择x64和vs2017
只在C++中使用,可以去掉这两个,并且修改CMAKE_INSTALL_PREFIX,这将决定你编译后的Open3D库的链接库生成地址,并且添加一个变量,用于区分Debug和Release版本生成的库文件名称
点击Generate,生成完毕
打开工程,修改Open3D和Geometry的命令行参数“/bigobj”才能完成Debug版本的编译
在INSTALL右键生成,静待生成即可完成Open3D的编译,编译好的Open3D库
手动修改Open3DConfig.cmake,确保能正确引用到合适的库文件
3. 在工程中使用编译好的Open3D库
写一个简单的显示点云的代码
写CMakeLists.txt,将cpp链接到Open3D库
然后进行编译,选择Open3D的CMake目录
在VS2017中打开工程
可以看到此时包含目录和附加依赖项已经配好
点击运行,得到结果