经过两天的不懈努力,终于配置成功了PCL,获得了Rabbit图像,高兴之余,将安装过程中的坑一一罗列出来,帮助大家少走弯路的同时,也能籍此给自己在通往技术佬的道路上激励,如有错误之处,肯定各路大牛不吝指正。
一、准备工具:VS2015, PCL1.8.0 ALL-IN-ONE-INSTALLER及PDB文件:
二、安装过程:
1、在PCL官网上能找到的最新的安装包只有 PCL1.6.0,适用于Windows MSVC 2010 (64bit)。因此对于VS2015只能到GitHub上寻找,地址:https://github.com/PointCloudLibrary/pcl/releases(不过自己未亲身下载),为了简单,可以使用已经下载好的资源:链接:链接:https://pan.baidu.com/s/1i3LcFV7VvLMSJ0tof3ZQXA,提取码:5jc4。下载后可以看到.exe文件和PDB文件,其余两个文件后面将会讲到。
2、点击exe安装,详细过程可参考https://blog.csdn.net/annabelle1130/article/details/78628408,需要注意的是OPEN-NI的安装位置,应该在G:\PCL 1.8.0\3rdParty ,即第三方软件库3rdParty这个文件夹下
其它不再赘述。
3、复制PDB文件夹下的所有文件至G:\PCL 1.8.0\bin下。
4、配置环境变量,就是将G:\PCL 1.8.0\bin; 与3rdParty里面的几个模块的bin文件加至PATH中:
G:\PCL 1.8.0\bin;G:\PCL 1.8.0\3rdParty\FLANN\bin;G:\PCL 1.8.0\3rdParty\Qhull\bin;G:\PCL 1.8.0\3rdParty\OpenNI2\Tools;G:\PCL 1.8.0\3rdParty\VTK\bin
5、下面开始配置VS2015环境,我选的是64位DEBUG模式,经过测试可以直接将下载文件中属性表中的 PCLDebug. PROPS文件加入工程程属性中即可正常工作:
具体添加过程同样参考https://blog.csdn.net/annabelle1130/article/details/78628408,这样免去了复杂的配置目录、依赖项、库文件等繁杂的过程,注意如果你安装的不是G盘根目录的情况下,需要对PROPS文件作改动,主要是至路径方面,---------------------------------建议直接按照本文的安装路径进行操作,节约时间!!!!!!!!!!!!!!!!!!!!!
6、将下载文件中的rabbit.pcd文件复制到工程文件中,与.cpp在同一文件夹下,在.cpp中加入代码:
#include<pcl/visualization/cloud_viewer.h>
#include<iostream>//标准C++库中的输入输出类相关头文件。
#include<pcl/io/io.h>
#include<pcl/io/pcd_io.h>//pcd 读写类相关的头文件。
#include<pcl/io/ply_io.h>
#include<pcl/point_types.h> //PCL中支持的点类型头文件。
int user_data;
using std::cout;
void viewerOneOff(pcl::visualization::PCLVisualizer& viewer)
{
viewer.setBackgroundColor(1.0, 0.5, 1.0); //设置背景颜色
}
int main()
{
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
char strfilepath[256] = "rabbit.pcd";
if (-1 == pcl::io::loadPCDFile(strfilepath, *cloud))
{
cout << "error input!" << endl;
return -1;
}
cout << cloud->points.size() << endl;
pcl::visualization::CloudViewer viewer("Cloud Viewer"); //创建viewer对象
viewer.showCloud(cloud);
viewer.runOnVisualizationThreadOnce(viewerOneOff);
system("pause");
return 0;
}
编译运行,效果完美出现。