【转】PCL编程->VS2013+PCL1.8.0环境配置及初运行 转自:https://blog.csdn.net/sunboyiris/article/details/77233005

转自:https://blog.csdn.net/sunboyiris/article/details/77233005

下载

把你需要安装的PCL版本及属性表都下载下来。然后解压。
百度网盘:http://pan.baidu.com/s/1c1sqoQO

安装

1.在安装PCL一键安装包时,勾选上Add PCL to system PATH for all users。安装过程中,会弹出OpenNI的安装程序,更改OpenNI的安装路径为你安装的PCL路径下的3rdParty文件夹下的OpenNI2文件夹中。

2.拷贝与你安装PCL版本对应的PDB压缩包解压后的PDB文件,到你PCL安装路径下的bin文件夹,就是里面有pcl开头的dll的那个文件夹。
注意:安装完成后重启下电脑。

配置

1.打开VS新建一个控制台程序。
如果安装的是64位PCL,界面有个运行项,后面有个debug,在后面有个叫解决方案平台的下拉框,其值默认为win32,需要把win32,改成x64,方法是,点win32的箭头,点配置管理器,点活动解决方案平台,点新建,把键入或选择新平台,这一项,切换为x64,然后确定,此时,原来的win32已变为x64。

2.在解决方案管理器里找到你新建的项目,右键点属性,弹出属性页窗口。
点击配置属性下的调试,右边有个环境项,把值设置为PATH=$(PCL_ROOT)bin;$(PCL_ROOT)3rdPartyFLANNbin;$(PCL_ROOT)3rdPartyVTKbin;$(PCL_ROOT)Qhullbin;$(PCL_ROOT)3rdPartyOpenNI2Tools;$(PATH)
点击配置属性下的CC++,点击它的子项预处理器,右边有个预处理器定义,添加上_SCL_SECURE_NO_WARNINGS和_CRT_SECURE_NO_WARNINGS。

3.在属性管理器里点击项目,展开子项。
如果安装的是32位,点击选中开头为Debug的子项里右键,点击添加现有属性表,然后找到你下载的文件夹里的PCLDebug.props,添加上。点击选中开头为Release的子项里右键,点击添加现有属性表,然后找到你下载的文件夹里的PCLRelease.props,添加上。
如果安装的是64位,点击选中开头为Debug的子项里右键,点击添加现有属性表,然后找到你下载的文件夹里的PCLDebug.props,添加上。点击选中开头为Release的子项里右键,点击添加现有属性表,然后找到你下载的文件夹里的PCLRelease.props,添加上。
注意在这里,64位的会有2个开头为Debug的子项,都要添加上PCLDebug.props,并且2个开头为Release的子项,也要添加上PCLRelease.props。

运行

/**************************************************************************
**
**PointRegistration  Debug 1.0                                                  
**Copyright(c) 2017 - 2027 by *** Co.                   
**Written by Mr.Vincent                                                 
**
**Function:                                                             
**PointCloud All     
**
**************************************************************************/
#include "stdafx.h"
#include "iostream"
#include <pcl/io/pcd_io.h> //PCL的PCD格式文件的输入输出头文件  
#include <pcl/io/ply_io.h> //PCL的PCD格式文件的输入输出头文件  
#include <pcl/point_types.h> //PCL对各种格式的点的支持头文件 
#include <pcl/visualization/cloud_viewer.h>  //点云显示库函数
#include <pcl/visualization/pcl_visualizer.h>//点云显示库函数
using namespace std;

int main()
{
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); // 创建点云(指针)  

	if (pcl::io::loadPLYFile<pcl::PointXYZ>("000.ply", *cloud) == -1) //* 读入PCD格式的文件,如果文件不存在,返回-1  
	{
		PCL_ERROR("Couldn't read file test_pcd.pcd \n"); //文件不存在时,返回错误,终止程序。  
		return (-1);
	}
	std::cout << "Loaded "
		<< cloud->width * cloud->height
		<< " data points from test_file.pcd with the following fields: "
		<< std::endl;

	pcl::visualization::PCLVisualizer viewer("cloud example");
	pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> source_cloud_color_handler(cloud, 255, 120, 80);
	viewer.addPointCloud(cloud, source_cloud_color_handler, "cloud example");
	//viewer.addCoordinateSystem(1.0, 0);
	viewer.setBackgroundColor(0.05, 0.05, 0.05, 0);
	viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, "cloud example");
	while (!viewer.wasStopped()) {
		viewer.spinOnce();
	}
	system("pause");
	return 0;
}




猜你喜欢

转载自blog.csdn.net/liukunrs/article/details/80233283