vs2017配置LAStools+测试代码

之前已经配置好pcl(vs2017配置pcl),可以单独配置LAStools,也可以在原有pcl属性表的基础上继续配置

目录

    • 1 相关数据下载
    • 2 LAStools配置步骤
    • 3 测试代码

1 相关数据下载

配置所需要的LAStools文件与测试数据已上传至某度网盘

链接:https://pan.baidu.com/s/1i2KTpkd26q7wVa_-X3SXyA
提取码:pdx6
复制这段内容后打开百度网盘手机App,操作更方便哦

2 LAStools配置步骤

将下载的LAStools放在某一目录下
1)通用属性----VC++目录—包含目录,添加inc路径和src路径

 D:\...\LAStools\LASlib\inc
 D:\...\LAStools\LASzip\src

vs2017配置LAStools+测试代码_第1张图片

2)库目录,添加lib路径

D:\...\lastools_1.6.0\lib

vs2017配置LAStools+测试代码_第2张图片
3)链接器—输入—附加依赖项,Debug版本添加LASlibD.lib,Release版本添加LASlib.lib
vs2017配置LAStools+测试代码_第3张图片
至此,LAStools配置完成

3 测试代码

测试代码:las转pcd,获取强度信息

#include 
#include "lasreader.hpp"
#include "laswriter.hpp"
#include 

using namespace std;

int main()
{
     
	//打开las文件
	LASreadOpener lasrReadOpener;
	lasrReadOpener.set_file_name("1.las");
	LASreader* lasReader = lasrReadOpener.open(false);
	int count = lasReader->header.number_of_point_records;

	cout << "las点云数据点个数为:" << count << endl;

	//创建pcd文件
	pcl::PointCloud<pcl::PointXYZI>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZI>);
	cloud->width = count;
	cloud->height = 1;
	cloud->is_dense = false;
	cloud->resize(cloud->width*cloud->height);

	// 偏移值
	float xOffset = lasReader->header.x_offset;
	float yOffset = lasReader->header.y_offset;
	float zOffset = lasReader->header.z_offset;

	cout << "->正在执行las转pcd..." << endl;
	int i = 0;
	while (lasReader->read_point() && i < cloud->points.size())
	{
     
		///获取x, y, z坐标
		cloud->points[i].x = lasReader->point.get_x() - xOffset;
		cloud->points[i].y = lasReader->point.get_y() - yOffset;
		cloud->points[i].z = lasReader->point.get_z() - zOffset;
		///获取intensity信息
		cloud->points[i].intensity = lasReader->point.get_intensity();

		i++;
	}

	//保存pcd文件
	pcl::io::savePCDFileBinary("1.pcd", *cloud);
	cout << *cloud << endl;

	return 0;

}

你可能感兴趣的:(PCL,C++,环境配置)