【PCL学习】之一 配置vs可编译的PCL环境

前一段时间配置PCL环境,学习KinectFusion,走了许多弯路,一直想写一篇记录一下自己的心得,网上也有不少博客可以参考,我这里尽量从菜鸟的角度写得详细些。

Point Cloud Library (PCL) 是一个独立的大型的处理二维/三维图像和点云数据的开源工程,由Willow Garage公司开发,起初只是以PR2机器人在3D数据感知算法处理上速度更快为目标,后来才渐渐发展为一个独立的函数库。PCL包含了许多先进算法,比如滤波,特征估计,表面重建,模型拟合和分割等等。最重要的是它是一个开源的库,便于开发和学习。

废话不多说,进入正题。

首先推荐两篇参考的博客和官网的配置教程:

http://blog.csdn.net/chenxin_130/article/details/6693390

http://blog.csdn.net/u010696366/article/details/19428809

http://pointclouds.org/documentation/tutorials/compiling_pcl_windows.php

三方依赖下载地址:

http://www.pointclouds.org/downloads/windows.html


硬件配置:

         有一个支持CUDA的Nvidia独立显卡,要求Compute Capability大于2.2,具体安装CUDA后,手册中有CUDA-Capable GPU List ,我的显卡是Geforce GTX 750M。


简单说一下配置的过程:

1.首先参照第一篇博客安装openni、SensorKinect以及NITE,尽量安装在C盘吧。

OpenNI(开放自然交互)是一个多语言,跨平台的框架,它定义了编写应用程序,并利用其自然交互的API。OpenNI API由一组可用来编写通用自然交互应用的接口组成。OpenNI的主要目的是要形成一个标准的API,来搭建视觉和音频传感器与视觉和音频感知中间件通信的桥梁。

SensorKinect就是kinect的驱动,安装之后在设备管理器中应给就能看到kinect了。

NITE也是一个中间件,主要用于手势识别、骨骼识别。

测试程序可以在C:\Program Files\OpenNI\Samples\Bin\Release下找到,NiViewer.exe和NiSimpleViewer.exe都是显示深度图,如果运行没问题就可以我一开始下载官方第三方依赖中的openni和sensor,但是会提示缺失openni64.dll,无奈之下从其他地方下载安装之后就没问题了,下载地址:https://simple-openni.googlecode.com/files/OpenNI_NITE_Installer-win32-0.27.zip



2.安装cmake2.8.3以上版本,可以在官网上下载,用于编译PCL源码和KinectFusion。


3.下载CUDA,至少4.0以上,CUDA安装包一般包括the CUDA Toolkit,SDK code samples和developer drivers。根据自己电脑情况,注意32位和64位的区别,不要安装两个不同版本的,一般电脑都会装过驱动了,如果装了的话就不用装NVIDIA Display Driver。同样,安装路径可以自己指定,不一定要C盘。


4.下载PCL源码并用cmake生成vs项目。

参考第二篇博文以及官网。先把所有的第三方依赖都下下来。如果完成了第一步那就不用下载openni里面的那两个了。一个一个进行安装,速度还是挺快的,安装的目录可以自己设置。注意Qt安装完需要手动在系统变量里添加QTDIR,值设为C:\Qt\4.8.0,否则后面在cmake生成工程时会找不到QT的目录。


同时从github下载PCL源码,下载地址:https://github.com/PointCloudLibrary/pcl。有的人这一步用DownLoadSVN,其实好像没有必要。

把PCL源码解压出来,Where is the source code设置为源码目录,Where to build the binaries设置为你想生成vs工程所在的目录。我用的是vs2010,所以选择visual studio 10即可。点击configure。把右上角Grouped、Advanced都勾选上。在BUILD里面选中BUILD_CUDA,BUILD_GPU,BUILD_apps,BUILD_apps_in_hand_scanner,BUILD_gpu_kinfu,BUILD_gpu_kinfu_large_scale。再点击configure。之后BUILD和FZAPI都会变成红色,FZAPI是NOTFOUND,这个我们不管。在BUILD中勾选BUILD_cuda_apps,其他可以不管。再次点击configure,然后点击generate。确认以下模块是否被编译。


common
octree
io
kdtree
search
sample_consensus
filters
2d
geometry
features
ml
segmentation
visualization
surface
registration
keypoints
tracking
recognition
stereo
apps
outofcore
examples
people
global_tests
tools

5.编译vs工程

打开生成好的PCL工程,右键All Build生成,生成静态库,无特殊需求可以不用release。我的工程里有差不多300个项目,编译时间因机器而异,我的笔记本大概跑了45分钟吧。最后右键INSTALL点击生成。这里有个要注意的点,一定要用管理员权限打开vs,否则这一步会失败,我的电脑是win8的,具体如下,点击下方的以管理员身份运行,再打开工程。

1.jpg

全部完成之后会在C盘自动生成一些文件包括PCL的头文件、CPP文件、Lib文件等。


以上的步骤一定要一个error都没有,否则最好重新检查下,因为十有八九配置失败。

pcl_kinfu_app就是KinectFusion。最后连上Kinect设备,到PCL工程目录下的bin目录下,运行pcl_kinfu_app_debug.exe,如果能正常运行,那么恭喜你,配置成功了!

6.几点注意事项

就算你是64位操作系统的,你也最好下载32位的依赖,生成32位的工程,否则要先确定你的编译器是64位的,好像还有些步骤。我就吃过这个亏,最后用配置好的环境时老会有莫名其妙的link error 2019。

cmake中的选项别漏选。

源码有一两个找不到头文件的话,就自己把文件路径写完全也行,我曾经又一次出问题的时候换了源码就好了,具体原因也不太懂。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要安装和配置pcl1.13.0与vs2022,你可以按照以下步骤进行操作: 1. 首先,下载pcl1.13.0的安装文件。你可以在中找到下载链接。 2. 安装pcl1.13.0。运行下载的安装文件"PCL-1.13.0-rc1-AllInOne-msvc2022-win64.exe"并按照提示完成安装。如果你遇到任何问题,可以参考中的文章以获取更详细的安装指南。 3. 配置vs2022。打开Visual Studio 2022,并按照以下步骤进行配置: a. 找到"工具"菜单,选择"选项"。 b. 在"选项"对话框中,展开"项目和解决方案"选项,选择"VC++目录"。 c. 在右侧的"包含目录"、"库目录"和"库文件"字段中,分别添加以下路径: - 包含目录:E:\awork\Package\PCL 1.13.0-rc1\include - 库目录:E:\awork\Package\PCL 1.13.0-rc1\lib - 库文件:E:\awork\Package\PCL 1.13.0-rc1\lib 4. 添加额外的库路径。根据中提供的信息,你还需要将以下路径添加到"库目录"中: - E:\awork\Package\PCL 1.13.0-rc1\3rdParty\Boost\lib - E:\awork\Package\PCL 1.13.0-rc1\3rdParty\FLANN\lib - E:\awork\Package\PCL 1.13.0-rc1\3rdParty\Qhull\lib - E:\awork\Package\PCL 1.13.0-rc1\3rdParty\OpenNI2\Lib - E:\awork\Package\PCL 1.13.0-rc1\3rdParty\VTK\lib 5. 完成配置后,你可以在vs2022中创建和编译pcl1.13.0相关的项目了。 希望以上步骤对你有帮助,如果你还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Win10 系统下VisualStudio2022 配置点云库 PCL 1.13.0](https://blog.csdn.net/qq_41339558/article/details/128184513)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值