[学习笔记]PCL使用心得
最近开始做研究生毕设,有一部分因为没有什么好的思路,就把以前用过的pcl点云搬出来,重新用源码装了一遍pcl,一开始装的过程中没什么大问题,在后面用的时候碰到了很多小问题,特此记录。
1.pcl版本问题
如果你用ros的话,安装的时候会自带pcl的1.7版本,不过本着用源码安装的习惯,我们还是从github上下载源码来自行安装。目前最新版是1.9,我自己安装1.9没碰到什么版本冲突问题,也就是在后面跑代码的时候会提示可能与已安装的1.7版本有冲突,不过是warning我也就懒得管了,不知道可否删掉ros中自带的那个pcl。但在跟同学的交流过程中,发现她以前源码安装1.8版本的时候跟自带的1.7冲突,至于到什么地步也没问,这么看来确实有版本的问题,但是网上那么多源码安装的教程,应该问题不严重。
2.cmakelists里指定pcl的版本
因为电脑里pcl有两个版本,我们想用的是1.9,因此需要指定版本。一般按照下面的写就足够了。
find_package(pcl 1.9 required) include_directories(${pcl_include_dirs}) link_directories(${pcl_library_dirs}) add_definitions(${pcl_definitions})
不需要专门set安装的路径,最后一行的add_definitions一定要加上,不然会报错。最后记得在target_link_libraries里加上${pcl_libraries}。
3.关于vtk的版本问题
如果用到了pcl中visualization的模块,需要配置一下vtk,其实电脑里(ros?)自带了6.2版本的vtk,但是在安装pcl的时候提示版本有问题,我就用源码装了一遍vtk的最新的8.2版本,然后可以安装成功,我也就没管了。后来我想把算出来的点云可视化出来,用了pcl的visualization::cloudviewer函数,然后就报vtk的错,找不到vtk的库,没有对应函数之类的问题。在网上找了好久才发现,是vtk版本太新,7.1以后的版本有几个函数名变了。
gettuplevalue -> gettypedtuple settuplevalue -> settypedtuple inserttuplevalue -> inserttypedtuple insertnexttuplevalue -> insertnexttypedtuple
最简单的办法就是重新下一个旧版本的vtk自己编译,于是我在上找到了对应的代码,我建议下.zip格式的包,我一开始下的tar.gz解压后总是安装失败。然后删掉之前最新版安装遗留下来的文件,慎用rm *。重新安装之后就没有显示的问题了。
先记这么多,以后如果有别的小问题会继续更新。
上一篇: 想要腰、手臂细一圈?6个体式告诉你!
推荐阅读
-
Python学习笔记之os模块使用总结
-
Python ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
-
Linux计划任务Crontab学习笔记(5):常见错误使用案例
-
PHP getID3类的使用方法学习笔记【附getID3源码下载】
-
Python中函数参数设置及使用的学习笔记
-
archLinux 学习笔记--mlocate的安装与使用
-
Python学习笔记--使用matplotlib绘制饼状图
-
Vue2.5学习笔记之如何在项目中使用和配置Vue
-
ASP.NET学习笔记(五)-全球化部署,网站发布方法,AJAX使用,水晶报表使用,DropDownList,CheckBox全选
-
Linux学习笔记(二):文件目录管理和VIM编辑器的使用