首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于处理和可视化的Python上的PCL替代方案

用于处理和可视化的Python上的PCL替代方案
EN

Stack Overflow用户
提问于 2019-02-19 07:58:33
回答 1查看 4.5K关注 0票数 3

我使用rospy接收点云。为了处理这些点云,有一个名为python-pcl的包,我无法让它运行,因为它是非常错误和非功能性的,大量的问题,关于Github,等等。

我想知道Python中是否还有处理点云的库?我在ROS上收到了一个点云,如下所示:

代码语言:javascript
复制
self.pointcloud_sub = rospy.Subscriber("/nerian_stereo/point_cloud", PointCloud2, self.pointcloud_cb) # get the pointcloud

def pointcloud_cb(self, scan):
        # just to test, if we receive anything
        points_list = []
        # loop and show points
        for data in pc2.read_points(scan, skip_nans=True):
            points_list.append([data[0], data[1], data[2], data[3]])
        print(points_list)

从这一点开始,如何使用ICP处理、可视化或注册Pointcloud,而不使用PCL库。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-19 14:14:49

有一个称为"open3D“的python库,它为点云处理提供了一个稳定的平台。在这里阅读文档:http://www.open3d.org/docs/

要使它与ROS一起工作,您需要使用pip来安装open3D的旧版本

代码语言:javascript
复制
pip install open3d-python==0.3.0.0

我一直在使用这个库进行点云注册,没有任何问题。

由于ROS还不支持这个库,所以您必须编写自己的代码,以便在PointCloud2到Opend3D.PointCloud之间进行转换。这可以很容易地用numpy来完成。参见示例这里

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54761250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档