版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章,PCL简介,本章详细介绍了如何在Windows下安装和配置PCL开发环境,如何在Linux下配置PCL开发环境,以及如何在其他操作系统下配置用户。最后,通过实例介绍了如何构建自己的PCL应用程序。对于Windows和Linux用户来说,他们可以跳过与他们自己的系统无关的部分,最后使用CMake编程模式来构建一个示例应用程序,它适用于所有平台的用户。阅读本章后,读者可以掌握PCL开发环境的流程、注意事项和关键配置选项,以及如何开发自己的基于PCL的应用程序。注:本章假设读者熟悉工具和基本知识,如Cmake、svn、make和C编译链接。本章各小节目录,2.1在windows下配置和安装P
2、CL开发环境,2.2在Linux下配置和构建PCL开发环境,2.3其他操作系统,2.4建立您自己的PCL应用程序,2.1在windows下配置和安装PCL开发环境,PCL提供预编译的安装文件以方便Windows用户,但是,用户只允许使用Visual Studio2010或Visual Studio2008。如果用户长期使用其他编译器或PCL作为开发平台,或者因为编译包与最新的源代码不对应,需要使用最新功能的用户需要自己从源代码安装。本节依次详细介绍这两种情况。作者建议初学者应该使用安装包的安装方法。步骤很简单,您可以通过几个简单的步骤体验PCL的强大功能。如果读者是Linux用户,您可以阅读2
3、.2节来配置和安装Linux下的PCL开发环境,但是如果它是从源代码编译的,您需要阅读2.1.2节,因为这一节详细解释了PCL的Cmake选项。2.1.1从预编译包1构建开发环境。准备工作(1)在一个安装包中获取所有内容,该安装包由PCL在Visual Studio 2010的32位和64位配置以及Visual Studio2008的32位和64位配置下提供。这个包包括除Qt编译包之外的所有在PCL中使用的第三方编译包。(2)获取与“全部在一个包中”对应的PDB文件包,用于以后的单步调试。(3)获取PCL源代码包。(4)要安装开发工具Visual Studio2010或Visual Studi
4、o2008和CMake开发工具,CMake版本大于2.8.3,主要是考虑到PCL中使用了一些较高版本的宏定义,较低版本不兼容。注:/downloads/windows.html可以下载所有在一个安装包及其相应的PDB文件包,源代码包可以从/downloads/.下载所有上述软件包可以找到相应的文件夹第2章的光盘上提供了这本书。编写本章时,以2012年2月22日发布的官方版本1.51为准。如果用户已经安装了与RGBD相关的设备驱动程序和中间件,则有必要卸载与OpenNI相关的驱动程序和中间件,以避免与一体机提供的
5、驱动程序和中间件发生冲突。如果没有,忽略此项。与OpenNI和RGBD相关的内容将在后面的章节中介绍。图2-1显示了准备工作所需的最终文件。源代码,调试包,编译包,2。安装过程非常简单(作者将其配置为Visual C 2008 Express Edition,CMake2.8.5,32位系统),点击安装前一步准备的PCL-1.5.1-AllInOne-masvc2008-win32.exe文件。如图2-2和图2-8所示运行,根据提示默认安装。如果您需要将安装路径更改为非c驱动器,则在配置CMake时,您需要自己设置每个第三方库的路径以及PCL头文件和链接库的路径,因为PCL中提供的CMake相
6、关搜索路径默认情况下只会搜索c驱动器下的相关库。在安装组件库选择界面时,可以通过检查是否。对于首次使用PCL的用户,他们可以直接默认并全选。,成功安装后,安装目录中有6个文件夹:3rdParty、bin、cmake、include、lib和share,其中3rdParty中有6个开源包预编译库(Boost、Eigen、Flann、OpenNI、Qhull和VTK),如图2-9所示。预编译中的文件夹包含由对应于安装包的编译器版本编译的链接库,并包括头文件等。bin目录包含已编译的PCL相关文件。DLL文件和EXE文件。编译后的EXE文件有很多例子,用户可以自己运行测试,如与kinect相关的ki
7、nfu重建工具、PCD可视化工具pcdviewer等。CMake包含与开发包相关的Cmake配置文件。构建项目时,使用该文件中包含的宏来查找对应于第三方包和PCL的include和LIB目录。包含文件夹包含PCL头文件,库文件夹包含与PCL相关的文件。lib文件,共享文件夹包含帮助文件。将PDB解压后的文件复制到已安装的PCL目录下的bin文件夹中,如图2-10所示,从而实现后期单步调试PCL源代码。此时,PCL开发环境必须在窗口下安装和配置,最后一步需要测试以确保安装的正确性。3.测试安装是否成功建立了两个文件,源程序文件project _ inliers.cpp和Cmake配置文件CMak
8、eLists.txt,如图2-11所示。它的内容被复制并链接到/documentation/tutorials/project _ inliers.php #项目内联程序中的相应代码和CMakeLists的代码(在这里,你也可以从光盘本章的测试文件夹中复制相应的文件),把它放在同一个源文件夹中,并在同一个源目录中建立cmake-bin文件夹。打开Cmake程序,设置源文件目录和编译目录,如图2-12所示。选择相应的编译器,如图2-13所示。作者选择相应的visual studio 9 2008,点击Finish按钮,然后点击configure and
9、generate按钮,如图2-14所示,得到工程文件,如图2-15所示。找不到OpenNI,虽然我检查了环境变量的存在,但我别无选择,只能自己添加它们。引用:打开工程文件的编译链接,生成EXE文件,如图2-16所示。打开cmd.exe,在编译输出的project _ inliers.exe文件目录下运行程序文件,如您所见。对于使用类似kinect的设备的用户,可以在bin目录下使用kinect_viewer_cuda_release.exe来测试是否配置了OpenNI相关的驱动程序等。运行测试结果如上图所示。至此,PCL在Windows上的开发环境已经完成,用户可以体验到官方网站提供的大量示例
10、代码。如果用户只使用稳定的PCL版本,他们可以去2.4节阅读如何建立自己的PCL应用程序。您需要安装KinectSDK,并且需要Kinect摄像机!2.1.2如果第三方开发环境不是Visual Studio,则使用第三方预编译包从源代码构建开发环境。2.1.2从源代码构建开发环境意味着读者需要自己编译和链接第三方库,然后编译和安装PCL库,如第2.1.2节所述。因此,本文仅介绍如何从第三方库的源代码编译链接中获取第三方库。PCL的后续编译、安装和测试与第2.1.2节中的相同。2.2在Linux下建立PCL开发环境,对于Linux用户来说,建立PCL开发环境也有两种选择,一种是基于定期更新和维护
11、的PCL开发包,另一种是通过源代码编译建立PCL开发环境。前者目前仅限于Ubuntu、Debian和Fedora版本的Linux,而后者要求用户编译所有第三方库,然后自己编译PCL,这对初级用户来说很困难,主要是因为各种库版本之间的兼容性必须选择官方测试的版本。2.2.1预编译包构造1。PPA支持的Ubuntu系统安装在Ubuntu上。安装命令是:sudo添加apt存储库ppa:v启动板jochen sprickerhof de/PCL sudo apt获取更新sudo apt获取安装库PCL-all,2.2.2从源代码安装对于不提供预编译安装包的Linux用户,他们需要编译和生成PCL开发环
12、境,2.3其他操作系统,目前PCL也为Mac OS提供支持,2.4建立自己的PCL应用程序,PCL开发模式采用CMake工具进行开发,所有的应用程序源代码都可以通过CMake在不同的开发工具下跨平台使用,因此本节适用于Linux和Windows系统的用户。在本节中,一个简单的项目被用来演示基于PCL的应用程序的CMake开发模式。2.4.1先决条件假设用户已经在机器上下载、编译并安装了PCL。如果未安装PCL,请参阅本章前一节。2.4.2工程设置首先,为源文件建立文件夹源,并将其放在源文件夹下的/PATH/TO/MY/GRAND/PROJECT目录中,创建一个名为pcd_write.cpp的单
13、独的cpp文件(从/documentation/tutorials/writing _ PCD.php下载或从本书提供的光盘上复制),然后在此文件夹中创建一个名为CMakeLists.txt的新文件。主要内容如下:CMake _ minimum _ required(2.6版致命错误)项目(my _ grand _ project)查找包(PCL 1.3必需组件公共io)目录(PCL_INCLUDE_DIRS)链接目录(PCL_LIBRARY_DIRS)添加定义(PCL_DEFINITIONS)添加可执行文件(PCD _ write _ test PC
14、D _ write.cpp)目标链接库(PCD _ write _ test $ PCL _ common _ libraries $ PCL _ io _ libraries),如下,让我们这是cmake版本的最低要求。因为这是一个非常基础的项目,所以它不需要CMake2.8或更高版本中的功能。项目(MY_GRAND_PROJECT)以项目命名,CMake将自动生成一些有用的CMake变量,如源代码目录变量名(MY_GRAND_PROJECT_SOURCE_DIR)和项目存储目录变量名(MY_GRAND_PROJECT_BINARY_DIR)。这些是由CMake根据上面定义的项目名称在内部自
15、动生成的,不需要用户定义,用户只需要使用项目(XX)宏来触发其他变量的内部定义。行find _ package (PCL 1.3必需组件公共io)要求项目依赖于PCL 1.3的最低版本,这个版本至少应该包括两个模块,公共和I/O,也就是说,当Cmake配置和生成项目文件时,有必要找到PCL库的相关模型满足要求的库和头文件路径。这里的REQUIRED表示如果找不到相应的库,Cmake配置过程将完全失败,因为PCL是模块化的。还可以提出以下要求:一个组件:find _ package (PCL 1.3必需组件io)和多个组件:find _ package (PCL 1.3必需组件io公共)所有组件
16、:find_package(PCL 1.3必需)以下语句是使用CMake宏配置和添加PCL头文件路径和链接路径变量,也就是说,如果默认设置了以下语句,则生成的过程文件将被提示编译时找不到相关的头文件错误,或者在链接时将出现错误提示,如未解析的外部符号。INCLUDE _ directory($ PCL _ INCLUDE _ dirs)link _ directory($ PCL _ library _ dirs)add _ definitions($ PCL _ definitions)当CMake找到已安装的PCL时,将自动设置以下相关的包含文件和链接库路径变量:PCL _ FOUND:如
17、果找到PCL,PCL _ include _ dirs:设置为PCL安装头文件和相关头文件的目录。设置为已建立和已安装的PCL库的文件名。DIRS:设置为PCL库和第三方相关文件所在的目录。PCL_VERSION:找到的PCL的版本。列出所有可用的组件。列出所需的预处理器定义和编译器标志。为了让CMake知道自己项目中包含的外部头文件,有必要使用include _ directories()宏,在本例中是PCL_INCLUDE_DIRS,它准确地包含了所需的PCL相关头文件,因此CMake将根据找到的PCL安装目录自动搜索PCL的所有可能目录。这句话告诉CMake,我们正在试图从一个单独的源文件pcd_write.cpp创建一个名为pcd_write_test的新的可执行文件,CMake会注意到后缀()。exe,在unix平台上为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山东铝业职业学院单招职业适应性考试备考试题及答案解析
- 2026年营口职业技术学院单招职业适应性测试模拟试题及答案解析
- 2026年益阳职业技术学院单招职业适应性考试参考题库及答案解析
- 2026年昆明卫生职业学院单招职业适应性测试备考题库及答案解析
- 2026年焦作工贸职业学院单招职业适应性考试备考试题及答案解析
- 2026年湖南中医药高等专科学校单招职业适应性测试备考题库及答案解析
- 2026年广西经贸职业技术学院单招职业适应性考试参考题库及答案解析
- 2026年河南质量工程职业学院单招职业适应性考试参考题库及答案解析
- 2026年吉林城市职业技术学院单招职业适应性测试备考题库及答案解析
- 期末考试个人总结18篇
- 2026福建春季高考语文总复习:名篇名句默写(知识梳理+考点)原卷版
- 郑州市2025届高中毕业年级第一次质量预测数学试题及答案解析
- 学霸养成之第一性原理-2025-2026学年高二上学期学习方法指导班会
- 投资策略分析报告:波动趋势量化剥离策略
- 2025国家外汇管理局中央外汇业务中心社会在职人员招聘3人考试笔试备考题库及答案解析
- 景德镇市中医院护理疑难病例讨论组织与管理试题
- 中铁四局河沙合同范本
- 高职院校五育并举实施方案
- 美团代理加盟合同范本
- 预见性护理及早期风险识别
- 2025《药品管理法》培训试题及答案
评论
0/150
提交评论