2015-04-20 1 views
1

Я пытаюсь преобразовать данные, полученные с 2D-лазерного сканера, в изображение openCV. При поиске в Интернете для этого я обнаружил, что сначала мне пришлось преобразовать данные лазеров в pointcloud2, затем pointcloud2 в изображение ROS, а затем изображение ROS для изображения opencv. В настоящее время у меня нет доступа к лидару, поэтому я создал узел, который публикует поддельные данные pointcloud2. Однако я не понял, что означает организованная точка. Я произвольно задал параметры высоты и ширины до 100 каждый, а также назначил произвольные значения RGB для точек, и я получил изображение 100x100, но я не понимаю, как это изображение является представлением моих данных pointcloud. Может кто-нибудь объяснить это?Преобразование данных pointcloud2 в opencv image

+0

Вы когда-нибудь решали это? Если вы это сделали, есть несколько быстрых точек для преобразования другим способом http://stackoverflow.com/questions/40302248/visualize-pointcloud – JTIM

ответ

0

Я предполагаю, что вы используете OpenCV и PCL для разработки ROS под ubuntu, поскольку pcl :: PointCloud2 - это формат облачных точек ROS.

Организованный PointCloud Difinition: http://pointclouds.org/documentation/tutorials/basic_structures.php#basic-structures

я сделал какую-то задачу на облаке точек и OpenCV изображения и всегда конвертировать облака точек в OpenCV Матем. Поэтому я могу дать вам несколько предложений.

Моя среда разработки - это PCL1.7.2, OpenCV2.4.9, Kinect v2, VS2012 под win8.1. Я хочу преобразовать облако точек проекта в плоскость земли и перенести его в 2D-изображение (OpenCV Mat), вы можете проверить мое другое решение here и here.