基于windows平台的pcl点云分析库部署

部署需求安装包:
1.pcl源码(https://github.com/PointCloudLibrary/pcl/archive/master.zip)
2.boost 1.50版 c++扩展库
3.eigen 3.0.5版 矩阵运算
4.flann 1.7.1版 最邻近算法库
5.qhull 6.2.0版 凸包计算,主要用于表面重建
6.cmake 生成编译解决方案

先安装上面提到的PCL需求的第三方库,都有现成的安装包,很方便,需要注意的是在安装这些第三方库的时候要将第三方库所在的路径加入到系统环境中。
说明一下,因为这里只是用pcl进行计算,所以没有引入VTK,QT,NI这三个库,其中VTK用于三维可视化,QT用于提供GUI界面,NI提供点云的输入输出接口,例如一些商业化的体感摄像头。

下面, 解压下载好的pcl源码包,打开Cmake,在source code 这一栏里面设置解压好的PCL源码路径,在build the binaries 这一栏里填写想要存放解决方案的路径。
填完地址后configure, 选择编译环境,官方推荐用visual studio 2008或者visual studio 2010,在搜索框里搜索CMAKE_INSTALL_PREFIX ,这里填写希望输出PCL库文件以及头文件的目录(注意,尽量不要写在program files文件夹底下,这个文件夹的文件写入需要管理员权限),完成之后进行Generate

等待生成解决方案,打开build目录下pcl.sln,编译INSTALL这一项。时间较长,请耐心等待。

到此,PCL就已经编译完成,下面进行项目部署
新建一个空项目,新建文件test.cpp,在项目属性中配置包含目录
pclinstall/include/pcl-1.8/
boost/include/
Eigen/include/
flann/include/
qhull/include/
在库目录中加入下列目录
pclinstall/lib/
boost/lib/
Eigen/lib/
flann/lib/
qhull/lib/
在连接器-》附加依赖项 中加入下列文件
pcl_common_debug.lib
pcl_features_debug.lib
pcl_filters_debug.lib
pcl_io_debug.lib
pcl_io_ply_debug.lib
pcl_kdtree_debug.lib
pcl_keypoints_debug.lib
pcl_ml_debug.lib
pcl_octree_debug.lib
pcl_recognition_debug.lib
pcl_registration_debug.lib
pcl_sample_consensus_debug.lib
pcl_search_debug.lib
pcl_segmentation_debug.lib
pcl_stereo_debug.lib
pcl_surface_debug.lib
pcl_tracking_debug.lib
这里用debug方式编译,方便调试PCL源码,若用release方式编译,则lib文件后面没有_debug后缀

在test.cpp中写入下面计算法向量的代码
#include <iostream>
#include <pcl\point_types.h>
#include <pcl\features\normal_3d.h>
int main()
{
 pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
 for(int i = 0; i < 100; i++)
 {
  cloud->push_back(pcl::PointXYZ(1.0, 0.0, i/10));
  cloud->push_back(pcl::PointXYZ(0.0, 1.0, i/10));
  cloud->push_back(pcl::PointXYZ(0.0, 0.0, i/10));
 }
 pcl::NormalEstimation<pcl::PointXYZ, pcl::Normal> normal;
 normal.setInputCloud(cloud);
 normal.setRadiusSearch(2.0);
 pcl::PointCloud<pcl::Normal>::Ptr normals(new pcl::PointCloud<pcl::Normal>); //创建法向量点云  
 normal.compute(*normals);//计算法向量  
 std::cout<<*normals<<std::endl;
 int i;
 std::cin>>i;
}
运行成功则表示PCL部署成功。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值