How to access Intensity from ROS PointCloud2 message?

12 vues (au cours des 30 derniers jours)
Rita Chattopadhyay
Rita Chattopadhyay le 26 Avr 2017
I am able to access xyz using readxyz function from ROS PointCloud2 message. How can I access Intensity and ring values?
  1 commentaire
Pasindu Ranasinghe
Pasindu Ranasinghe le 23 Jan 2024
% Visualize point cloud data for PointCloud2 messages
Point_to_display=34;
Data_Range=1:200;
bSel = select(bag,'Topic','/livox/lidar');
msgStructs = readMessages(bSel,Data_Range,'DataFormat','struct');
intensities=msgStructs{Point_to_display}
%intensities=msgStructs{Point_to_display}.readFile('intensity')
pc2msg=msgStructs{Point_to_display};
intensities=rosReadField(pc2msg,'intensity');
pcobj = pointCloud(rosReadXYZ(msgStructs{Point_to_display}),"Intensity",intensities);
viewer = pcviewer(pcobj);

Connectez-vous pour commenter.

Réponses (1)

Will Nitsch
Will Nitsch le 1 Mai 2017
With PointCloud2 objects you should be able to get the intensity values using 'readRGB': https://www.mathworks.com/help/robotics/ref/readrgb.html
Here is the documentation on 'PointCloud2' objects: https://www.mathworks.com/help/robotics/ref/pointcloud2-object.html
I wasn't able to find any mention of a 'ring' parameter in that documentation, perhaps it is described differently? Explore the different object properties of that object class.

Catégories

En savoir plus sur Publishers and Subscribers dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by