背景:
pcl官方教程:点击打开链接
运行版本:pcl 1.8.1
1. 使用感受:
这一官方的教程是一个垃圾。对,就是这么直白。你跑一下代码,你就会首先遇到这个编译错误:
/home/UpSample/src/main.cpp:122: warning: ‘void pcl::MovingLeastSquares<PointInT, PointOutT>::setPolynomialFit(bool) [with PointInT = pcl::PointXYZ; PointOutT = pcl::PointNormal]’ is deprecated: [pcl::surface::MovingLeastSquares::setPolynomialFit] setPolynomialFit is deprecated. Please use setPolynomialOrder instead. [-Wdeprecated-declarations]
mls.setPolynomialFit (true);
原因是:2017年9月pcl弃用了setPolynomialFit()这个函数。
解决办法:删掉这行代码。
然后再跑这个代码,Segmentation fault (core dumped)。这就无解了,我安装的pcl版本是release版本,想debug也不行。
然后呢,我就试试调一下参数,看能不能跑起来。当你往setSearchRadius()里填0.005你就会发现能跑起来了,而且一定要小于等于0.005,而且这个数值只对应 bun0.pcd这个点云。
那么输出的结果怎样?
只有20个点输出。从397个点降为20个点,但我明明想要做的是上采样,不是下采样。。。
而且,这样脆弱的算法,不适宜应用开