Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Register two point clouds using ICP algorithm

`tform = pcregistericp(moving,fixed)`

```
[tform,movingReg]
= pcregistericp(moving,fixed)
```

`[___,rmse] = pcregistericp(moving,fixed)`

`[___] = pcregistericp(moving,fixed,Name,Value)`

returns a rigid transformation that registers a moving point cloud to a fixed
point cloud.`tform`

= pcregistericp(`moving`

,`fixed`

)

The registration algorithm is based on the "iterative closest point" (ICP) algorithm. Best
performance of this iterative process requires adjusting properties for your
data. Consider downsampling point clouds using `pcdownsample`

before using
`pcregistericp`

to improve accuracy and efficiency of
registration.

Point cloud normals are required by the registration algorithm
when you select the `'pointToPlane'`

metric. Therefore,
if the input point cloud’s `Normal`

property
is empty, the function fills it. When the function fills the `Normal`

property,
it uses 6 points to fit the local plane. Six points may not work under
all circumstances. If registration with the `'pointToPlane'`

metric
fails, consider calling the `pcnormals`

function
which allows you to select the number of points to use.

`[___] = pcregistericp(`

uses additional options specified by one or more `moving`

,`fixed`

,`Name,Value`

)`Name,Value`

pair arguments.

[1] Chen, Y. and G. Medioni. “Object
Modelling by Registration of Multiple Range Images.” *Image
Vision Computing*. Butterworth-Heinemann . Vol. 10, Issue
3, April 1992, pp. 145-155.

[2] Besl, Paul J., N. D. McKay. “A Method
for Registration of 3-D Shapes.” *IEEE Transactions
on Pattern Analysis and Machine Intelligence*. Los Alamitos,
CA: IEEE Computer Society. Vol. 14, Issue 2, 1992, pp. 239-256.

`affine3d`

| `pcdenoise`

| `pcdownsample`

| `pcfitplane`

| `pcmerge`

| `pcplayer`

| `pcread`

| `pcregistercpd`

| `pcregisterndt`

| `pcshow`

| `pctransform`

| `pcwrite`

| `planeModel`

| `pointCloud`