原文出自(转载): http://blog.csdn.net/renshengrumenglibing/article/details/9073675
View Code
1、安装
pcl 的完全安装包可以到: http://pointclouds.org/downloads/windows.html 下载。然后进行安装,我的编译器是32位的,我下载的是vs2010 32bit的。
然后将pcl安装到 路径下了
D:\Program Files\PCL 1.6.0
同时安装的路径下有:
D:\Program Files\OpenNI
D:\Program Files\PrimeSense
2、环境变量配置
添加环境变量PCL_ROOT
D:\Program Files\PCL 1.6.0
然后在path环境变量下添加:
D:\Program Files\OpenNI\Bin;%PCL_ROOT%\bin;%PCL_ROOT%\3rdParty\FLANN\bin;%PCL_ROOT%\3rdParty\Qhull\bin;
3、新建一个空的工程
新建文件 main.cpp
#include <pcl/visualization/cloud_viewer.h> #include <iostream> #include <pcl/io/io.h> #include <pcl/io/pcd_io.h> int user_data; void viewerOneOff (pcl::visualization::PCLVisualizer& viewer) { viewer.setBackgroundColor (1.0, 0.5, 1.0); pcl::PointXYZ o; o.x = 1.0; o.y = 0; o.z = 0; viewer.addSphere (o, 0.25, "sphere", 0); std::cout << "i only run once" << std::endl; } void viewerPsycho (pcl::visualization::PCLVisualizer& viewer) { static unsigned count = 0; std::stringstream ss; ss << "Once per viewer loop: " << count++; viewer.removeShape ("text", 0); viewer.addText (ss.str(), 200, 300, "text", 0); //FIXME: possible race condition here: user_data++; } int main () { pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZRGBA>); pcl::io::loadPCDFile ("my_point_cloud.pcd", *cloud); pcl::visualization::CloudViewer viewer("Cloud Viewer"); //blocks until the cloud is actually rendered viewer.showCloud(cloud); //use the following functions to get access to the underlying more advanced/powerful //PCLVisualizer //This will only get called once viewer.runOnVisualizationThreadOnce (viewerOneOff); //This will get called once per visualization iteration viewer.runOnVisualizationThread (viewerPsycho); while (!viewer.wasStopped ()) { //you can also do cool processing here //FIXME: Note that this is running in a separate thread from viewerPsycho //and you should guard against race conditions yourself... user_data++; } return 0; }
4、配置工程
1、项目--->属性--->配置属性--->vc++目录
包含目配置:
D:\Program Files\PCL\3rdParty\Boost\include; D:\Program Files\PCL\3rdParty\Eigen\include; D:\Program Files\PCL\3rdParty\Flann\include; D:\Program Files\PCL\3rdParty\Qhull\include; D:\Program Files\PCL\3rdParty\VTK\include\vtk-5.8; D:\Program Files\OpenNI\Include; D:\Program Files\PCL\include\pcl-1.6;
项目属性->VC++目录->库目录
库目录配置:
D:\Program Files\PCL\3rdParty\Boost\lib; D:\Program Files\PCL\3rdParty\Qhull\lib; D:\Program Files\PCL\3rdParty\FLANN\lib; D:\Program Files\PCL\3rdParty\VTK\lib\vtk-5.8; D:\Program Files\PCL\lib; D:\Program Files\OpenNI\Lib;
dubug模式,链接器->输入->附加依赖项 添加:
opengl32.lib pcl_kdtree_debug.lib pcl_io_debug.lib pcl_search_debug.lib pcl_segmentation_debug.lib pcl_apps_debug.lib pcl_features_debug.lib pcl_filters_debug.lib pcl_visualization_debug.lib pcl_common_debug.lib flann_cpp_s-gd.lib libboost_system-vc100-mt-gd-1_47.lib libboost_filesystem-vc100-mt-gd-1_47.lib libboost_thread-vc100-mt-gd-1_47.lib libboost_date_time-vc100-mt-gd-1_47.lib libboost_iostreams-vc100-mt-gd-1_47.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
此时环境已经搭建完毕,编译程序可以通过了,添加一个运行时需要的文件 my_point_cloud.pcd 就可以了
文件内容具体如下:

5、执行结果