Альтернатива PCL на Python для обработки и визуализации - PullRequest
0 голосов
/ 19 февраля 2019

Я использую rospy для получения облаков точек.Для обработки этих облаков точек есть пакет под названием python-pcl, я не смог его запустить, так как он был чрезвычайно глючным и не функционировал, куча проблем на Github и т. Д.

Я хотел бы знатьесть ли в Python другая библиотека для обработки облаков точек?Я получаю Pointcloud через 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)

С этого момента, как обрабатывать, визуализировать или регистрировать Pointcloud с помощью ICP без использования библиотеки PCL.

1 Ответ

0 голосов
/ 19 февраля 2019

Существует библиотека python под названием "open3D", которая обеспечивает стабильную платформу для облачной обработки Point.Прочитайте документы здесь: http://www.open3d.org/docs/

Чтобы заставить его работать с ROS, вам нужно установить более старую версию open3D, используя pip как

pip install open3d-python==0.3.0.0

Я использовал эту библиотеку для точкирегистрация в облаке без проблем.

Поскольку эта библиотека еще не поддерживается ROS, вам необходимо написать собственный код для преобразования между PointCloud2 в Opend3D.PointCloud.Что можно легко сделать с помощью NumPyСмотрите примеры здесь .

...