PCLPointCloud2 v.s. PointCloud

Я хочу узнать разницу между pcl:: PCLPointCloud2 и pcl:: PointCloud в Библиотека PointCloud (PCL). Существует функция преобразования из одного в другой, но документация очень плохая. Я хотел бы знать, какой из них новее?

p.s. (Я не говорю о ROS)

Ответ 1

  • PCL заменил тип "sensor_msgs:: PointCloud2" на "pcl:: PCLPointCloud2".

  • PointCLoud2 - это тип сообщения ROS.

= > Поэтому вам нужно было использовать тип PCLPointCloud2 в PCL, если вы хотите иметь взаимодействие с ROS.

Ответ 2

Когда вы подписываетесь или публикуете, вам не нужно их конвертировать. #include "pcl_ros/point_cloud.h" сделает это для вас (называется сериализацией). Подробнее см. Здесь: http://wiki.ros.org/pcl/Overview#Subscribing_to_different_point_cloud_message_types. Найдите абзац, начинающийся с "Если у вас есть объект pcl:: PointCloud, вам не нужно преобразовывать его в сообщение:"