Windows环境下pcl点云库 安装配置全流程(精简、有效)

这篇具有很好参考价值的文章主要介绍了Windows环境下pcl点云库 安装配置全流程(精简、有效)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zaibeijixing/article/details/130770476
————————————————

 本文为Windows配置点云库pcl步骤,具体win10、visual studio 2019、pcl1.11.1

目录

【1】下载安装包

【2】安装

2.1 先执行win64.exe

2.2 解压win64.zip

2.3 OpenNI2安装

【3】设置环境变量

【4】visual studio 项目实战

4.1 新建C++空项目

4.2 包含目录

4.3 库目录

4.4 添加附加依赖项

4.5 添加.cpp并执行显示效果

另:执行可能出现的代码错误解决方法


【1】下载安装包

下载链接:Releases · PointCloudLibrary/pcl · GitHub

pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

 其中,AllInOne是一个包含了PCL库所有模块的单独下载包,方便快速获取整个PCL库,而pdb则是PCL库的调试信息文件,可以在程序崩溃时提供更详细的调试信息来分析解决错误。

【2】安装

2.1 先执行win64.exe

 pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

  建议自定义安装的位置,按提示操作即可,建议把pcl添加到PATH中。

pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

2.2 解压win64.zip

pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

把解压出来的子文件,全部复制到如下 PCL/bin中

 pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

2.3 OpenNI2安装

pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

 执行.msi,建议修改路径到该文件夹下;如果已安装过,建议Remove后重新安装,以便后续添加PATH和使用时路径清晰。

pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

 pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

 安装完毕,该路径如下:

pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

【3】设置环境变量

“此电脑”右键>>属性,如下图添加,再重启电脑:

 pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

【4】visual studio 项目实战

4.1 新建C++空项目

可设置Debug-x64,并右键 >> 属性进行配置。

pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

4.2 包含目录

如下图,编辑包含目录:

pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

 添加如下路径(不同库的路径层级不同,建议各层级都添加避免包含错误):

D:\tools\PCL 1.11.1\include\pcl-1.11

D:\tools\PCL 1.11.1\include\pcl-1.11\pcl

D:\tools\PCL 1.11.1\3rdParty\Boost\include\boost-1_74

D:\tools\PCL 1.11.1\3rdParty\Boost\include\boost-1_74\boost

D:\tools\PCL 1.11.1\3rdParty\Eigen\eigen3

D:\tools\PCL 1.11.1\3rdParty\Eigen\eigen3\Eigen

D:\tools\PCL 1.11.1\3rdParty\Eigen\eigen3\unsupported

D:\tools\PCL 1.11.1\3rdParty\Eigen\eigen3\unsupported\Eigen

D:\tools\PCL 1.11.1\3rdParty\FLANN\include

D:\tools\PCL 1.11.1\3rdParty\FLANN\include\flann

D:\tools\PCL 1.11.1\3rdParty\OpenNI2\Include

D:\tools\PCL 1.11.1\3rdParty\Qhull\include

D:\tools\PCL 1.11.1\3rdParty\Qhull\include\libqhull

D:\tools\PCL 1.11.1\3rdParty\Qhull\include\libqhull_r

D:\tools\PCL 1.11.1\3rdParty\Qhull\include\libqhullcpp

D:\tools\PCL 1.11.1\3rdParty\VTK\include

D:\tools\PCL 1.11.1\3rdParty\VTK\include\vtk-8.2

4.3 库目录

仿照4.3包含目录添加库目录:

D:\tools\PCL 1.11.1\lib

D:\tools\PCL 1.11.1\3rdParty\Boost\lib

D:\tools\PCL 1.11.1\3rdParty\FLANN\lib

D:\tools\PCL 1.11.1\3rdParty\OpenNI2\Lib

D:\tools\PCL 1.11.1\3rdParty\Qhull\lib

D:\tools\PCL 1.11.1\3rdParty\VTK\lib

4.4 添加附加依赖项

需要添加PCL和VTK的debug版lib,总共140多个。

可以通过以下批处理的方法:

cd\d D:\tools\PCL 1.11.1\lib  //转到lib目录

dir/b *d.lib  >0.txt                  //把debug用的d.lib后缀名字写到0.txt中

两次操作把这些名字复制粘贴到附加依赖项中。

pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

4.5 添加.cpp并执行显示效果

#include <iostream>
#include <thread>

#include <pcl/console/parse.h>
#include <pcl/point_cloud.h> // for PointCloud
#include <pcl/common/io.h> // for copyPointCloud
#include <pcl/point_types.h>
#include <pcl/sample_consensus/ransac.h>
#include <pcl/sample_consensus/sac_model_plane.h>
#include <pcl/sample_consensus/sac_model_sphere.h>
#include <pcl/visualization/pcl_visualizer.h>

using namespace std::chrono_literals;

pcl::visualization::PCLVisualizer::Ptr
simpleVis(pcl::PointCloud<pcl::PointXYZ>::ConstPtr cloud)
{
	// --------------------------------------------
	// -----Open 3D viewer and add point cloud-----
	// --------------------------------------------
	pcl::visualization::PCLVisualizer::Ptr viewer(new pcl::visualization::PCLVisualizer("3D Viewer"));
	viewer->setBackgroundColor(0, 0, 0);
	viewer->addPointCloud<pcl::PointXYZ>(cloud, "sample cloud");
	viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 3, "sample cloud");
	//viewer->addCoordinateSystem (1.0, "global");
	viewer->initCameraParameters();
	return (viewer);
}

int
main(int argc, char** argv)
{
	// initialize PointClouds
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
	pcl::PointCloud<pcl::PointXYZ>::Ptr final(new pcl::PointCloud<pcl::PointXYZ>);

	// populate our PointCloud with points
	cloud->width = 500;
	cloud->height = 1;
	cloud->is_dense = false;
	cloud->points.resize(cloud->width * cloud->height);
	for (pcl::index_t i = 0; i < static_cast<pcl::index_t>(cloud->size()); ++i)
	{
		if (pcl::console::find_argument(argc, argv, "-s") >= 0 || pcl::console::find_argument(argc, argv, "-sf") >= 0)
		{
			(*cloud)[i].x = 1024 * rand() / (RAND_MAX + 1.0);
			(*cloud)[i].y = 1024 * rand() / (RAND_MAX + 1.0);
			if (i % 5 == 0)
				(*cloud)[i].z = 1024 * rand() / (RAND_MAX + 1.0);
			else if (i % 2 == 0)
				(*cloud)[i].z = sqrt(1 - ((*cloud)[i].x * (*cloud)[i].x)
					- ((*cloud)[i].y * (*cloud)[i].y));
			else
				(*cloud)[i].z = -sqrt(1 - ((*cloud)[i].x * (*cloud)[i].x)
					- ((*cloud)[i].y * (*cloud)[i].y));
		}
		else
		{
			(*cloud)[i].x = 1024 * rand() / (RAND_MAX + 1.0);
			(*cloud)[i].y = 1024 * rand() / (RAND_MAX + 1.0);
			if (i % 2 == 0)
				(*cloud)[i].z = 1024 * rand() / (RAND_MAX + 1.0);
			else
				(*cloud)[i].z = -1 * ((*cloud)[i].x + (*cloud)[i].y);
		}
	}

	std::vector<int> inliers;

	// created RandomSampleConsensus object and compute the appropriated model
	pcl::SampleConsensusModelSphere<pcl::PointXYZ>::Ptr
		model_s(new pcl::SampleConsensusModelSphere<pcl::PointXYZ>(cloud));
	pcl::SampleConsensusModelPlane<pcl::PointXYZ>::Ptr
		model_p(new pcl::SampleConsensusModelPlane<pcl::PointXYZ>(cloud));
	if (pcl::console::find_argument(argc, argv, "-f") >= 0)
	{
		pcl::RandomSampleConsensus<pcl::PointXYZ> ransac(model_p);
		ransac.setDistanceThreshold(.01);
		ransac.computeModel();
		ransac.getInliers(inliers);
	}
	else if (pcl::console::find_argument(argc, argv, "-sf") >= 0)
	{
		pcl::RandomSampleConsensus<pcl::PointXYZ> ransac(model_s);
		ransac.setDistanceThreshold(.01);
		ransac.computeModel();
		ransac.getInliers(inliers);
	}

	// copies all inliers of the model computed to another PointCloud
	pcl::copyPointCloud(*cloud, inliers, *final);

	// creates the visualization object and adds either our original cloud or all of the inliers
	// depending on the command line arguments specified.
	pcl::visualization::PCLVisualizer::Ptr viewer;
	if (pcl::console::find_argument(argc, argv, "-f") >= 0 || pcl::console::find_argument(argc, argv, "-sf") >= 0)
		viewer = simpleVis(final);
	else
		viewer = simpleVis(cloud);
	while (!viewer->wasStopped())
	{
		viewer->spinOnce(100);
		std::this_thread::sleep_for(100ms);
	}
	return 0;
}

执行结果:

pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

另:执行可能出现的代码错误解决方法

pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

有两种解决方法:

1、直接跳转到该位置注释;

2、或在预编译器添加 _CRT_SECURE_NO_DEPRECATE

pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

pcl安装教程,windows,pcl,点云,Windows配置点云库pcl

注:部分地方参考:

PCL学习笔记(一)-- Windows下配置安装PCL开发环境_pcl环境配置_看到我请叫我学C++的博客-CSDN博客

 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zaibeijixing/article/details/130770476
————————————————文章来源地址https://www.toymoban.com/news/detail-618032.html

到了这里,关于Windows环境下pcl点云库 安装配置全流程(精简、有效)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【python中对点云PCL库的下载安装与配置】

    需要的资料: python_pcl-0.3.1-cp36-cp36m-win_amd64.whl 压缩包:pcl-1.12.1-pdb-msvc2019-win64 pcl程序:PCL-1.12.1-AllInOne-msvc2019-win64 网盘链接:https://pan.baidu.com/s/184yY7fc5rqwwd9F4cMncDw 提取码:qaqa 用来检验安装是否成功的PCD文件:rabbit.pcd 文件先进行提取,提取完毕之后开始安装: 第一步:双击

    2024年02月12日
    浏览(37)
  • 常见的点云下载地址/点云集合/点云库30个

    1、pcl库自带教程所需的点云数据下载地址 Point Cloud Library - Browse /PCD datasets at SourceForge.net 另外一个地址 https://github.com/PointCloudLibrary/data 31、新增:VTK库的点云数据下载地址,包含.vtkplypdbvtptifstl等格式的点云数据 https://github.com/pyvista/vtk-data/tree/master/Data 2、Princeton ModelNet

    2024年02月13日
    浏览(46)
  • KubeEdge+Sedna安装全流程(超级避坑、精简版)

    k8s只需要安装在master节点上,其他的节点都不用 kubeedge的运行前提是master上必须有k8s docker只是用来发布容器pods的 calico只需要安装在master上,它是节点通信的插件,如果没有这个,master上安装kubeedge的coredns会报错。但是,节点上又不需要安装这个,因为kubeedge针对这个做了自

    2024年02月05日
    浏览(29)
  • 动手深度学习——Windows下的环境安装流程(一步一步安装,图文并配)

    文章参考来源:http://t.csdn.cn/tu8V8 安装Miniconda 根据操作系统下载并安装Miniconda,在安装过程中需要勾选“Add Anaconda to the system PATH environment variable”选项(如当conda版本为4.6.14时)。 Windows用户就选择Windows版本就可以了,按需选择32位或64位 安装好后,按下列步骤进行。 等待安

    2024年02月09日
    浏览(36)
  • AI 绘图 Stable Diffusion(一) 环境安装 Mac、Windows 详细流程

    Stable Diffusion 与 Midjourney 的区别,个人比较喜欢优点里面的不受约束这条。 配置要求 安装 Git 1、【 Mac 】使用 HomeBrew 进行 快捷安装,文章内部有安装部分(注意如果是 zsh 解释器需要修改的事 .zshrc 环境变量文件, git 安装存放路径以输出的为准)。 2、【 Mac 、 Windows 】通过

    2024年04月23日
    浏览(38)
  • vscode终端安装pytorch环境全流程小白版(linux+windows通用版)

    前置知识: 安装好annaconda或者miniconda进行python虚拟环境管理,建议miniconda。(好处是你可以在一台主机上安装多个互不影响的python虚拟环境,然后在运行项目1时激活其对应的python虚拟环境1,在运行项目2时激活其对应的python虚拟环境2)。当然如果你是100%小白,先不管这些也

    2024年02月07日
    浏览(31)
  • Windows10通过vcpkg快速配置PCL库

    https://github.com/microsoft/vcpkg **注意:**最好在D盘下克隆源码并安装,这样之后用vcpkg安装的包路径就会在D:/vcpkg/packages/中了 Error: in triplet x86-windows: Unable to find a valid Visual Studio instance The following VS instances were excluded because the English language pack is unavailable: D:Microsoft Visual Studio2019

    2024年02月04日
    浏览(26)
  • PCL 点云变换

    一、原理简述 两片点云的刚体变换包含旋转和平移,变换矩阵的含义如下: 1、旋转矩阵 绕 x x

    2023年04月25日
    浏览(24)
  • 【PCL】mac下安装PCL的安装与配置

    PCL官方文档 PCL(Point Cloud Library)是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C++编程库,它实现了大量点云相关的通用算法和高效数据结构,涉及到点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。支持多种操作系统平

    2024年04月29日
    浏览(29)
  • PCL 点云组件聚类

    该算法与欧式聚类、DBSCAN聚类很是类似,聚类过程如下所述: 1. 首先,我们需要提供一个种子点集合,对种子点集合进行初始的聚类操作,聚类的评估器(即聚类条件),可以指定为法向评估,也可以是距离评估,以此我们就可以提取出点云中各个位置的组件部分。 2. 合并

    2024年02月10日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包