【 PCL点云库笔记01基本用法】001 之 Win10+VS2015+PCL_1.8.0配置

27 篇文章 28 订阅
6 篇文章 9 订阅

一、前言

最近在学习点云库,由于刚刚入门,很多东西也不是很了解,如果大家有什么问题,都可以跟我沟通交流。除了通过博客交流外,欢迎你加入我的QQ群(326866692),一起交流有关于机器学习、深度学习、计算机视觉的内容。目前我并未确定具体的研究方向,所以现在处于广泛涉猎阶段,希望我们能够一起沟通。下图是我的群二维码:

今天要分享的是PCL配置。

1、PCL简介

PCL(Point Cloud Library)是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C++编程库,它实现了大量点云相关的通用算法和高效数据结构,涉及到点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。支持多种操作系统平台,可在Windows、Linux、Android、Mac OS X、部分嵌入式实时系统上运行。如果说OpenCV是2D信息获取与处理的结晶,那么PCL就在3D信息获取与处理上具有同等地位。

PCL架构图

2、软硬件环境

电脑:Windows 10 64位

编译器:Visual Studio 2015

PCL: PCL 1.8.0 All-in-one InstallerMSVC2015 x64

下载地址:百度网盘:https://pan.baidu.com/s/1Jm_mGGp36u-nO4MLdt0PTQ  提取码:jx5r

注:不同的电脑处理器位数和不同的编译器对应的PCL版本不同。

二、PCL配置

1、PCL安装

1.双击执行文件

2.点击下一步

3.点击我接受

4.添加所有用户(自由选择是否保存桌面图标)

5.选择安装路径并等待安装

注意点:

(1)尽量不要出现英文路径。

(2)最好保存在系统盘外的盘符。

(3)保证空间大于4.2G。

(4)安装时,会提示安装OpenNI,这个建议安装在PCL安装路径的3rdParty下的OpenNI2文件夹中。

(5)安装时间较长,请耐心等待。

 

2、PCL配置

1.打开VS2015,创建一个空项目

注:去掉预编译头和SDL检查

2.配置

1.包含目录配置

依次选择 调试-属性-VC++目录-包含目录 添加如下内容:

注意:与自己安装路径有关。

E:\Program Files\PCL 1.8.1\include\pcl-1.8

E:\Program Files\PCL 1.8.1\3rdParty\Boost\include\boost-1_64

E:\Program Files\PCL 1.8.1\3rdParty\Eigen\eigen3

E:\Program Files\PCL 1.8.1\3rdParty\FLANN\include

E:\Program Files\PCL 1.8.1\3rdParty\OpenNI2

E:\Program Files\PCL 1.8.1\3rdParty\Qhull\include

E:\Program Files\PCL 1.8.1\3rdParty\VTK\include

2.库目录配置

依次选择 调试-属性-VC++目录-库目录 添加如下内容:

注意:与自己安装路径有关。

E:\Program Files\PCL 1.8.1\lib

E:\Program Files\PCL 1.8.1\3rdParty\Boost\lib

E:\Program Files\PCL 1.8.1\3rdParty\FLANN\lib

E:\Program Files\PCL 1.8.1\3rdParty\Qhull\lib

E:\Program Files\PCL 1.8.1\3rdParty\OpenNI2\lib

E:\Program Files\PCL 1.8.1\3rdParty\VTK\lib

3.环境配置

依次选择 调试-属性-调试-环境 添加如下内容:

注意:与自己安装路径有关。

path = E:\Program Files\PCL 1.8.1\bin

4.lib文件配置

依次选择 调试-属性-链接器-附加依赖项 添加如下内容:

(1)Debug模式下添加如下内容

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_outofcore_debug.lib

pcl_people_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

pcl_visualization_debug.lib

flann_cpp_s-gd.lib

flann_s-gd.lib

flann-gd.lib

libboost_atomic-vc140-mt-gd-1_61.lib

libboost_chrono-vc140-mt-gd-1_61.lib

libboost_container-vc140-mt-gd-1_61.lib

libboost_context-vc140-mt-gd-1_61.lib

libboost_coroutine-vc140-mt-gd-1_61.lib

libboost_date_time-vc140-mt-gd-1_61.lib

libboost_exception-vc140-mt-gd-1_61.lib

libboost_filesystem-vc140-mt-gd-1_61.lib

libboost_graph-vc140-mt-gd-1_61.lib

libboost_iostreams-vc140-mt-gd-1_61.lib

libboost_locale-vc140-mt-gd-1_61.lib

libboost_log-vc140-mt-gd-1_61.lib

libboost_log_setup-vc140-mt-gd-1_61.lib

libboost_math_c99-vc140-mt-gd-1_61.lib

libboost_math_c99f-vc140-mt-gd-1_61.lib

libboost_math_c99l-vc140-mt-gd-1_61.lib

libboost_math_tr1-vc140-mt-gd-1_61.lib

libboost_math_tr1f-vc140-mt-gd-1_61.lib

libboost_math_tr1l-vc140-mt-gd-1_61.lib

libboost_mpi-vc140-mt-gd-1_61.lib

libboost_prg_exec_monitor-vc140-mt-gd-1_61.lib

libboost_program_options-vc140-mt-gd-1_61.lib

libboost_random-vc140-mt-gd-1_61.lib

libboost_regex-vc140-mt-gd-1_61.lib

libboost_serialization-vc140-mt-gd-1_61.lib

libboost_signals-vc140-mt-gd-1_61.lib

libboost_system-vc140-mt-gd-1_61.lib

libboost_test_exec_monitor-vc140-mt-gd-1_61.lib

libboost_thread-vc140-mt-gd-1_61.lib

libboost_timer-vc140-mt-gd-1_61.lib

libboost_unit_test_framework-vc140-mt-gd-1_61.lib

libboost_wave-vc140-mt-gd-1_61.lib

libboost_wserialization-vc140-mt-gd-1_61.lib

qhull_d.lib

qhull_p_d.lib

qhull_r_d.lib

qhullcpp_d.lib

qhullstatic_d.lib

qhullstatic_r_d.lib

vtkalglib-7.0-gd.lib

vtkChartsCore-7.0-gd.lib

vtkCommonColor-7.0-gd.lib

vtkCommonComputationalGeometry-7.0-gd.lib

vtkCommonCore-7.0-gd.lib

vtkCommonDataModel-7.0-gd.lib

vtkCommonExecutionModel-7.0-gd.lib

vtkCommonMath-7.0-gd.lib

vtkCommonMisc-7.0-gd.lib

vtkCommonSystem-7.0-gd.lib

vtkCommonTransforms-7.0-gd.lib

vtkDICOMParser-7.0-gd.lib

vtkDomainsChemistry-7.0-gd.lib

vtkexoIIc-7.0-gd.lib

vtkexpat-7.0-gd.lib

vtkFiltersAMR-7.0-gd.lib

vtkFiltersCore-7.0-gd.lib

vtkFiltersExtraction-7.0-gd.lib

vtkFiltersFlowPaths-7.0-gd.lib

vtkFiltersGeneral-7.0-gd.lib

vtkFiltersGeneric-7.0-gd.lib

vtkFiltersGeometry-7.0-gd.lib

vtkFiltersHybrid-7.0-gd.lib

vtkFiltersHyperTree-7.0-gd.lib

vtkFiltersImaging-7.0-gd.lib

vtkFiltersModeling-7.0-gd.lib

vtkFiltersParallel-7.0-gd.lib

vtkFiltersParallelImaging-7.0-gd.lib

vtkFiltersProgrammable-7.0-gd.lib

vtkFiltersSelection-7.0-gd.lib

vtkFiltersSMP-7.0-gd.lib

vtkFiltersSources-7.0-gd.lib

vtkFiltersStatistics-7.0-gd.lib

vtkFiltersTexture-7.0-gd.lib

vtkFiltersVerdict-7.0-gd.lib

vtkfreetype-7.0-gd.lib

vtkGeovisCore-7.0-gd.lib

vtkhdf5-7.0-gd.lib

vtkhdf5_hl-7.0-gd.lib

vtkImagingColor-7.0-gd.lib

vtkImagingCore-7.0-gd.lib

vtkImagingFourier-7.0-gd.lib

vtkImagingGeneral-7.0-gd.lib

vtkImagingHybrid-7.0-gd.lib

vtkImagingMath-7.0-gd.lib

vtkImagingMorphological-7.0-gd.lib

vtkImagingSources-7.0-gd.lib

vtkImagingStatistics-7.0-gd.lib

vtkImagingStencil-7.0-gd.lib

vtkInfovisCore-7.0-gd.lib

vtkInfovisLayout-7.0-gd.lib

vtkInteractionImage-7.0-gd.lib

vtkInteractionStyle-7.0-gd.lib

vtkInteractionWidgets-7.0-gd.lib

vtkIOAMR-7.0-gd.lib

vtkIOCore-7.0-gd.lib

vtkIOEnSight-7.0-gd.lib

vtkIOExodus-7.0-gd.lib

vtkIOExport-7.0-gd.lib

vtkIOGeometry-7.0-gd.lib

vtkIOImage-7.0-gd.lib

vtkIOImport-7.0-gd.lib

vtkIOInfovis-7.0-gd.lib

vtkIOLegacy-7.0-gd.lib

vtkIOLSDyna-7.0-gd.lib

vtkIOMINC-7.0-gd.lib

vtkIOMovie-7.0-gd.lib

vtkIONetCDF-7.0-gd.lib

vtkIOParallel-7.0-gd.lib

vtkIOPLY-7.0-gd.lib

vtkIOSQL-7.0-gd.lib

vtkIOVideo-7.0-gd.lib

vtkIOXML-7.0-gd.lib

vtkIOXMLParser-7.0-gd.lib

vtkjpeg-7.0-gd.lib

vtkjsoncpp-7.0-gd.lib

vtklibxml2-7.0-gd.lib

vtkmetaio-7.0-gd.lib

vtkNetCDF-7.0-gd.lib

vtkNetCDF_cxx-7.0-gd.lib

vtkoggtheora-7.0-gd.lib

vtkParallelCore-7.0-gd.lib

vtkpng-7.0-gd.lib

vtkproj4-7.0-gd.lib

vtkRenderingAnnotation-7.0-gd.lib

vtkRenderingContext2D-7.0-gd.lib

vtkRenderingCore-7.0-gd.lib

vtkRenderingFreeType-7.0-gd.lib

vtkRenderingImage-7.0-gd.lib

vtkRenderingLabel-7.0-gd.lib

vtkRenderingLOD-7.0-gd.lib

vtkRenderingVolume-7.0-gd.lib

vtksqlite-7.0-gd.lib

vtksys-7.0-gd.lib

vtktiff-7.0-gd.lib

vtkverdict-7.0-gd.lib

vtkViewsContext2D-7.0-gd.lib

vtkViewsCore-7.0-gd.lib

vtkViewsInfovis-7.0-gd.lib

vtkzlib-7.0-gd.lib

OpenNI2.lib

(2)Release模式下添加如下内容

pcl_common_release.lib

pcl_features_release.lib

pcl_filters_release.lib

pcl_io_release.lib

pcl_io_ply_release.lib

pcl_kdtree_release.lib

pcl_keypoints_release.lib

pcl_ml_release.lib

pcl_octree_release.lib

pcl_outofcore_release.lib

pcl_people_release.lib

pcl_recognition_release.lib

pcl_registration_release.lib

pcl_sample_consensus_release.lib

pcl_search_release.lib

pcl_segmentation_release.lib

pcl_stereo_release.lib

pcl_surface_release.lib

pcl_tracking_release.lib

pcl_visualization_release.lib

flann_cpp_s.lib

flann_s.lib

flann.lib

libboost_atomic-vc140-mt-1_61.lib

libboost_chrono-vc140-mt-1_61.lib

libboost_container-vc140-mt-1_61.lib

libboost_context-vc140-mt-1_61.lib

libboost_coroutine-vc140-mt-1_61.lib

libboost_date_time-vc140-mt-1_61.lib

libboost_exception-vc140-mt-1_61.lib

libboost_filesystem-vc140-mt-1_61.lib

libboost_graph-vc140-mt-1_61.lib

libboost_iostreams-vc140-mt-1_61.lib

libboost_locale-vc140-mt-1_61.lib

libboost_log-vc140-mt-1_61.lib

libboost_log_setup-vc140-mt-1_61.lib

libboost_math_c99-vc140-mt-1_61.lib

libboost_math_c99f-vc140-mt-1_61.lib

libboost_math_c99l-vc140-mt-1_61.lib

libboost_math_tr1-vc140-mt-1_61.lib

libboost_math_tr1f-vc140-mt-1_61.lib

libboost_math_tr1l-vc140-mt-1_61.lib

libboost_mpi-vc140-mt-1_61.lib

libboost_prg_exec_monitor-vc140-mt-1_61.lib

libboost_program_options-vc140-mt-1_61.lib

libboost_random-vc140-mt-1_61.lib

libboost_regex-vc140-mt-1_61.lib

libboost_serialization-vc140-mt-1_61.lib

libboost_signals-vc140-mt-1_61.lib

libboost_system-vc140-mt-1_61.lib

libboost_test_exec_monitor-vc140-mt-1_61.lib

libboost_thread-vc140-mt-1_61.lib

libboost_timer-vc140-mt-1_61.lib

libboost_unit_test_framework-vc140-mt-1_61.lib

libboost_wave-vc140-mt-1_61.lib

libboost_wserialization-vc140-mt-1_61.lib

qhullstatic.lib

qhull.lib

qhull_p.lib

qhull_r.lib

qhullcpp.lib

qhullstatic_r.lib

vtkalglib-7.0.lib

vtkChartsCore-7.0.lib

vtkCommonColor-7.0.lib

vtkCommonComputationalGeometry-7.0.lib

vtkCommonCore-7.0.lib

vtkCommonDataModel-7.0.lib

vtkCommonExecutionModel-7.0.lib

vtkCommonMath-7.0.lib

vtkCommonMisc-7.0.lib

vtkCommonSystem-7.0.lib

vtkCommonTransforms-7.0.lib

vtkDICOMParser-7.0.lib

vtkDomainsChemistry-7.0.lib

vtkexoIIc-7.0.lib

vtkexpat-7.0.lib

vtkFiltersAMR-7.0.lib

vtkFiltersCore-7.0.lib

vtkFiltersExtraction-7.0.lib

vtkFiltersFlowPaths-7.0.lib

vtkFiltersGeneral-7.0.lib

vtkFiltersGeneric-7.0.lib

vtkFiltersGeometry-7.0.lib

vtkFiltersHybrid-7.0.lib

vtkFiltersHyperTree-7.0.lib

vtkFiltersImaging-7.0.lib

vtkFiltersModeling-7.0.lib

vtkFiltersParallel-7.0.lib

vtkFiltersParallelImaging-7.0.lib

vtkFiltersProgrammable-7.0.lib

vtkFiltersSelection-7.0.lib

vtkFiltersSMP-7.0.lib

vtkFiltersSources-7.0.lib

vtkFiltersStatistics-7.0.lib

vtkFiltersTexture-7.0.lib

vtkFiltersVerdict-7.0.lib

vtkfreetype-7.0.lib

vtkGeovisCore-7.0.lib

vtkhdf5-7.0.lib

vtkhdf5_hl-7.0.lib

vtkImagingColor-7.0.lib

vtkImagingCore-7.0.lib

vtkImagingFourier-7.0.lib

vtkImagingGeneral-7.0.lib

vtkImagingHybrid-7.0.lib

vtkImagingMath-7.0.lib

vtkImagingMorphological-7.0.lib

vtkImagingSources-7.0.lib

vtkImagingStatistics-7.0.lib

vtkImagingStencil-7.0.lib

vtkInfovisCore-7.0.lib

vtkInfovisLayout-7.0.lib

vtkInteractionImage-7.0.lib

vtkInteractionStyle-7.0.lib

vtkInteractionWidgets-7.0.lib

vtkIOAMR-7.0.lib

vtkIOCore-7.0.lib

vtkIOEnSight-7.0.lib

vtkIOExodus-7.0.lib

vtkIOExport-7.0.lib

vtkIOGeometry-7.0.lib

vtkIOImage-7.0.lib

vtkIOImport-7.0.lib

vtkIOInfovis-7.0.lib

vtkIOLegacy-7.0.lib

vtkIOLSDyna-7.0.lib

vtkIOMINC-7.0.lib

vtkIOMovie-7.0.lib

vtkIONetCDF-7.0.lib

vtkIOParallel-7.0.lib

vtkIOPLY-7.0.lib

vtkIOSQL-7.0.lib

vtkIOVideo-7.0.lib

vtkIOXML-7.0.lib

vtkIOXMLParser-7.0.lib

vtkjpeg-7.0.lib

vtkjsoncpp-7.0.lib

vtklibxml2-7.0.lib

vtkmetaio-7.0.lib

vtkNetCDF-7.0.lib

vtkNetCDF_cxx-7.0.lib

vtkoggtheora-7.0.lib

vtkParallelCore-7.0.lib

vtkpng-7.0.lib

vtkproj4-7.0.lib

vtkRenderingAnnotation-7.0.lib

vtkRenderingContext2D-7.0.lib

vtkRenderingCore-7.0.lib

vtkRenderingFreeType-7.0.lib

vtkRenderingImage-7.0.lib

vtkRenderingLabel-7.0.lib

vtkRenderingLOD-7.0.lib

vtkRenderingVolume-7.0.lib

vtksqlite-7.0.lib

vtksys-7.0.lib

vtktiff-7.0.lib

vtkverdict-7.0.lib

vtkViewsContext2D-7.0.lib

vtkViewsCore-7.0.lib

vtkViewsInfovis-7.0.lib

vtkzlib-7.0.lib

OpenNI2.lib

 

三、测试代码

1、代码


#include <pcl/visualization/cloud_viewer.h>
#include <pcl/io/pcd_io.h>
using namespace std;

int main() {

	pcl::PCDReader reader;
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>());
	reader.read("D:/tiebao.pcd", *cloud);

	boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("3D Viewer"));
	viewer->addPointCloud<pcl::PointXYZ>(cloud, "sample cloud");
	while (!viewer->wasStopped())
	{
		viewer->spinOnce(100);
		boost::this_thread::sleep(boost::posix_time::microseconds(100000));
	}
	system("pause");
	return 0;
}

2、执行结果

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值