Python上的PCL替代处理和可视化

问题描述 投票:0回答:1

我正在使用rospy接收pointclouds。为了处理这些pointclouds,有一个名为python-pcl的软件包,我无法让它运行,因为它非常错误且无法运行,Github上有大量问题,等等。

我想知道Python中是否有另一个用于处理pointclouds的库?我收到的关于ROS的点云如下:

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)

从这一点开始,如何在不使用PCL库的情况下使用ICP处理,可视化或注册Pointcloud。

python point-clouds rospy
1个回答
2
投票

有一个名为“open3D”的python库,它为Point云处理提供了一个稳定的平台。阅读文档:http://www.open3d.org/docs/

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

pip install open3d-python==0.3.0.0

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

由于ROS尚不支持此库,因此您必须编写自己的代码以便在PointCloud2和Opend3D.PointCloud之间进行转换。哪个可以轻松地使用numpy。参见示例here

© www.soinside.com 2019 - 2024. All rights reserved.