最新:windows下安装pcl点云库

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

最近安装点云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

  • 27
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

knighthood2001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值