Robotics StackExchange | Archived questions

Rviz point cloud intensity channel. How does it relate to point cloud XYZI?

in my code, i have a point cloud XYZI and assign each point in the cloud with intensity value. How the intensity field in point cloud XYZI relate to intensity channel in rviz?

In my understanding, the intensity of each point in point cloud XYZI ranges from 0 to 255. Is that correct? Does that apply to Rivz too?

Im confused because when i assigned negative value for intensity in my point cloud, it still works.

Also, what color is max intensity and what color is min intensity in rviz?

Asked by dmngu9 on 2016-04-18 00:47:50 UTC

Comments

Answers

I assume you're talking about pcl::PointXYZI, correct? It's a float (so it could be negative, although that would be unusual), and it can take any value that a float in C++ can take. Intensity values don't have a unit and are device-dependent; that means the actual minimum and maximum depends on the device that produced them, and you cannot directly compare intensities from different sensor models. The only convention is that "higher value" means "more intense".

About RViz: If you open a PointCloud2 display and select the "Intensity" color transformer, you can select a channel to display. This doesn't have to be intensity, it can actually be any channel of your point cloud. If you leave "autocompute intensity bounds" checked, it will compute the min + max for each point cloud separately and scale the color spectrum to that range. If you disable the check box, you can enter min + max intensity manually (good if the min/max varies a lot between point clouds and you want the colors to be consistent between point clouds).

Asked by Martin Günther on 2016-04-18 04:09:56 UTC

Comments