pcl点云库安装及学习(2021.7.28)(代码片段)

jing_zhong jing_zhong     2022-12-13     343

关键词:

1、PCL简介

        点云库PCL英文全称为Point Cloud Library,它是一个独立的、大规模的、开放的项目,用于2D和3D图像和点云处理,同时还可免费用于商业和科学研究。PCL支持的操作系统有Linux、Windows、MacOS等,它所支持的开发语言有C++和Python,内部所调用的第三方依赖库有BoostEigenFLANNVTKQHullOpenNI2这六个依赖库特别重要!!!PCL可分为一系列的模块库,包含滤波器filters特征features特征keypoints配准registrationkd树kdtreeoc树octree分割segmentation采样一致性sample_consensus表面surface识别recognition输入输出io可视化visualization

        在三维激光扫描点云数据处理中,PCL可作为一款强大的工具帮助企业和科研人员开展大量的研究工作,具体PCL的细节可参考PCL帮助文档PCL论文下载PCL的Github地址


2、Win10系统下PCL环境配置

2.1 前提环境(Win10 64位+Visual Studio 2015)

        这里电脑的操作系统为64位Windows10系统,同时需要电脑安装Visual Studio

Win10 x64
VS 2015

        在Windows系统上配置PCL环境通常有两种方式方式一:源码编译方式二:安装包安装。在很多情况下,我们可以使用All-in-one Installer安装包来使用PCL;但是如果用户想要使用其他编译器来使用PCL点云库的功能,就需要自己编译PCL及其依赖的第三方库。

2.2 方式一:源码编译(过程繁琐但通用性强)

        PCL 1.8.1源码编译英文教程

        如果从源码编译更新版本的PCL点云库,则需要从帮助文档出发。首先参考Building PCL’s dependencies from source on Windows来编译所需的第三方依赖库,然后下载PCL源代码并参考Compiling PCL from source on Windows编译为二进制binaries库可供其他项目调用,这里不再赘述。

2.3 方式二:安装包安装(简单易懂,推荐使用)

        PCL All-in-one Installer是一个包含预编译好的PCL及其第三方库的安装包,由于电脑安装了VS 2015,通过查找发现安装包PCL-1.8.1-AllInOne-msvc2015-win64.exe和调试数据库文件pcl-1.8.1-pdb-msvc2015-win64.zip比较适合自己的电脑环境。PCL1.8.1安装包下载链接


        第一步,双击安装包PCL-1.8.1-AllInOne-msvc2015-win64.exe,一直点击下一步即可;安装的过程中会弹出OpenNI的安装程序,将OpenNI的安装路径设置为PCL安装路径下的3rdParty\\OpenNI2文件夹。










OpenNI 2
PCL 1.8.1

        安装程序结束后,PCL安装目录结构如下图所示,其中第三方库3rdParty文件夹下包含BoostEigenFLANNOpenNI2QhullVTK六个文件夹,各个文件夹目录结构见下图。

PCL 1.8.1 安装目录
第三方库3rdParty文件夹
Boost文件夹
eigen3文件夹
FLANN文件夹
OpenNI 2文件夹
Qhull文件夹
VTK文件夹

        第二步pcl-1.8.1-pdb-msvc2015-win64.zip解压后文件夹下的文件如下图所示,安装程序执行完成后,将pcl-1.8.1-pdb-msvc2015-win64.zip解压后的pdb文件全部拷贝到PCL安装目录下的bin文件夹中。

        第三步,对系统的环境变量进行设置,设置PCL_ROOTD:\\Program Files (x86)\\PCL 1.8.1,并在Path文本后添加;%PCL_ROOT%\\bin;%PCL_ROOT%\\3rdParty\\OpenNI2\\Tools;%PCL_ROOT%\\3rdParty\\FLANN\\bin;%PCL_ROOT%\\3rdParty\\Qhull\\bin;%PCL_ROOT%\\3rdParty\\VTK\\bin;


        最终设置好的系统环境变量如下图所示,至此,PCL环境配置完成。

3、PCL项目实战(VS 2015)

3.1 VS 2015 新建项目进行配置

        第一步,打开Visual Studio 2015后新建一个Visual C++下的Win32控制台应用程序,项目名称输入MyPCL并选择项目保存位置后点击确定,进入Win32应用程序向导窗口后点击下一步后,接下来选择控制台应用程序和空项目后点击完成,



        第二步,在解决方案PCL项目的源文件上右键选择新建项->添加,在弹出的添加新项窗口中选择C++文件(.cpp)后,输入文件名为main.cpp后点击添加


        第三步,在打开的main.cpp文件中输入以下C++代码开始调试运行,运行结果如下图所示,说明程序能够正常运行。

#include <iostream>
using namespace std;
int main()

	cout<<"hello,world"<<endl;
	system("pause");
	return 0;

3.2 PCL项目头文件、库文件配置

        MyPCL项目上右键选择属性进入属性页窗口,配置选择Release或者Debug,平台选择x64
        对于一个C++项目而言,尤其是像包含第三方库(如OpenCV、OSG、PCL等)的项目,尤其要注意对三个部分的设置:1、头文件include包含目录用来指明.h文件的目录位置;2、库文件lib库目录用来指明.lib文件的目录位置;3、链接器中输入下的附加依赖项输入所有项目需要链接到的lib文件名。

3.2.1 PCL项目配置 Include包含目录(.h)

        在属性页窗口中选择VC++目录,点击右侧的包含目录,向其中添加 .h文件所在目录 后点击确定。

D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\FLANN\\include
D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\Qhull\\include
D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\OpenNI2\\Include
D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\VTK\\include\\vtk-8.0
D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\Eigen\\eigen3
D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\Boost\\include\\boost-1_64
D:\\Program Files (x86)\\PCL 1.8.1\\include\\pcl-1.8

3.2.2 PCL项目配置 Lib库目录(.lib)

        在属性页窗口中选择VC++目录,点击右侧的库目录,向其中添加 .lib文件所在目录 后点击确定。

D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\Qhull\\lib
D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\OpenNI2\\Lib
D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\FLANN\\lib
D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\VTK\\lib
D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\Boost\\lib
D:\\Program Files (x86)\\PCL 1.8.1\\lib

3.2.3 PCL项目配置 链接器->输入(使用Eclipse+Java来获取lib下的lib文件名)

        由于项目运行时需要链接到其他lib库文件,所以需要向链接器指定项目运行需要链接到的lib文件名称,因此需要获取PCL安装目录下lib文件夹以及第三方库3rdParty文件夹下所有的lib文件名称,具体的lib文件夹包含:(1)D:\\Program Files (x86)\\PCL 1.8.1\\lib;(2)D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\Boost\\lib;(3)D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\FLANN\\lib;(4)D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\OpenNI2\\Lib;(5)D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\Qhull\\lib;(6)D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\VTK\\lib由于MyPCL项目配置为Release,所以获取的lib就是release类型的lib;如果项目配置为Debug,则需要获取debug类型的lib

PCL的lib
Boost的lib
FLANN的lib
OpenNI 2的lib
Qhull的lib
VTK的lib
        因为lib文件数量较多,手动逐个复制lib文件名较为繁琐耗时,因此采用`Java`和`Eclipse IDE`来批量获取相应目录下的lib文件名称。
Java 1.8
Eclipse IDE

        获取文件夹下所有文件名的java代码如下

package com.test;

import java.io.File;
import java.text.*;
 
public class BianliFolderFile

	public static void main(String[] args) 
	
		String path = "D:\\\\Program Files (x86)\\\\PCL 1.8.1\\\\3rdParty\\\\VTK\\\\lib";
		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		System.out.println(path+ "路径下的所有文件");
		File file = new File(path);		//获取其file对象
		File[] fs = file.listFiles();
		
		for(File f:fs)
		
			if(f.isFile())
								
				    String f1 = f.getName();
				    if(!f1.contains("-gd"))
				    	System.out.println(f.getName());
				
		
	

        运行结果如下图所示,将控制台运行的结果手动复制出来

        将六个lib文件夹字符串分别赋值给上述java代码中的path变量执行六次,同时通过根据条件过滤(lib文件名含有_debug、-gd、_d的均代表Debug项目下的lib其余的则代表Release项目下的lib)可得到每个lib文件夹下的lib文件名。

D:\\Program Files (x86)\\PCL 1.8.1\\lib
D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\Boost\\lib
D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\FLANN\\lib
D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\OpenNI2\\Lib
D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\Qhull\\lib
D:\\Program Files (x86)\\PCL 1.8.1\\3rdParty\\VTK\\lib

        各个lib文件夹汇总后的适用于Release项目的lib文件名如下:

pcl_common_release.lib
pcl_features_release.lib
pcl_filters_release.lib
pcl_io_ply_release.lib
pcl_io_release.lib
pcl_kdtree_release.lib
pcl_keypoints_release.lib
pcl_ml_release.lib
pcl_octree_release.lib
pcl_outofcore_release.lib
pcl_people_release.lib
pcl_recognition_release.lib
pcl_registration_release.lib
pcl_sample_consensus_release.lib
pcl_search_release.lib
pcl_segmentation_release.lib
pcl_stereo_release.lib
pcl_surface_release.lib
pcl_tracking_release.lib
pcl_visualization_release.lib
libboost_atomic-vc140-mt-1_64.lib
libboost_bzip2-vc140-mt-1_64.lib
libboost_chrono-vc140-mt-1_64.lib
libboost_container-vc140-mt-1_64.lib
libboost_context-vc140-mt-1_64.lib
libboost_coroutine-vc140-mt-1_64.lib
libboost_date_time-vc140-mt-1_64.lib
libboost_exception-vc140-mt-1_64.lib
libboost_fiber-vc140-mt-1_64.lib
libboost_filesystem-vc140-mt-1_64.lib
libboost_graph-vc140-mt-1_64.lib
libboost_graph_parallel-vc140-mt-1_64.lib
libboost_iostreams-vc140-mt-1_64.lib
libboost_locale-vc140-mt-1_64.lib
libboost_log-vc140-mt-1_64.lib
libboost_log_setup-vc140-mt-1_64.lib
libboost_math_c99-vc140-mt-1_64.lib
libboost_math_c99f-vc140-mt-1_64.lib
libboost_math_c99l-vc140-mt-1_64.lib
libboost_math_tr1-vc140-mt-1_64.lib
libboost_math_tr1f-vc140-mt-1_64.lib
libboost_math_tr1l-vc140-mt-1_64.lib
libboost_mpi-vc140-mt-1_64.lib
libboost_numpy-vc140-mt-1_64.lib
libboost_numpy3-vc140-mt-1_64.lib
libboost_prg_exec_monitor-vc140-mt-1_64.lib
libboost_program_options-vc140-mt-1_64.lib
libboost_python-vc140-mt-1_64.lib
libboost_python3-vc140-mt-1_64.lib
libboost_random-vc140-mt-1_64.lib
libboost_regex-vc140-mt-1_64.lib
libboost_serialization-vc140-mt-1_64.lib
libboost_signals-vc140-mt-1_64.lib
libboost_system-vc140-mt-1_64.lib
libboost_test_exec_monitor-vc140-mt-1_64.lib
libboost_thread-vc140-mt-1_64.lib
libboost_timer-vc140-mt-1_64.lib
libboost_type_erasure-vc140-mt-1_64.lib
libboost_unit_test_framework-vc140-mt-1_64.lib
libboost_wave-vc140-mt-1_64.lib
libboost_wserialization-vc140-mt-1_64.lib
libboost_zlib-vc140-mt-1_64.lib
flann.lib
flann_cpp.lib
flann_cpp_s.lib
flann_s.lib
OpenNI2.lib
qhull.lib
qhullcpp.lib
qhullstatic.lib
qhullstatic_r.lib
qhull_p.lib
qhull_r.lib
vtkalglib-8.0.lib
vtkChartsCore-8.0.lib
vtkCommonColor-8.0.lib
vtkCommonComputationalGeometry-8.0.lib
vtkCommonCore-8.0.lib
vtkCommonDataModel-8.0.lib
vtkCommonExecutionModel-8.0.lib
vtkCommonMath-8.0.lib
vtkCommonMisc-8.0.lib
vtkCommonSystem-8.0.lib
vtkCommonTransforms-8.0.lib
vtkDICOMParser-8.0.lib
vtkDomainsChemistry-8.0.lib
vtkexoIIc-8.0.lib
vtkexpat-8.0.lib
vtkFiltersAMR-8.0.lib
vtkFiltersCore-8.0.lib
vtkFiltersExtraction-8.0.lib
vtkFiltersFlowPaths-8.0.lib
vtkFiltersGeneral-8.0.lib
vtkFiltersGeneric-8.0.lib
vtkFiltersGeometry-8.0.lib
vtkFiltersHybrid-8.0.lib
vtkFiltersHyperTree-8.0.lib
vtkFiltersImaging-8.0.lib
vtkFiltersModeling-8.0.lib
vtkFiltersParallel-8.0.lib
vtkFiltersParallelImaging-8.0.lib
vtkFiltersPoints-8.0.lib
vtkFiltersProgrammable-8.0.lib
vtkFiltersSelection-8.0.lib
vtkFiltersSMP-8.0.lib
vtkFiltersSources-8.0.lib
vtkFiltersStatistics-8.0.lib
vtkFiltersTexture-8.0.lib
vtkFiltersTopology-8.0.lib
vtkFiltersVerdict-8.0.lib
vtkfreetype-8.0.lib
vtkGeovisCore-8.0.lib
vtkgl2ps-8.0.lib
vtkhdf5-8.0.lib
vtkhdf5_hl-8.0.lib
vtkImagingColor-8.0.lib
vtkImagingCore-8.0.lib
vtkImagingFourier-8.0.lib
vtkImagingGeneral-8.0.lib
vtkImagingHybrid-8.0.lib
vtkImagingMath-8.0.lib
vtkImagingMorphological-8.0.lib
vtkImagingSources-8.0.lib
vtkImagingStatistics-8.0.lib
vtkImagingStencil-8.0.lib
vtkInfovisCore-8.0.lib
vtkInfovisLayout-8.0.lib
vtkInteractionImage-8.0.lib
vtkInteractionStyle-8.0.lib
vtkInteractionWidgets-8.0.lib
vtkIOAMR-8.0.lib
vtkIOCore-8.0.lib
vtkIOEnSight-8.0.lib
vtkIOExodus-8.0.lib
vtkIOExport-8.0.lib
vtkIOExportOpenGL-8.0.lib
vtkIOGeometry-8.0.lib
vtkIOImage-8.0.lib
vtkIOImport-8.0.lib
vtkIOInfovis-8.0.lib
vtkIOLegacy-8.0.lib
vtkIOLSDyna-8.0.lib
vtkIOMINC-8.0.lib
vtkIOMovie-8.0.lib
vtkIONetCDF-8.0.lib
vtkIOParallel-8.0.lib
vtkIOParallelXML-8.0.lib
vtkIOPLY-8.0.lib
vtkIOSQL-8.0.lib
vtkIOTecplotTable-8.0.lib
vtkIOVideo-8.0.lib
vtkIOXML-8.0.lib
vtkIOXMLParser-8.0.lib
vtkjpeg-8.0.lib
vtkjsoncpp-8.0.lib
vtklibharu-8.0.lib
vtklibxml2-8.0.lib
vtklz4-8.0.lib
vtkmetaio-8.0.lib
vtkNetCDF-8.0.lib
vtknetcdf_c++.lib
vtkoggtheora-8.0.lib
vtkParallelCore-8.0.lib
vtkpng-8.0.lib
vtkproj4-8.0.lib
vtkRenderingAnnotation-8.0.lib
vtkRenderingContext2D-8.0.lib
vtkRenderingContextOpenGL-8.0.lib
vtkRenderingCore-8.0.lib
vtkRenderingFreeType-8.0.lib
vtkRenderingGL2PS-8.0.lib
vtkRenderingImage-8.0.lib
vtkRenderingLabel-8.0.lib
vtkRenderingLIC-8.0.lib
vtkRenderingLOD-8.0.lib
vtkRenderingOpenGL-8.0.lib
vtkRenderingVolume-8.0.lib
vtkRenderingVolumeOpenGL-8.0.lib
vtksqlite-8.0.lib
vtksys-8.0.lib
vtktiff-8.0.lib
vtkverdict-8.0.lib
vtkViewsContext2D-8.0.lib
vtkViewsCore-8.0.lib
vtkViewsInfovis-8.0.lib
vtkzlib-8.0.lib

        在属性页窗口中选择链接器->输入,点击右侧的附加依赖项,向其中添加 .lib文件名 后点击确定。

        (如果配置的项目属性为Debug调试项目,则Debug项目下的lib文件名参考如下所示)

pcl_common_debug.lib
pcl_features_debug.lib
pcl_filters_debug.lib
pcl_io_debug.lib
pcl_io_ply_debug.lib
pcl_kdtree_debug.lib
pcl_keypoints_debug.lib
pcl_ml_debug.lib
pcl_octree_debug.lib
pcl_outofcore_debug.lib
pcl_people_debug.lib
pcl_recognition_debug.lib
pcl_registration_debug.lib
pcl_sample_consensus_debug.lib
pcl_search_debug.lib
pcl_segmentation_debug.lib
pcl_stereo_debug.lib
pcl_surface_debug.lib
pcl_tracking_debug.lib
pcl_visualization_debug.lib
libboost_atomic-vc140-mt-gd-1_64.lib
libboost_bzip2-vc140-mt-gd-1_64.lib
libboost_chrono-vc140-mt-gd-1_64.lib
libboost_container-vc140-mt-gd-1_64.lib
libboost_context-vc140-mt-gd-1_64.lib
libboost_coroutine-vc140-mt-gd-1_64.lib
libboost_date_time-vc140-mt-gd-1_64.lib
libboost_exception-vc140-mt-gd-1_64.lib
libboost_fiber-vc140-mt-gd-1_64.lib
libboost_filesystem-vc140-mt-gd-1_64.lib
libboost_graph-vc140-mt-gd-1_64.lib
libboost_graph_parallel-vc140-mt-gd-1_64.lib
libboost_iostreams-vc140-mt-gd-1_64.lib
libboost_locale-vc140-mt-gd-1_64.lib
libboost_log-vc140-mt-gd-1_64.lib
libboost_log_setup-vc140-mt-gd-1_64.lib
libboost_math_c99-vc140-mt-gd-1_64.lib
libboost_math_c99f-vc140-mt-gd-1_64.lib
libboost_math_c99l-vc140-mt-gd-1_64.lib
libboost_math_tr1-vc140-mt-gd-1_64.lib
libboost_math_tr1f-vc140-mt-gd-1_64.lib
libboost_math_tr1l-vc140-mt-gd-1_64.lib
libboost_mpi-vc140-mt-gd-点云库pcl:ndt配准时出现容器出限的问题及解决

 前言   在PCL库中,精配准除了我们最常用的ICP算法以及相关的变形算法,如GICP算法外,另外还包含了NDT算法(正态分布变换),它不需要提供较好的初值,且速度比ICP算法更为快速。  当然,也会有着一定的缺陷... 查看详情

qt+pcl点云库

有没有人用过QT+PCL点云库的?想在QT界面中显示点云图像(.pcd格式的),具体要怎么配置?一定要依托VS环境么?网上没查到这方面的东西,求救有经验的大神。。。参考技术A没用过也找别人帮吧 查看详情

qt+pcl点云学习(代码片段)

PCL点云学习概念PointCloudLibraries点云库和opencv处理图像一样,不过是3D图像的处理支持文件格式pcd格式文件PCD不是第一个支持3D点云数据的文件类型,尤其是计算机图形学和计算几何学领域,已经创建了很多格式来描述... 查看详情

qt+pcl点云学习(代码片段)

PCL点云学习概念PointCloudLibraries点云库和opencv处理图像一样,不过是3D图像的处理支持文件格式pcd格式文件PCD不是第一个支持3D点云数据的文件类型,尤其是计算机图形学和计算几何学领域,已经创建了很多格式来描述... 查看详情

PCL(点云库)中实时 kinect 数据的范围图像生成

】PCL(点云库)中实时kinect数据的范围图像生成【英文标题】:RangeimagegenerationforlivekinectdatainPCL(pointcloudlibrary)【发布时间】:2014-02-2821:50:38【问题描述】:这是一个PCL(点云库)特定的问题。我正在尝试显示来自Kinect的实时数... 查看详情

pcl点云库:kd树

  Kd树按空间划分生成叶子节点,各个叶子节点里存放点数据,其可以按半径搜索或邻区搜索。PCL中的Kdtree的基础数据结构使用了FLANN以便可以快速的进行邻区搜索。FLANN isalibraryforperformingfastapproximatenearestneighborsearchesinhighdi... 查看详情

使用 Makefile 将 PCL(点云库)添加到现有项目

】使用Makefile将PCL(点云库)添加到现有项目【英文标题】:AddingPCL(PointCloudLibrary)toexistingprojectwithMakefiles【发布时间】:2015-09-0917:22:54【问题描述】:我有一个关于PCL的问题:特别是我想在现有项目中使用它和现有的Makefile。但... 查看详情

pcl点云库:对点云进行变换(usingamatrixtotransformapointcloud)

  点云数据可以用ASCII码的形式存储在PCD文件中(关于该格式的描述可以参考链接:ThePCD(Point Cloud Data)fileformat)。为了生成三维点云数据,在excel中用rand()函数生成200行0-1的小数,ABC三列分别代表空间点的xyz坐标。#.PCDv... 查看详情

pcl点云有缩放怎么匹配

...考技术A1.先按固定的套路介绍一下pcl的配库的过程2.按照点云的加载,显示,分割,精简,三角化这几个大方向进行介绍3.以上几个大的方向又会涉及到一些基本的点云操作工具:KD-tree,octree4.附带的介绍一些辅助性的代码,例如怎... 查看详情

如何将点云库与 Unity Google tango 项目集成?

】如何将点云库与UnityGoogletango项目集成?【英文标题】:HowtointegratePointCloudLibraryWithUnityGoogletangoproject?【发布时间】:2018-02-2804:11:38【问题描述】:我目前正在Unity中与GoogleTango合作,我想集成点云库(PCL)以处理点云数据并分割平... 查看详情

pcl学习笔记:环境安装(代码片段)

...):环境安装Realsense安装ROS中PCL的简单使用修改点云RGB颜色PCL滤波参考博客学习ROS中的PCL使用,完成Realsense安装,PCL的简单使用Realsense安装官方源码:https://github.com/IntelRealSense/realsense-ros参考博客 查看详情

pcl点云数据处理基础❤️❤️❤️目录

...置+代码测试(详细教程❤️❤️❤️Win10)2源码下载2.1点云库PCL从入门到精通随书源码(百度网盘下载)3点云读写3.1读写pcd点云的两种方式4k-dtree空间划分4.1k-dtree概述4.2K近邻搜索4.3半径R近邻搜索5点云可视化5.1CloudViewer... 查看详情

pcl学习笔记:环境安装(代码片段)

...):环境安装Realsense安装ROS中PCL的简单使用修改点云RGB颜色PCL滤波参考博客学习ROS中的PCL使用,完成Realsense安装,PCL的简单使用Realsense安装官方源码:https://github.com/IntelRealSense/realsense-ros参考博客:【Gazebo... 查看详情

pcl学习笔记:环境安装(代码片段)

...):环境安装Realsense安装ROS中PCL的简单使用修改点云RGB颜色PCL滤波参考博客学习ROS中的PCL使用,完成Realsense安装,PCL的简单使用Realsense安装官方源码:https://github.com/IntelRealSense/realsense-ros参考博客:【Gazebo... 查看详情

3d,2大点云库

...馆,而图书馆,给人的感觉就是海纳百川有容乃大。作为点云家族的2大开源库,PCL和Open3D无疑是众多developer的福音。一、PCL历史PCL起初是ROS(RobotOperatingSystem,机器人操作系统)下由来自于慕尼黑大学(TUM-TechnischeUniversitätMünchen)... 查看详情

读取 .las 文件,用 PCL 处理和显示

...我使用libLAS库来读取.lasfile的浊点。然后我将点存储在PCL点云变量中,以便使用点云库处理和显示点云。这是我使用的代码:classPointCloudpublic://PointCloud(conststd::str 查看详情

pcl支持win几系统

参考技术A支持win10系统。_CL(PointCloudLibrary,点云库)是处理点云数据的大型跨平台开源C++编程库,涉及点云获取、滤波、特征提取、识别、追踪、可视化等,是3D点云数据处理领域种开源的一个重要工具。适合处理多线激光雷... 查看详情

pcl介绍

 pcl是干什么用的 pcl(pointcloudlibrary)就是点云库,就是处理点云用的目前哪些学科会用到它呢?本人知识水平有限,目前了解到的,就是论文里关注到的,有控制工程,机械设计,测绘,自动化,电器等等相关专业会用到... 查看详情