3D Point cloud matching using ICP

11 views (last 30 days)
Nilesh Hampiholi
Nilesh Hampiholi on 25 Oct 2021
Answered: Shivam Singh on 3 Feb 2022
Hello,
I am trying to find a match between 2 sent of points. I have
point_cloud_phantom = [x y z] (size -12000 x 3)
point_from_image = [xm ym zm] (12 x 3)
tform = pcregistericp(point_from_image, point_cloud_phantom);
tr = pctransform(point_from_image,tform)
figure;
pcshow(x);
hold on;
pcshow(y, 'MarkerSize', 100);
hold on
figure
pcshow(x);
hold on;
pcshow(tr, 'MarkerSize', 100);
Matching dosent really look great. What can I do to improve? Or am I doing something wrong?
initial image:
fiinal image after roation

Answers (1)

Shivam Singh
Shivam Singh on 3 Feb 2022
Hello Nilesh,
It is my understanding that you are trying to use pcregistericp function to register a moving point cloud to a fixed point cloud.
For improving your registration output, you may also explore different Name-Value Arguments of “pcregistericp” function like Metric, MaxIteration, InitialTransform, etc.
You may also refer other registration algorithms available in MATLAB like pcregisterndt, pcregistercorr, and pcregistercpd.
I hope it helps you.

Community Treasure Hunt

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

Start Hunting!

Translated by