Search code examples
c++image-processingpoint-cloud-librarypoint-clouds

How to compute spin image descriptors with pcl


I have a point cloud using the c++ pcl library and I would like to compute the spin image descriptor for each point. I have tried with the implemanted SpinImageEstimation class in pcl but I get a histogram way larger that it should be. For example with a spin image width of 8, I get a histogram of size 153. But I would like to have the 8x8 spin image.

Do you know how I should proceed for this?

ps: for reference on the spin image descriptor, https://www.sciencedirect.com/science/article/pii/S0262885698000742


Solution

  • I am not sure why you think the spin image is 8x8. See equation (2) in the paper: the spin image is rectangular because the points can lie on the positive or negative side of the normal. If you set the spin image width/bin count to 8, the image will be (2*8+1)x(8+1), which equals 153, the histogram size.