2

is there any c++/c open source implementation? i got two point clouds and would like to match them.. any ideas?

iniesta
  • 41
  • 1
  • 4
  • how exactly do you want to match them? Any diagram or example would help. – Lazer Aug 25 '10 at 09:49
  • i have two point clouds (a fixed model shape and data shape) of an object! now i try to algin the data to the model and get the distances of each point... later on i am using this distances in a svm to classify the data shape.. what i need now is an efficient implementation of the ICP, maybe hierarchical? my point clouds consist of 30.000 points... – iniesta Sep 04 '10 at 08:59

4 Answers4

1

Give LibICP a shot, although I personally have not used it so far.

http://www.cvlibs.net/software/libicp.html

EDIT: I tried it by myself, not a great experience -- the library is short of documentation and example code. Also, I didn't receive much help from the authors too.

galactica
  • 1,753
  • 2
  • 26
  • 36
  • It's also worth noticing that if `libicp`'s SVD does not converge (the limit of 30 iterations is hard-coded), it will print something to stderr and continue - it has no API to tell your code about non-convergence. – nh2 Jan 19 '14 at 15:54
0

I wrote a article about accelerated line search on ddj.com some time ago. I dont exactly understand what you want to do but the approach shown there divides the whole area into "quadrants" of a given search width. This reduces the time for search significantly. It may also be used with points.

http://www.drdobbs.com/cpp/198900559

RED SOFT ADAIR
  • 12,032
  • 10
  • 54
  • 92
0

You can compare these 2 clusters of points by measuring Hausdorff distance

between clusters. The bigger Hausdorff distance is - the more dissimilar clusters are.

hope that helps.

Agnius Vasiliauskas
  • 10,935
  • 5
  • 50
  • 70
0

Please refer to trimesh2 library, which provides a ICP example. http://www.cs.princeton.edu/gfx/proj/trimesh2/

Shi
  • 1