我是靠谱客的博主 成就口红,最近开发中收集的这篇文章主要介绍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

最后

以上就是成就口红为你收集整理的PCL:遇到的一些问题及解决方案的全部内容,希望文章能够帮你解决PCL:遇到的一些问题及解决方案所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部