将2D激光雷达数据转换为pointcloud

时间:2016-04-29 12:37:09

标签: c++ opencv point-cloud-library ros

我有一个2D激光扫描数据,这意味着我有旋转激光传感器,它给我每个角度的物体距离(e.i. 60°2.5m),我需要在OpenCV中处理这些数据。在论坛上我发现我必须遵循这条路径: sensor_msgs :: LaserScan 转换为 sensor_msgs :: Image 而不是 OpenCV图像。 当我使用this命令将sensor_msgs :: LaserScan转换为ros图像格式时:

projector.transformLaserScanToPointCloud("/robot1/base_link",*msg_laser,cloud,listener);

我得到了包含数据向量的结构,这些数据向量充满了奇怪的值,如 [0] 101'e' [1] 163'£' ...... 当我尝试将此ros图像转换为OpenCV图像时,我收到错误:

[ERROR] [1461933013.832914106, 990.212000000]: Error in converting cloud to image message: No rgb field!!

这是有道理的,因为传感器只给出了没有颜色的强度值。但是我应该用错误的pointcloud2格式做什么?

感谢您的每一个建议, 马丁

0 个答案:

没有答案
相关问题