(1)VS的相关下载不再赘述,关于PCL1.8.0的下载从官网上下载极其缓慢,如有需求,请联系我,有百度云链接及配置好的文件。
(2)下载完成PCL后,双击exe文件,直至安装成功。注意:尽量放在你常用的文件夹内,方便后续配置。
(其实配置第三方库的流程大体上都很相似)
(3)在VS中生成一个win32控制台应用程序
并将其改为x64
(4)配置生成项目的属性
分别是包含目录二号库目录
包含目录为:
库目录为:
(各位根据自己的PCL所在文件路径进行配置)
配置完后点击应用即可。
(5)转到属性管理器界面
(由于本人配置的时debug模式,release相同)在debug|x64中插入现有属性表
(6)编译一下
注意:这里边最好提前在预处理其中加入_SCL_SECURE_NO_WARNINGS防止报错关于4996的错误。
(7)尝试一下加载点云数据吧
#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] = "C:/Users/Administrator/Desktop/ConsoleApplication1/capture-2020-06-23-21-17-39.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;
//}
using namespace std;
int main() {
pcl::PCDReader reader;
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>());
reader.read("F:/02learning/04 3D-point-cloud learning/ConsoleApplication1/rabbit.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;
}
结果是: