最新:windows下安装pcl点云库

2024-05-25 21:44

本文主要是介绍最新:windows下安装pcl点云库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

📚博客主页:knighthood2001
公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下)
🎃知识星球:【认知up吧|成长|副业】介绍
❤️如遇文章付费,可先看看我公众号中是否发布免费文章❤️
🙏笔者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

    • 下载文件
    • 安装pcl
    • 配置环境变量
    • 配置vs中的环境
    • 测试一下
    • 总结

最近安装点云pcl遇到了一些问题,不过都解决了。

今天就将最新的安装教程分享给大家。

如果你按照网上的博客教程进行安装,一点问题都没有,那说明你大概是成功的,否则就会遇到C:\Program Files\PCL 1.14.0\3rdParty\OpenNI2\Include中是空的,等问题。我这篇文章就可以解决这个问题。

本文有些图片中pcl版本是1.14.1,因为我那时候录屏了,后面我把这个版本卸载了,安装1.14.0时,没有录屏。

下载文件

首先就是pcl的下载安装。

https://github.com/PointCloudLibrary/pcl

在这里插入图片描述

然后点击release,这是发布的版本。

https://github.com/PointCloudLibrary/pcl/releases

在这里插入图片描述

我选择的是pcl 1.14.0,目前最新的是pcl 1.14.1,问题不大。

将上面这两个文件下载到本地

在这里插入图片描述

安装pcl

  1. 双击PCL-1.14.0-AllInOne-msvc2022-win64.exe进行安装,如果遇到杀毒软件阻止安装,不用管他,直接安装。
  2. 安装的时候直接默认安装位置就好,默认安装位置是C:\Program Files(当然你也可以自己设置位置)

在这里插入图片描述
然后你应该会遇到以下这是问题。

Warning! PATH too long installer unable to modify PATH!

在这里插入图片描述

这个问题大致是在你安装到一半的时候出现,然后你点击确定后,安装就完成了。

至于报这个错误,

C:\Program Files\PCL 1.14.0\3rdParty\OpenNI2目录下本来只有这一个msi安装包。

在这里插入图片描述
至于安装的内容,它可能因为路径太长,自动给你安装到C:\Program Files目录下了。

网上的教程大多是将其安装到C:\Program Files\PCL 1.14.0\3rdParty\OpenNI2目录下。而且都是按照这个讲的。

因此这部分缺少一点内容。

首先就是打开这个软件

在这里插入图片描述
在这里插入图片描述
然后点击Remove,也就是卸载。这时候C:\Program Files目录下就没有OpenNI文件夹了。

然后再双击点击这个msi安装包,选择路径到C:\Program Files\PCL 1.14.0\3rdParty\OpenNI2中。

在这里插入图片描述
安装好后如上图所示。

然后把你下载的pdb文件解压出来。

在这里插入图片描述
将这些文件全选。
在这里插入图片描述

将其复制到C:\Program Files\PCL 1.14.0\bin中。

在这里插入图片描述

此时,安装环境才算结束。

配置环境变量

在这里插入图片描述
直接左下角搜索,环境变量,点击编辑系统环境变量

在这里插入图片描述

系统变量中的path添加以下内容。
在这里插入图片描述

在这里插入图片描述

%OPENNI2_REDIST64%
C:\Program Files\PCL 1.14.0\bin
C:\Program Files\PCL 1.14.0\3rdParty\VTK\bin
C:\Program Files\PCL 1.14.0\3rdParty\FLANN\bin
C:\Program Files\PCL 1.14.0\3rdParty\Qhull\bin
C:\Program Files\PCL 1.14.0\3rdParty\OpenNI2\Tools

这里的最后一个路径,网上有些是C:\Program Files\OpenNI2\Tools,如果你按照网上其他人博客进行按照,如果遇到C:\Program Files\PCL 1.14.0\3rdParty\OpenNI2\Include这个路径根本就没有,那就说明人家可能就是乱的,或者说缺少一步,这一步就是重新安装我上面说的那个msi安装包

配置vs中的环境

下面内容,我借鉴了网上一些博客图片(懒得截图了)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
TestPCL右键->属性。

配置属性->VC++目录->包含目录

添加以下内容

C:\Program Files\PCL 1.14.0\3rdParty\VTK\include\vtk-9.3
C:\Program Files\PCL 1.14.0\3rdParty\Qhull\include
C:\Program Files\PCL 1.14.0\3rdParty\OpenNI2\Include
C:\Program Files\PCL 1.14.0\3rdParty\FLANN\include
C:\Program Files\PCL 1.14.0\3rdParty\Eigen3\include\eigen3
C:\Program Files\PCL 1.14.0\3rdParty\Boost\include\boost-1_84
C:\Program Files\PCL 1.14.0\include\pcl-1.14

在这里插入图片描述

配置属性->VC++目录->库目录

添加以下内容:

C:\Program Files\PCL 1.14.0\lib
C:\Program Files\PCL 1.14.0\3rdParty\Boost\lib
C:\Program Files\PCL 1.14.0\3rdParty\FLANN\lib
C:\Program Files\PCL 1.14.0\3rdParty\OpenNI2\Lib
C:\Program Files\PCL 1.14.0\3rdParty\Qhull\lib
C:\Program Files\PCL 1.14.0\3rdParty\VTK\lib

在这里插入图片描述
配置属性->链接器->输入->附加依赖项

在这里插入图片描述

在这里插入图片描述

添加以下内容

pcl_commond.lib;pcl_featuresd.lib;pcl_filtersd.lib;pcl_iod.lib;pcl_io_plyd.lib;pcl_kdtreed.lib;pcl_keypointsd.lib;pcl_mld.lib;pcl_octreed.lib;pcl_outofcored.lib;pcl_peopled.lib;pcl_recognitiond.lib;pcl_registrationd.lib;pcl_sample_consensusd.lib;pcl_searchd.lib;pcl_segmentationd.lib;pcl_stereod.lib;pcl_surfaced.lib;pcl_trackingd.lib;pcl_visualizationd.lib;vtkcgns-9.3-gd.lib;vtkChartsCore-9.3-gd.lib;vtkCommonColor-9.3-gd.lib;vtkCommonComputationalGeometry-9.3-gd.lib;vtkCommonCore-9.3-gd.lib;vtkCommonDataModel-9.3-gd.lib;vtkCommonExecutionModel-9.3-gd.lib;vtkCommonMath-9.3-gd.lib;vtkCommonMisc-9.3-gd.lib;vtkCommonSystem-9.3-gd.lib;vtkCommonTransforms-9.3-gd.lib;vtkDICOMParser-9.3-gd.lib;vtkDomainsChemistry-9.3-gd.lib;vtkDomainsChemistryOpenGL2-9.3-gd.lib;vtkdoubleconversion-9.3-gd.lib;vtkexodusII-9.3-gd.lib;vtkexpat-9.3-gd.lib;vtkFiltersAMR-9.3-gd.lib;vtkFiltersCellGrid-9.3-gd.lib;vtkFiltersCore-9.3-gd.lib;vtkFiltersExtraction-9.3-gd.lib;vtkFiltersFlowPaths-9.3-gd.lib;vtkFiltersGeneral-9.3-gd.lib;vtkFiltersGeneric-9.3-gd.lib;vtkFiltersGeometry-9.3-gd.lib;vtkFiltersGeometryPreview-9.3-gd.lib;vtkFiltersHybrid-9.3-gd.lib;vtkFiltersHyperTree-9.3-gd.lib;vtkFiltersImaging-9.3-gd.lib;vtkFiltersModeling-9.3-gd.lib;vtkFiltersParallel-9.3-gd.lib;vtkFiltersParallelImaging-9.3-gd.lib;vtkFiltersPoints-9.3-gd.lib;vtkFiltersProgrammable-9.3-gd.lib;vtkFiltersReduction-9.3-gd.lib;vtkFiltersSelection-9.3-gd.lib;vtkFiltersSMP-9.3-gd.lib;vtkFiltersSources-9.3-gd.lib;vtkFiltersStatistics-9.3-gd.lib;vtkFiltersTensor-9.3-gd.lib;vtkFiltersTexture-9.3-gd.lib;vtkFiltersTopology-9.3-gd.lib;vtkFiltersVerdict-9.3-gd.lib;vtkfmt-9.3-gd.lib;vtkfreetype-9.3-gd.lib;vtkGeovisCore-9.3-gd.lib;vtkgl2ps-9.3-gd.lib;vtkglew-9.3-gd.lib;vtkhdf5-9.3-gd.lib;vtkhdf5_hl-9.3-gd.lib;vtkImagingColor-9.3-gd.lib;vtkImagingCore-9.3-gd.lib;vtkImagingFourier-9.3-gd.lib;vtkImagingGeneral-9.3-gd.lib;vtkImagingHybrid-9.3-gd.lib;vtkImagingMath-9.3-gd.lib;vtkImagingMorphological-9.3-gd.lib;vtkImagingSources-9.3-gd.lib;vtkImagingStatistics-9.3-gd.lib;vtkImagingStencil-9.3-gd.lib;vtkInfovisCore-9.3-gd.lib;vtkInfovisLayout-9.3-gd.lib;vtkInteractionImage-9.3-gd.lib;vtkInteractionStyle-9.3-gd.lib;vtkInteractionWidgets-9.3-gd.lib;vtkIOAMR-9.3-gd.lib;vtkIOAsynchronous-9.3-gd.lib;vtkIOCellGrid-9.3-gd.lib;vtkIOCesium3DTiles-9.3-gd.lib;vtkIOCGNSReader-9.3-gd.lib;vtkIOChemistry-9.3-gd.lib;vtkIOCityGML-9.3-gd.lib;vtkIOCONVERGECFD-9.3-gd.lib;vtkIOCore-9.3-gd.lib;vtkIOEnSight-9.3-gd.lib;vtkIOExodus-9.3-gd.lib;vtkIOExport-9.3-gd.lib;vtkIOExportGL2PS-9.3-gd.lib;vtkIOExportPDF-9.3-gd.lib;vtkIOFLUENTCFF-9.3-gd.lib;vtkIOGeometry-9.3-gd.lib;vtkIOHDF-9.3-gd.lib;vtkIOImage-9.3-gd.lib;vtkIOImport-9.3-gd.lib;vtkIOInfovis-9.3-gd.lib;vtkIOIOSS-9.3-gd.lib;vtkIOLegacy-9.3-gd.lib;vtkIOLSDyna-9.3-gd.lib;vtkIOMINC-9.3-gd.lib;vtkIOMotionFX-9.3-gd.lib;vtkIOMovie-9.3-gd.lib;vtkIONetCDF-9.3-gd.lib;vtkIOOggTheora-9.3-gd.lib;vtkIOParallel-9.3-gd.lib;vtkIOParallelXML-9.3-gd.lib;vtkIOPLY-9.3-gd.lib;vtkIOSegY-9.3-gd.lib;vtkIOSQL-9.3-gd.lib;vtkioss-9.3-gd.lib;vtkIOTecplotTable-9.3-gd.lib;vtkIOVeraOut-9.3-gd.lib;vtkIOVideo-9.3-gd.lib;vtkIOXML-9.3-gd.lib;vtkIOXMLParser-9.3-gd.lib;vtkjpeg-9.3-gd.lib;vtkjsoncpp-9.3-gd.lib;vtkkissfft-9.3-gd.lib;vtklibharu-9.3-gd.lib;vtklibproj-9.3-gd.lib;vtklibxml2-9.3-gd.lib;vtkloguru-9.3-gd.lib;vtklz4-9.3-gd.lib;vtklzma-9.3-gd.lib;vtkmetaio-9.3-gd.lib;vtknetcdf-9.3-gd.lib;vtkogg-9.3-gd.lib;vtkParallelCore-9.3-gd.lib;vtkParallelDIY-9.3-gd.lib;vtkpng-9.3-gd.lib;vtkpugixml-9.3-gd.lib;vtkRenderingAnnotation-9.3-gd.lib;vtkRenderingCellGrid-9.3-gd.lib;vtkRenderingContext2D-9.3-gd.lib;vtkRenderingContextOpenGL2-9.3-gd.lib;vtkRenderingCore-9.3-gd.lib;vtkRenderingFreeType-9.3-gd.lib;vtkRenderingGL2PSOpenGL2-9.3-gd.lib;vtkRenderingHyperTreeGrid-9.3-gd.lib;vtkRenderingImage-9.3-gd.lib;vtkRenderingLabel-9.3-gd.lib;vtkRenderingLICOpenGL2-9.3-gd.lib;vtkRenderingLOD-9.3-gd.lib;vtkRenderingOpenGL2-9.3-gd.lib;vtkRenderingSceneGraph-9.3-gd.lib;vtkRenderingUI-9.3-gd.lib;vtkRenderingVolume-9.3-gd.lib;vtkRenderingVolumeOpenGL2-9.3-gd.lib;vtkRenderingVtkJS-9.3-gd.lib;vtksqlite-9.3-gd.lib;vtksys-9.3-gd.lib;vtkTestingRendering-9.3-gd.lib;vtktheora-9.3-gd.lib;vtktiff-9.3-gd.lib;vtkverdict-9.3-gd.lib;vtkViewsContext2D-9.3-gd.lib;vtkViewsCore-9.3-gd.lib;vtkViewsInfovis-9.3-gd.lib;vtkWrappingTools-9.3-gd.lib;vtkzlib-9.3-gd.lib;

最后,记得点击应用,应用,应用

测试一下

在这里插入图片描述

#include <iostream>
#include <pcl/point_types.h>
#include <pcl/filters/passthrough.h>int main(int argc, char** argv) {pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered(new pcl::PointCloud<pcl::PointXYZ>);cloud->width = 5;cloud->height = 1;cloud->points.resize(cloud->width* cloud->height);for (size_t i = 0; i < cloud->points.size(); ++i) {cloud->points[i].x = 1024 * rand() / (RAND_MAX + 1.0f);cloud->points[i].y = 1024 * rand() / (RAND_MAX + 1.0f);cloud->points[i].z = 1024 * rand() / (RAND_MAX + 1.0f);}std::cerr << "Cloud before filtering : " << std::endl;for (size_t i = 0; i < cloud->points.size(); ++i)std::cerr << "        " << cloud->points[i].x << "    " << cloud->points[i].y << "     " << cloud->points[i].z << std::endl;system("pause");return (0); 
}

然后你进行调试或者运行。

在这里插入图片描述
能成功运行应该就说明你配置成功了。

总结

相比网上的博客,我这里针对两个问题,一个就是路径太长,一个就是按照网上的教程,有些路径下面为空。

都是因为那个OpenNI的msi文件,默认安装到C:\Program Files

这篇关于最新:windows下安装pcl点云库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1002701

相关文章

Pycharm安装报错:Cannot detect a launch configuration解决办法

《Pycharm安装报错:Cannotdetectalaunchconfiguration解决办法》本文主要介绍了Pycharm安装报错:Cannotdetectalaunchconfigur... 本文主要介绍了Pycharm安装报错:Cannot detect a launch configuratio

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

Windows命令之tasklist命令用法详解(Windows查看进程)

《Windows命令之tasklist命令用法详解(Windows查看进程)》tasklist命令显示本地计算机或远程计算机上当前正在运行的进程列表,命令结合筛选器一起使用,可以按照我们的需求进行过滤... 目录命令帮助1、基本使用2、执行原理2.1、tasklist命令无法使用3、筛选器3.1、根据PID

Python FastAPI入门安装使用

《PythonFastAPI入门安装使用》FastAPI是一个现代、快速的PythonWeb框架,用于构建API,它基于Python3.6+的类型提示特性,使得代码更加简洁且易于绶护,这篇文章主要介... 目录第一节:FastAPI入门一、FastAPI框架介绍什么是ASGI服务(WSGI)二、FastAP

Python中Windows和macOS文件路径格式不一致的解决方法

《Python中Windows和macOS文件路径格式不一致的解决方法》在Python中,Windows和macOS的文件路径字符串格式不一致主要体现在路径分隔符上,这种差异可能导致跨平台代码在处理文... 目录方法 1:使用 os.path 模块方法 2:使用 pathlib 模块(推荐)方法 3:统一使

2025最新版Python3.13.1安装使用指南(超详细)

《2025最新版Python3.13.1安装使用指南(超详细)》Python编程语言自诞生以来,已经成为全球最受欢迎的编程语言之一,它简单易学易用,以标准库和功能强大且广泛外挂的扩展库,为用户提供包罗... 目录2025最新版python 3.13.1安装使用指南1. 2025年Python语言最新排名2.

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem