How to access Intensity from ROS PointCloud2 message?
8 views (last 30 days)
Show older comments
I am able to access xyz using readxyz function from ROS PointCloud2 message. How can I access Intensity and ring values?
1 Comment
Pasindu Ranasinghe
on 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);
Answers (1)
Will Nitsch
on 1 May 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.
0 Comments
See Also
Categories
Find more on Publishers and Subscribers in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!