Known primitive to point cloud registration/alignment?

Feel free to ask any question here
Post Reply
Evan
Posts: 24
Joined: Wed Jul 08, 2020 12:54 am

Known primitive to point cloud registration/alignment?

Post by Evan »

Hello again,

I took a scan of a cylindrical barrel. I have measured the radius and height of the barrel precisely (in real life). From the primitive factory, I can generate a cylinder based on these specs. Is there a way to register the primitive to the point cloud without eyeballing?

RANSAC does a great job creating cylinders that are virtually the same radius and height as I have measured. However, for sparse scans far away, or scans taken with a more unreliable sensor such as the Microsoft Kinect, RANSAC can produce some cylinders that are not exactly what I know to be true.
daniel
Site Admin
Posts: 7616
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Known primitive to point cloud registration/alignment?

Post by daniel »

You can roughly register the primitve with the cloud (with the 'Edit > Translate/Rotate' tool). Then use the 'Fine Registration (ICP)' tool (with the primitive as the reference entity - it's always possible to invert the transformation later).
Daniel, CloudCompare admin
Evan
Posts: 24
Joined: Wed Jul 08, 2020 12:54 am

Re: Known primitive to point cloud registration/alignment?

Post by Evan »

Thanks, I thought I had tried that, but I guess the primitive was not the reference entity. Ideally, I'd want to keep the point cloud fixed, but this might also work.
WargodHernandez
Posts: 187
Joined: Tue Mar 05, 2019 3:59 pm

Re: Known primitive to point cloud registration/alignment?

Post by WargodHernandez »

If you want the point cloud fixed, just apply the inverse of the transform to the cloud and the primitive after alignment and they should move together back to the original cloud location.
Post Reply