PCL(Point Cloud Library)是在吸收了前人点云相关研究根本上成立起来的大型跨平台开源C++编程库,它实现了大量点云相关的通用算法和高效数据布局,涉及到点云获取、滤波、支解、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。撑持多种操纵系统平台,可在Windows、Linux、Android、Mac OS X、部分嵌入式实时系统上运行。如果说OpenCV是2D信息获取与措置惩罚惩罚的结晶,那么PCL就在3D信息获取与措置惩罚惩罚上具有同等职位地方,PCL是BSD授权方法,可以免费进行商业和学术应用。
比来刚接触PCL,发明用到PCL的人还是对照少,可供学习的资料也不久不多,所以,我想从新开始学习,并记录下学习的过程。如果有兴趣一起学习的同学可以加我QQ761551935,我们一起交流学习。
学习资源:
PCL 1.8.0 对照全的安置包及安置法式:
PCL 相关资料汇总:https://github.com/neilgu00365/Survey-for-SfMMission
PCL 中国点云库:
环境:windows+vs2010
如果你没有vs2010我给你分享一个安置包链接: 暗码:a53o
一、下载
我用的是PCL 1.6.0 All-In-One Installer,Windows MSVC 2010 (32bit),所以,下面是以这个版本为主。其实,只要下载PCL-1.6.0-AllInOne-msvc2010-win32.exe、OpenNI 1.5.4 (patched)和Sensor 5.1.0 (patched)三个文件就可以了,PCL-1.6.0-AllInOne-msvc2010-win32.exe内部已经包罗了全部的依赖库,安置的过程中,OpenNI会安置不上,所以要单独下载,其它的依赖库都可以不用下载。
二、安置
分袂安置
1、PCL-1.6.0-AllInOne-msvc2010-win32.exe
2、OpenNI-Win32-1.5.4-Dev.msi
3、Sensor-Win-OpenSource32-5.1.0.msi
注意:你要编译的是Win32和Win64的版本要区别开,PCL和依赖库都统一用同一个版本的,否则运行的时候会报错。
三、配置
1、配置包罗路径
将PCL安置路径下的3rdParty目录下的include添加进去,此外OpenNI单独安置的路径也添加进去,还有PCL安置路径下的Include\pcl-1.6也添加进去。
2、配置库路径
将PCL安置路径下的3rdParty目录下的lib添加进去,此外OpenNI单独安置的路径也添加进去,还有PCL安置路径下的lib也添加进去。
3、配置输入库文件
添加下列文件名
opengl32.lib pcl_apps_debug.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_octree_debug.lib pcl_registration_debug.lib pcl_sample_consensus_debug.lib pcl_search_debug.lib pcl_segmentation_debug.lib pcl_surface_debug.lib pcl_tracking_debug.lib pcl_visualization_debug.lib flann_cpp_s-gd.lib boost_chrono-vc100-mt-gd-1_49.lib boost_date_time-vc100-mt-gd-1_47.lib boost_date_time-vc100-mt-gd-1_49.lib boost_filesystem-vc100-mt-gd-1_47.lib boost_filesystem-vc100-mt-gd-1_49.lib boost_graph-vc100-mt-gd-1_49.lib boost_graph_parallel-vc100-mt-gd-1_49.lib boost_iostreams-vc100-mt-gd-1_47.lib boost_iostreams-vc100-mt-gd-1_49.lib boost_locale-vc100-mt-gd-1_49.lib boost_math_c99-vc100-mt-gd-1_49.lib boost_math_c99f-vc100-mt-gd-1_49.lib boost_math_tr1-vc100-mt-gd-1_49.lib boost_math_tr1f-vc100-mt-gd-1_49.lib boost_mpi-vc100-mt-gd-1_49.lib boost_prg_exec_monitor-vc100-mt-gd-1_49.lib boost_program_options-vc100-mt-gd-1_49.lib boost_random-vc100-mt-gd-1_49.lib boost_regex-vc100-mt-gd-1_49.lib boost_serialization-vc100-mt-gd-1_49.lib boost_signals-vc100-mt-gd-1_49.lib boost_system-vc100-mt-gd-1_47.lib boost_system-vc100-mt-gd-1_49.lib boost_thread-vc100-mt-gd-1_47.lib boost_thread-vc100-mt-gd-1_49.lib boost_timer-vc100-mt-gd-1_49.lib boost_unit_test_framework-vc100-mt-gd-1_49.lib boost_wave-vc100-mt-gd-1_49.lib boost_wserialization-vc100-mt-gd-1_49.lib libboost_chrono-vc100-mt-gd-1_49.lib libboost_date_time-vc100-mt-gd-1_47.lib libboost_date_time-vc100-mt-gd-1_49.lib libboost_filesystem-vc100-mt-gd-1_47.lib libboost_filesystem-vc100-mt-gd-1_49.lib libboost_graph_parallel-vc100-mt-gd-1_49.lib libboost_iostreams-vc100-mt-gd-1_47.lib libboost_iostreams-vc100-mt-gd-1_49.lib libboost_locale-vc100-mt-gd-1_49.lib libboost_math_c99-vc100-mt-gd-1_49.lib libboost_math_c99f-vc100-mt-gd-1_49.lib libboost_math_tr1-vc100-mt-gd-1_49.lib libboost_math_tr1f-vc100-mt-gd-1_49.lib libboost_mpi-vc100-mt-gd-1_49.lib libboost_prg_exec_monitor-vc100-mt-gd-1_49.lib libboost_program_options-vc100-mt-gd-1_49.lib libboost_random-vc100-mt-gd-1_49.lib libboost_regex-vc100-mt-gd-1_49.lib libboost_serialization-vc100-mt-gd-1_49.lib libboost_signals-vc100-mt-gd-1_49.lib libboost_system-vc100-mt-gd-1_47.lib libboost_system-vc100-mt-gd-1_49.lib libboost_test_exec_monitor-vc100-mt-gd-1_49.lib libboost_thread-vc100-mt-gd-1_47.lib libboost_thread-vc100-mt-gd-1_49.lib libboost_timer-vc100-mt-gd-1_49.lib libboost_unit_test_framework-vc100-mt-gd-1_49.lib libboost_wave-vc100-mt-gd-1_49.lib libboost_wserialization-vc100-mt-gd-1_49.lib vtkalglib-gd.lib vtkCharts-gd.lib vtkCommon-gd.lib vtkDICOMParser-gd.lib vtkexoIIc-gd.lib vtkexpat-gd.lib vtkFiltering-gd.lib vtkfreetype-gd.lib vtkftgl-gd.lib vtkGenericFiltering-gd.lib vtkGeovis-gd.lib vtkGraphics-gd.lib vtkhdf5-gd.lib vtkHybrid-gd.lib vtkImaging-gd.lib vtkInfovis-gd.lib vtkIO-gd.lib vtkjpeg-gd.lib vtklibxml2-gd.lib vtkmetaio-gd.lib vtkNetCDF-gd.lib vtkNetCDF_cxx-gd.lib vtkpng-gd.lib vtkproj4-gd.lib vtkRendering-gd.lib vtksqlite-gd.lib vtksys-gd.lib vtktiff-gd.lib vtkverdict-gd.lib vtkViews-gd.lib vtkVolumeRendering-gd.lib vtkWidgets-gd.lib vtkzlib-gd.lib
文件有点多,这里可以有个对照快的要领:这里以vtk为例,