大家好,我是一名PCL点云处理小白,最近由于老师的一个课设题目接触到深度摄像头和PCL这个强大的库,接下来将我的一些经历记录下来希望可以帮助到跟我一样刚刚接触的小白。(此文也参考了不少大神的博客文章,如果有某处冒犯,非常抱歉。)


首先说一下我用的摄像头,是primesense摄像头,最开始我以为是Kinect摄像头,然后网上找了一大堆关于Kinect的资料,最初我是想用c#来编写人机交互界面,因为我找到Kinect的Microsoft的dll,后来驱动好几次发现驱动不了,然后我特地去问了一下我的老师,才发现这不是(怪我太蠢了),然后我导师给我提了一个建议,说用PCL库(最初我还听成PLC了,哈哈),然后我就开始转向PCL库了。


先说配置,我的是PCL1.8.1+vs2017配置,首先网上下载PCL-1.8.1-AllInOne-msvc2017-win64.exe(千万记住要对应版本!!!,检查自己的PCL版本,VS版本以及是win64还是win32,我在这里就吃了不少亏),安装就不用赘述太多了,这个exe文件安装的时候有一个位置需要注意的就是有一步需要注意,此处上个图





然后就是一路安装了,安装的时候会提示安装openni库和primesense驱动,如果openni安装成功了就不用管了,如果没有安装成功也没什么关系,可以去到安装目录下找到openni文件夹,里面有个执行msi文件,点击手动安装就行了,不过此处也需要注意,需要更改路径,改到这个openni文件夹下,到此安装就好了,接下来就是系统环境变量配置和vs工程配置了。

然后就是到计算机的系统环境变量中接下来我们还要在Path变量下添加几个变量:
%PCL_ROOT\bin;%PCL_ROOT%\3rdParty\VTK\bin;%PCL_ROOT%\3rdParty\FLANN\bin;%OPENNI2_REDIST64%;%PCL_ROOT%\3rdParty\Qhull\bin;%PCL_ROOT%\3rdParty\OpenNI2\Tools
 ,此处系统环境变量就配置好了,然后将电脑重启一下环境变量就生效了,然后就是解压pcl-1.8.1-pdb-msvc2017-win64.zip
,将里面的pdb文件全部复制到PCL安装路径下bin文件夹中,到此处工程之外的都准备好了,接下来就是进行工程链接PCL第三方库。

配置步骤大致其实可以包括添加include文件夹,添加lib文件夹,添加bin文件夹,然后添加附加依赖项。当然其中还是有一些小细节需要注意,不然也是会出错的。

1:新建空工程,改为64位(此处是依托于64位来介绍的)

2:首先添加include文件夹路径
VC++目录,包含目录添加:C:\Program Files\PCL 1.8.1\3rdParty\OpenNI2\Include;C:\Program
Files\PCL 1.8.1\include\pcl-1.8;C:\Program Files\PCL
1.8.1\3rdParty\VTK\include\vtk-8.0;C:\Program Files\PCL
1.8.1\3rdParty\QHull\include;C:\Program Files\PCL 1.8.1\3rdParty\FLANN\include;C
:\Program Files\PCL 1.8.1\3rdParty\Eigen\eigen3;C:\Program Files\PCL
1.8.1\3rdParty\Boost\include\boost-1_64;(大致就是将PCL文件夹下面的几个库的include都添加进去,路径自己对应自己的就行了,我的这个是我的路径)
3:然后添加lib库目录
库目录添加:
C:\Program Files\PCL 1.8.1\3rdParty\OpenNI2\Lib;C:\Program Files\PCL
1.8.1\3rdParty\VTK\lib;C:\Program Files\PCL 1.8.1\3rdParty\Qhull\lib;C:\Program
Files\PCL 1.8.1\3rdParty\FLANN\lib;C:\Program Files\PCL
1.8.1\3rdParty\Boost\lib;C:\Program Files\PCL 1.8.1\lib;
4:添加依赖项:

(由于依赖项可能由于下载的库不同,相对依赖项有所差异,对着自己的添加进去就行了)

左侧点链接器,再点输入,找到附加依赖项


我的依赖项是,此处截图算了,之前集中在一个txt文件中了,最近找不到了




下面可以教一个小技巧,如何快速进行lib文件名获取,在cmd命令行中cd到对应目录下用dir命令,

dir /b *.lib > 1.txt(我用的就是这,具体dir用法有兴趣可以自行百度)

5:如果出现错误erroe c4996;_Uninitialized_copy0时可以添加

右侧CC++,点击预处理器,右侧预处理器定义,添加上



_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS


到此处基本上就已经配置完了,就可以到pcl文件夹中samples中找个例子复制代码到工程中来测试一下,本人在测试时候还遇到一系列的问题,当然可能你不会遇到。到此处配置就算结束了。

友情链接
ioDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信