下面是详细的攻略。首先,我们需要准备以下工具:
- Visual Studio 2019
- CMake
- Boost库
- FLANN库
- VTK库
具体操作步骤如下:
- 下载并安装PCL库
首先,需要从PCL官网(https://pointclouds.org/downloads/)下载PCL 1.11.0版。
安装PCL库时,我们需要选择合适的编译器类型。由于我们使用的是Visual Studio 2019,而PCL 1.11.0版只支持MSVC 19.x系列,因此我们需要下载使用MSVC 19.x系列编译器的PCL版本。
- 配置Boost库
打开Boost官网(https://www.boost.org/users/download/)下载最新的Boost库,解压至某一目录,打开命令行,进入Boost目录,执行以下命令:
bootstrap.bat
.\b2.exe --build-dir=<vcxproj_dir> --build-type=complete stage
其中,vcxproj_dir
为要生成的库文件目录。Boost库编译完成后,将<vcxproj_dir>
中stage\lib
子目录中的所有.lib
文件拷贝至一个目录供后续使用。
- 配置FLANN库
从官网(https://github.com/flann-dev/flann)下载FLANN库,并执行以下命令:
cmake -G "Visual Studio 16 2019" -DCMAKE_INSTALL_PREFIX=<install_dir> -DBUILD_MATLAB_BINDINGS=OFF -DBUILD_PYTHON_BINDINGS=OFF -DBoost_DIR=<boost_dir> .
cmake --build . --config Release --target INSTALL
其中,install_dir
为库要安装到的目录,boost_dir
为Boost库的目录。安装完成后,将<install_dir>\lib
中的所有.lib
文件拷贝至之前生成的目录。
- 配置VTK库
从官网(https://vtk.org/download/)下载VTK库的最新版本,解压并进入目录。执行以下命令:
mkdir build
cd build
cmake -G "Visual Studio 16 2019" ..
cmake --build . --config Release
在VTK库编译完成后,将<VTK-root>\lib\Release
中的所有.lib
文件拷贝至之前生成的目录。
- 配置CMake
配置CMake时,我们需要将目录设置为PCL库的根目录,为build
目录生成Visual Studio项目文件,然后设置Boost_INCLUDE_DIR
、Boost_LIBRARY_DIRS
、FLANN_INCLUDE_DIRS
、FLANN_LIBRARY_DIRS
、VTK_DIR
等路径变量,并执行CMake
。
在命令行中,我们需要依次执行以下命令:
mkdir build
cd build
cmake -G "Visual Studio 16 2019" .. -DCMAKE_BUILD_TYPE=Release -DBUILD_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON -DBoost_INCLUDE_DIR=<boost_dir>\boost_1_75_0 -DBoost_LIBRARY_DIRS=<boost_dir>\vc16_x64_lib -DFLANN_INCLUDE_DIRS=<flann_dir>\include -DFLANN_LIBRARY_DIRS=<flann_dir>\lib -DVTK_DIR=<vtk_dir>
其中,boost_dir
、flann_dir
、vtk_dir
为Boost、FLANN和VTK库的目录。
- 编译和运行示例代码
执行以下命令:
cmake --build . --config Release
编译完成后,在bin
目录中,可以找到编译的PCLVisualizer
示例。我们运行该示例并加载点云数据,可以看到PCL库已经成功配置和使用。
另外一个示例代码可以是不依赖PCL的任何库,直接依赖点云存储格式如PLY、PCD的代码读取示例。读取示例代码可以使用官方提供的示例,也可以根据自己的需求编写。以下为使用PCL库加载PLY文件的示例代码:
#include <iostream>
#include <pcl/io/ply_io.h>
int main(int argc, char** argv) {
pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGB>);
pcl::io::loadPLYFile("example.ply", *cloud);
std::cout << "Loaded " << cloud->width << "x" << cloud->height << " data points." << std::endl;
return 0;
}
在编译该示例代码时,需要链接PCL库,指定include
目录和生成的.lib
文件路径,然后进行编译。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Win10 系统下VisualStudio2019 配置点云库 PCL1.11.0的图文教程 - Python技术站