Iterative Closest Point

An implementation of various ICP (iterative closest point) features.
26K Downloads
Aktualisiert 25. Jan 2013

Lizenz anzeigen

The ICP algorithm takes two point clouds as an input and return the rigid transformation (rotation matrix R and translation vector T), that best aligns the point clouds.

Example:
[R,T] = icp(q,p,10);

Aligns the points of p to the points q with 10 iterations of the algorithm.
The transformation is then applied using
R*p + repmat(T,1,length(p));

The file has implemented both point to point and point to plane as well as a couple of other features such as extrapolation, weighting functions, edge point rejection, etc.

For an introductory text on the ICP algorithm and the implemented variants, see http://www2.imm.dtu.dk/~jakw/publications/bscthesis.pdf

Hans Martin Kjer & Jakob Wilm -- Evaluation of surface registration algorithms for PET motion correction

Zitieren als

Jakob Wilm (2024). Iterative Closest Point (https://www.mathworks.com/matlabcentral/fileexchange/27804-iterative-closest-point), MATLAB Central File Exchange. Abgerufen.

Kompatibilität der MATLAB-Version
Erstellt mit R2012a
Kompatibel mit allen Versionen
Plattform-Kompatibilität
Windows macOS Linux
Quellenangaben

Inspiriert: Optimal Step Nonrigid ICP

Community Treasure Hunt

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

Start Hunting!
Version Veröffentlicht Versionshinweise
1.14.0.0

Replaced the link to the thesis.

1.13.0.0

Modified Orthogonal Procrustes to prevent non-plausible rotation matrix (det(R) should be +1).
-- Thank you, Tomasz!

1.12.0.0

Clearing the input parser object due to memory leaks (in older Matlab versions?) -- thanks, Walter!

1.11.0.0

* Added a missing sub function: k_nearest_neighbors
* Fixed a bug in the lsqnorest sub function
* Removed GLTree reference because it is not available any longer
* Updated the examples to be clearer

1.10.0.0

Updated icp.m with a missing sub function.

1.9.0.0

Corrected link to thesis.

1.8.0.0

Combined functions in one file and added a demo script.

1.7.0.0

Corrected a typo in icp.m (as pointed out in the comments, thanks!)

1.4.0.0

Added rms_error and added a screenshot.

1.1.0.0

Added link to thesis.

1.0.0.0