PCL:遇到的一些问题及解决方案

最近学习PCL也是各种bug,遇到第二遍才觉得应该要记录下来,不然很可能遇到第三遍,再满世界百度还不如查自己的博客来的简单明了。表面上看,好像写博客比较费事,但是实际上是对问题的总结和反思,应该收获会更大些吧O(∩_∩)O哈哈~

1.plane_fitting02: /usr/include/boost/smart_ptr/shared_ptr.hpp:653: typename boost::detail::sp_member_access::type boost::shared_ptr::operator->() const [with T = pcl::PointCloud; typename boost::detail::sp_member_access::type = pcl::PointCloud*]: Assertion `px != 0’ failed.Aborted (core dumped)

写C++,LZ还是挺怕遇到core dumped的错误的,因为编译通过,运行报错,这种类型的问题还是挺尴尬。而且对于c++还是属于爱恨交加的阶段,爱它的运行速度,恨它的各种特性。(⊙v⊙)嗯,最后还是找到问题所在了。

原因就是:智能指针未初始化。在PCL中一定要初始化!初始化!初始化!被这个问题折腾一上午,居然是这么低级的错误/(ㄒoㄒ)/~~

pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_source (new pcl::PointCloud<pcl::PointXYZ>);//LZ就是在定义自己函数的时候忘写了后面括号的内容

2.terminate called after throwing an instance of ‘pcl::IOException’ what(): [pcl::PCDWriter::writeASCII] Number of points different than width * height! Aborted

这是在点云写入的时候遇到的一个问题,因为LZ不确定最后点云的数量有多少,所以并没有制定点云的height和width,然后在写PCD的时候会不认,解决方案如下,在写PCD之前可以这样显示的定义一下点云的height和width。

outCld->width = 1;
outCld->height = outCld->points.size();

未完待续。。。

参考地址:
http://blog.csdn.net/breeze5428/article/details/31739211
http://www.pcl-users.org/error-Number-of-points-different-than-width-height-td3603456.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值