将pointcloud2数据转换为opencv图像

时间:2015-04-20 08:40:21

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

我正在尝试将从2D激光扫描仪获得的数据转换为openCV图像。在网上搜索这个,我发现首先我必须将laserscan数据转换为pointcloud2,然后将pointcloud2转换为ROS图像,然后将ROS图像转换为opencv图像。 目前,我无法访问激光雷达,因此我创建了一个发布虚假pointcloud2数据的节点。但是,我不明白有组织的pointcloud意味着什么。我随意将高度和宽度参数设置为100,并且还为点分配了任意RGB值,我得到了100x100图像,但我不明白该图像是如何表示我的pointcloud数据。 有人可以解释一下吗?

1 个答案:

答案 0 :(得分:0)

我猜你正在使用OpenCV和PCL在ubuntu下开发ROS,因为pcl :: PointCloud2是ROS点云格式。

有组织的pointcloud difinition:http://pointclouds.org/documentation/tutorials/basic_structures.php#basic-structures

我在点云和OpenCV图像上做了一些任务,并始终将点云转换为OpenCV Mat。所以我可以给你一些建议。

我的开发环境是win8.1下的PCL1.7.2,OpenCV2.4.9,Kinect v2,VS2012。我想将项目点云转换为地平面并将其转换为2D图像(OpenCV Mat),您可以检查我的另一个解决方案herehere