PCL 作為一個優秀的點雲類開源庫集成了大量先進的點雲處理演算法,從最開始的1.0現在已經發展到1.8.0,PCL中的演算法也再不斷更新完善。

下載PCL :PCL的配置與開發環境有關,本文作者在windows 10 64位系統下基於vs2013展開32位PCL1.8.0的配置。下載鏈接:Point Cloud Library 1.8.0 has been released |

安裝PCL: PCL的配置和OpenCV的配置過程非常相似。

安裝過程中會彈出OpenNI的安裝(前面安裝組件時,默認是選擇安裝的),安裝可以選擇默認路徑,也可以自行選擇(最後好是安裝在pcl1.8.0的子文件夾下)。

安裝完成後將PDB files解壓,將所有pdb文件複製到安裝路勁的PCL 1.8.0in下。

pcl配置:

添加環境變數:根據自己安裝的路徑將下面文件的路徑添加到圖中系統環境變數中,添加完畢後不要忘記了重啟或者註銷電腦。

新建一個工程,並新建一個屬性表:命名位PCL1.8.0Debug,發布應用時會使用Release版本的,調試時使用Debug作為區別。因為安裝的是32位PCL,又因為測試Debug版本,所以再Debug|Win32下新建屬性表。打開該屬性表,進行配置。

添加包含目錄
添加庫目錄

添加附加依賴項,這裡添加的Debug版本的lib文件,當發布應用的時候要使用Release版本的。調試Debug和發布Release區別很大,效率也不一樣,具體區別可以問度娘。

下面是debug版本的靜態庫,這麼lib文件,如果一個個去選擇那就費時費力了。

debug版本的lib文件:

pcl_common_debug.lib

pcl_features_debug.libpcl_filters_debug.libpcl_io_debug.libpcl_io_ply_debug.libpcl_kdtree_debug.libpcl_keypoints_debug.libpcl_ml_debug.libpcl_octree_debug.lib

pcl_outofcore_debug.lib

pcl_people_debug.libpcl_recognition_debug.libpcl_registration_debug.libpcl_sample_consensus_debug.libpcl_search_debug.libpcl_segmentation_debug.libpcl_stereo_debug.libpcl_surface_debug.libpcl_tracking_debug.lib

pcl_visualization_debug.lib

libboost_atomic-vc120-mt-gd-1_59.liblibboost_chrono-vc120-mt-gd-1_59.liblibboost_container-vc120-mt-gd-1_59.liblibboost_context-vc120-mt-gd-1_59.liblibboost_coroutine-vc120-mt-gd-1_59.liblibboost_date_time-vc120-mt-gd-1_59.liblibboost_exception-vc120-mt-gd-1_59.liblibboost_filesystem-vc120-mt-gd-1_59.liblibboost_graph-vc120-mt-gd-1_59.lib

libboost_iostreams-vc120-mt-gd-1_59.lib

libboost_locale-vc120-mt-gd-1_59.liblibboost_log-vc120-mt-gd-1_59.liblibboost_log_setup-vc120-mt-gd-1_59.liblibboost_math_c99-vc120-mt-gd-1_59.liblibboost_math_c99f-vc120-mt-gd-1_59.liblibboost_math_c99l-vc120-mt-gd-1_59.liblibboost_math_tr1-vc120-mt-gd-1_59.liblibboost_math_tr1f-vc120-mt-gd-1_59.liblibboost_math_tr1l-vc120-mt-gd-1_59.lib

libboost_mpi-vc120-mt-gd-1_59.lib

libboost_prg_exec_monitor-vc120-mt-gd-1_59.liblibboost_program_options-vc120-mt-gd-1_59.liblibboost_random-vc120-mt-gd-1_59.liblibboost_regex-vc120-mt-gd-1_59.liblibboost_serialization-vc120-mt-gd-1_59.liblibboost_signals-vc120-mt-gd-1_59.liblibboost_system-vc120-mt-gd-1_59.liblibboost_test_exec_monitor-vc120-mt-gd-1_59.liblibboost_thread-vc120-mt-gd-1_59.lib

libboost_timer-vc120-mt-gd-1_59.lib

libboost_unit_test_framework-vc120-mt-gd-1_59.liblibboost_wave-vc120-mt-gd-1_59.liblibboost_wserialization-vc120-mt-gd-1_59.libflann_cpp_s-gd.libflann_s-gd.libqhull-gd.libqhullcpp-gd.libqhullstatic-gd.libqhullstatic_r-gd.lib

qhull_p-gd.lib

qhull_r-gd.libvtkalglib-7.0-gd.libvtkChartsCore-7.0-gd.libvtkCommonColor-7.0-gd.libvtkCommonComputationalGeometry-7.0-gd.libvtkCommonCore-7.0-gd.libvtkCommonDataModel-7.0-gd.libvtkCommonExecutionModel-7.0-gd.libvtkCommonMath-7.0-gd.lib

vtkCommonMisc-7.0-gd.lib

vtkCommonSystem-7.0-gd.libvtkCommonTransforms-7.0-gd.libvtkDICOMParser-7.0-gd.libvtkDomainsChemistry-7.0-gd.libvtkDomainsChemistryOpenGL2-7.0-gd.libvtkexoIIc-7.0-gd.libvtkexpat-7.0-gd.libvtkFiltersAMR-7.0-gd.libvtkFiltersCore-7.0-gd.libvtkFiltersExtraction-7.0-gd.libvtkFiltersFlowPaths-7.0-gd.libvtkFiltersGeneral-7.0-gd.libvtkFiltersGeneric-7.0-gd.libvtkFiltersGeometry-7.0-gd.libvtkFiltersHybrid-7.0-gd.libvtkFiltersHyperTree-7.0-gd.libvtkFiltersImaging-7.0-gd.libvtkFiltersModeling-7.0-gd.libvtkFiltersParallel-7.0-gd.libvtkFiltersParallelImaging-7.0-gd.libvtkFiltersProgrammable-7.0-gd.libvtkFiltersSelection-7.0-gd.libvtkFiltersSMP-7.0-gd.libvtkFiltersSources-7.0-gd.libvtkFiltersStatistics-7.0-gd.libvtkFiltersTexture-7.0-gd.libvtkFiltersVerdict-7.0-gd.libvtkfreetype-7.0-gd.libvtkGeovisCore-7.0-gd.libvtkglew-7.0-gd.libvtkGUISupportQt-7.0-gd.libvtkGUISupportQtSQL-7.0-gd.libvtkhdf5-7.0-gd.libvtkhdf5_hl-7.0-gd.libvtkImagingColor-7.0-gd.libvtkImagingCore-7.0-gd.libvtkImagingFourier-7.0-gd.libvtkImagingGeneral-7.0-gd.libvtkImagingHybrid-7.0-gd.libvtkImagingMath-7.0-gd.libvtkImagingMorphological-7.0-gd.libvtkImagingSources-7.0-gd.libvtkImagingStatistics-7.0-gd.libvtkImagingStencil-7.0-gd.libvtkInfovisCore-7.0-gd.libvtkInfovisLayout-7.0-gd.libvtkInteractionImage-7.0-gd.libvtkInteractionStyle-7.0-gd.libvtkInteractionWidgets-7.0-gd.libvtkIOAMR-7.0-gd.libvtkIOCore-7.0-gd.libvtkIOEnSight-7.0-gd.libvtkIOExodus-7.0-gd.libvtkIOExport-7.0-gd.libvtkIOGeometry-7.0-gd.libvtkIOImage-7.0-gd.libvtkIOImport-7.0-gd.libvtkIOInfovis-7.0-gd.libvtkIOLegacy-7.0-gd.libvtkIOLSDyna-7.0-gd.libvtkIOMINC-7.0-gd.libvtkIOMovie-7.0-gd.libvtkIONetCDF-7.0-gd.libvtkIOParallel-7.0-gd.libvtkIOParallelXML-7.0-gd.libvtkIOPLY-7.0-gd.libvtkIOSQL-7.0-gd.libvtkIOVideo-7.0-gd.libvtkIOXML-7.0-gd.libvtkIOXMLParser-7.0-gd.libvtkjpeg-7.0-gd.libvtkjsoncpp-7.0-gd.libvtklibxml2-7.0-gd.libvtkmetaio-7.0-gd.libvtkNetCDF-7.0-gd.libvtkNetCDF_cxx-7.0-gd.libvtkoggtheora-7.0-gd.libvtkParallelCore-7.0-gd.libvtkpng-7.0-gd.libvtkproj4-7.0-gd.libvtkRenderingAnnotation-7.0-gd.libvtkRenderingContext2D-7.0-gd.libvtkRenderingContextOpenGL2-7.0-gd.libvtkRenderingCore-7.0-gd.libvtkRenderingFreeType-7.0-gd.libvtkRenderingImage-7.0-gd.libvtkRenderingLabel-7.0-gd.libvtkRenderingLOD-7.0-gd.libvtkRenderingOpenGL2-7.0-gd.libvtkRenderingQt-7.0-gd.libvtkRenderingVolume-7.0-gd.libvtkRenderingVolumeOpenGL2-7.0-gd.libvtksqlite-7.0-gd.libvtksys-7.0-gd.libvtktiff-7.0-gd.libvtkverdict-7.0-gd.libvtkViewsContext2D-7.0-gd.libvtkViewsCore-7.0-gd.libvtkViewsInfovis-7.0-gd.libvtkViewsQt-7.0-gd.libvtkzlib-7.0-gd.libOpenNI2.lib

tips:預處理器中添加:_SCL_SECURE_NO_WARNINGS即可。 不然測試時會報錯。

結語

pcl最好是安裝32位的,即使電腦是64位的, 第一次安裝64位的失敗,後來重新安裝的32位成功。

參考文章:

windows系統下配置PCL1.8.0和VS2013 - CSDN博客


推薦閱讀:
相關文章