How to match two point-cloud?

15 views (last 30 days)
Geoffrey
Geoffrey on 3 Jul 2013
Hello there, I have two 2D point-cloud with the same number of element. For example : http://image.noelshack.com/fichiers/2013/27/1372856740-sans-titre.png
So how to reorder each line in the matrix corresponding of the red figure to have the same position than the matrix corresponding of the blue figure?
for example if i plot the position of each point of each matrix i got :
plot(cloud1(:,1),cloud1(:,2),'b+');hold on;set(gca,'dataaspectratio',[1 1 1])
for l = 1:length(cloud1)
text(cloud1(l,1)+3,cloud1(l,2)+5,num2str(l), ...
'Color','b','Clipping','on');
end
plot(cloud2(:,1),cloud2(:,2),'r+');
for l = 1:length(cloud2)
text(cloud2(l,1)+3,cloud2(l,2)+5,num2str(l), ...
'Color','r','Clipping','on');
end
As you can see the points in the red matrix are bad organised. The point in the position 224 in the red matrix should be in the position 300 etc...
I suppose that i should use ICP but i don't know how... Thank you for your help.

Answers (1)

Matt J
Matt J on 3 Jul 2013
Edited: Matt J on 3 Jul 2013
  1 Comment
Geoffrey
Geoffrey on 3 Jul 2013
But i didn't want to rotate or translate my red cloud, I only want to find the corresponding points in the blue cloud. The positions of my points mustn't change.
To be simple i have in entry :a blue matrix well ordered (the reference) and a red matrix wrong ordered .
I would like in output :a blue matrix well ordered and a red matrix well ordered.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!