ubuntu18 PCL库安装与基于点云的B-spline曲面拟合

这里写自定义目录标题

1:由源码安装PCL:

Ubuntu18.04安装PCL库(C++版)教程
https://blog.csdn.net/Boys_Wu/article/details/122000682
得到的pcl文件夹放在/home下就行

注意!!!cmake时不要用默认的

cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_GPU=ON-DBUILD_apps=ON -DBUILD_examples=ON \ -DCMAKE_INSTALL_PREFIX=/usr …

这样是没有编译on_nurbs的,因为需要拟合曲面,所以必须编译这个,参考
https://blog.csdn.net/bianjingyang/article/details/116133046
中的如下操作步骤:

(1)下载PCL的源码:下载链接,然后解压到/home目录下,并更改解压后的文件夹名为pcl。进入该文件目录下,新建build文件夹。

(2)新建终端并切换到刚刚新建的build目录下面,执行命令 cmake-gui.

(3)where is the source code选择解压后的pcl的路径,where to build the binaries选择新建的build路径。然后点击configure选项。

(4)选中BUILD_sruface_on_nurbs选项,再次点击configure,选择USE_UMFPACK选项。选择CMAKE_INSTALL_PREFIX的路径为/usr/local/pcl。(选择路径前需要先在/usr/local/目录下新建pcl文件夹)。 最后点击generate选项.

(5)依然在build目录下新建终端,执行指令make -j2(j后面的数字可以指定,越大程序编译的越快,不过电脑也容易卡死,最大为CPU的核数)。完成之后,执行指令sudo make install将安装好

在第(5)步中,cmake时会报错找不到CHOLMOD,这是因为没有安装这个(这是一个求解稀疏矩阵的包,安装方法参见
https://blog.csdn.net/jixuxjixu3/article/details/5704635
即只要执行apt-get install libsuitesparse-dev 就算是把cholmod所在的稀疏矩阵套件安装完了

//

2.安装完后编译时出现
“没有规则制作……libpcl_.so”的解决方法:
(1)报错中说的libpcl_
.so路径下,是不是真的有这些文件,没有就不管,有就全部删掉
(2)全局搜索libpcl_*.so的真正位置
(3)把真正位置链接到报错路径下 : sudo ln -s 真正路径 报错路径
e.g.:
ubuntu18(windows):

sudo ln -s /home/ruofan/pcl/build/lib/libpcl_surface.so /usr/lib/x86_64-linux-gnu/libpcl_surface.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_keypoints.so /usr/lib/x86_64-linux-gnu/libpcl_keypoints.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_tracking.so /usr/lib/x86_64-linux-gnu/libpcl_tracking.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_recognition.so /usr/lib/x86_64-linux-gnu/libpcl_recognition.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_stereo.so /usr/lib/x86_64-linux-gnu/libpcl_stereo.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_outofcore.so /usr/lib/x86_64-linux-gnu/libpcl_outofcore.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_people.so /usr/lib/x86_64-linux-gnu/libpcl_people.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_registration.so /usr/lib/x86_64-linux-gnu/libpcl_registration.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_segmentation.so /usr/lib/x86_64-linux-gnu/libpcl_segmentation.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_features.so /usr/lib/x86_64-linux-gnu/libpcl_features.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_filters.so /usr/lib/x86_64-linux-gnu/libpcl_filters.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_sample_consensus.so /usr/lib/x86_64-linux-gnu/libpcl_sample_consensus.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_ml.so /usr/lib/x86_64-linux-gnu/libpcl_ml.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_visualization.so /usr/lib/x86_64-linux-gnu/libpcl_visualization.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_search.so /usr/lib/x86_64-linux-gnu/libpcl_search.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_kdtree.so /usr/lib/x86_64-linux-gnu/libpcl_kdtree.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_io.so /usr/lib/x86_64-linux-gnu/libpcl_io.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_octree.so /usr/lib/x86_64-linux-gnu/libpcl_octree.so
sudo ln -s /home/ruofan/pcl/build/lib/libpcl_common.so /usr/lib/x86_64-linux-gnu/libpcl_common.so

ubuntu18(NUC2):

sudo ln -s /usr/local/pcl/lib/libpcl_surface.so /usr/lib/libpcl_surface.so
sudo ln -s /usr/local/pcl/lib/libpcl_keypoints.so /usr/lib/libpcl_keypoints.so
sudo ln -s /usr/local/pcl/lib/libpcl_tracking.so /usr/lib/libpcl_tracking.so
sudo ln -s /usr/local/pcl/lib/libpcl_recognition.so /usr/lib/libpcl_recognition.so
sudo ln -s /usr/local/pcl/lib/libpcl_stereo.so /usr/lib/libpcl_stereo.so
sudo ln -s /usr/local/pcl/lib/libpcl_outofcore.so /usr/lib/libpcl_outofcore.so
sudo ln -s /usr/local/pcl/lib/libpcl_people.so /usr/lib/libpcl_people.so
sudo ln -s /usr/local/pcl/lib/libpcl_registration.so /usr/lib/libpcl_registration.so
sudo ln -s /usr/local/pcl/lib/libpcl_segmentation.so /usr/lib/libpcl_segmentation.so
sudo ln -s /usr/local/pcl/lib/libpcl_features.so /usr/lib/libpcl_features.so
sudo ln -s /usr/local/pcl/lib/libpcl_filters.so /usr/lib/libpcl_filters.so
sudo ln -s /usr/local/pcl/lib/libpcl_sample_consensus.so /usr/lib/libpcl_sample_consensus.so
sudo ln -s /usr/local/pcl/lib/libpcl_ml.so /usr/lib/libpcl_ml.so
sudo ln -s /usr/local/pcl/lib/libpcl_visualization.so /usr/lib/libpcl_visualization.so
sudo ln -s /usr/local/pcl/lib/libpcl_search.so /usr/lib/libpcl_search.so
sudo ln -s /usr/local/pcl/lib/libpcl_kdtree.so /usr/lib/libpcl_kdtree.so
sudo ln -s /usr/local/pcl/lib/libpcl_io.so /usr/lib/libpcl_io.so
sudo ln -s /usr/local/pcl/lib/libpcl_octree.so /usr/lib/libpcl_octree.so
sudo ln -s /usr/local/pcl/lib/libpcl_common.so /usr/lib/libpcl_common.so

3.官网的曲面拟合教程:
https://pcl.readthedocs.io/projects/tutorials/en/master/bspline_fitting.html#bspline-fitting

执行过程:在pcl/doc/tutorials/content/sources/bspline_fitting下建立build,在build里面编译:

cmake .

make

然后在build里面有了可执行程序bspline_fitting,执行它: ./bspline_fitting /home/aerial-manipulator/pcl/test/bunny.pcd /home/hhh.3dm,两个参数中,前一个是输入的点云文件,后一个是输出的网格文件

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值