2013-05-01 3 views
0

я составил и запустить этот https://github.com/otherlab/pcl/blob/master/apps/src/openni_ii_normal_estimation.cppПреобразования между PointT и PointXYZ

Однако теперь я хочу, чтобы иметь возможность получить доступ к основным необработанным о нормалях и х, у, г точек. Однако я не могу извлечь необработанную информацию (например, x, y, z) из CloudConstPtr (это pcl :: PointCloud :: ConstPtr).

Я пробовал кастинг для новых объектов PointCloud типа шаблона PointXYZ, но это недопустимо. Может кто-нибудь, пожалуйста, продемонстрировать, как извлечь информацию о xyz? Это должно быть легко.

+0

Покажите нам точный код, который вы используете. И имейте в виду, что нет такой вещи, как фактический PointT. Это параметр шаблона. Это само по себе не является реальным объектом. Постскриптум не используйте тег PCL. Это не связано с библиотекой PointClouds. – Bart

ответ

1

Dou вы хотите доступ или экст. информация XYZ? (Я не могу попробовать запустить код на данный момент, но это должно быть легко, на самом деле)

Если вы хотите получить доступ к нему, вы можете найти его в атрибут вашего объекта облака points, например .:

cloud->points[pointNumber].x 
cloud->points[pointNumber].y 
cloud->points[pointNumber].z 

(при условии, что переменная облако является указателем)

Если вы хотите извлечь его в отдельное облако точек или типа данных, вы просто цикл над ним и скопировать данные points к отдельному объекту/переменной. Или просто использовать внутреннюю функцию

pcl::copyPointCloud() 

, чтобы скопировать его в другой PCL облачного типа (см API документ для деталей, его можно найти в common пространстве имен).

Смежные вопросы