2015-04-20 70 views
1

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

+0

你有没有解决过这个问题?如果你这样做有一些快速转换点的方式http://stackoverflow.com/questions/40302248/visualize-pointcloud – JTIM

回答

0

我猜你正在使用的OpenCV和PCL发展ROS ubuntu下,用于PCL :: PointCloud2是ROS点云格式。

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

我做了点云和OpenCV图像一些任务,总是点云转换为OpenCV的垫。所以我可以给你一些建议。

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