nv_pcp
- 18 Mar 2024
- 6 Minutes to read
- Print
- DarkLight
- PDF
nv_pcp
- Updated on 18 Mar 2024
- 6 Minutes to read
- Print
- DarkLight
- PDF
Article summary
Did you find this summary helpful?
Thank you for your feedback
The Point Cloud Processor tool ("nv_pcp") resamples and converts Point clouds.
Options
nv_pcp -h
----------------------------------------------------------------------------
NavVis Point Cloud Processor
nv_pcp - Copyright (c) NavVis GmbH 2013-2020, http://www.navvis.com
Processes point clouds.
Software Version: 2.9.0-b11245-c9f72372-bionic-release-2.9.0 (c9f7237232699fa55abcd574e3eafdd744a51d98)
----------------------------------------------------------------------------
Usage:
nv_pcp [options] <input-pointcloud> <output-pointcloud>
Examples:
Convert the format from PLY to E57:
nv_pcp pointcloud.ply pointcloud.e57
Downsample the point cloud to coarser spatial resolution of 2 cm (=0.02 m):
nv_pcp pointcloud.e57 pointcloud-downsampled.e57 --resample-output=0.02
Cut off the ceiling at a height of 2.4 m and downsample the cloud:
nv_pcp pointcloud.ply pointcloud-cropped.ply --resample-output=0.02 --crop-max-z=2.4
General options:
-h [ --help ] Prints this usage message.
Input options:
-i [ --input ] arg Input point cloud. Required.
--input-res arg Input cloud resolution. If not set, the
cloud resolution will be computed.
--resample-input [=arg(=0)] Resamples the input point cloud. The
optional value specifies the resolution
in [m] when resampling. If no value was
specified, the <cloud resolution> will
be used (can be set via --input-res),
else the <cloud resolution> will be set
to this value.
--sensor-frame arg Path to sensor_frame.xml.
Output options:
-o [ --output ] arg Output file for the final point cloud.
If omitted, the point cloud will be
written to '<input-without-extension>-f
inal.ply'
--output-res arg Output cloud resolution.
--resample-output [=arg(=0)] Resamples the final point cloud. The
optional value specifies the resolution
in [m] when resampling. Otherwise, the
<cloud resolution> will be used (can be
set via --input-res)
--apply-transformation arg Applies the given comma-separated
transformation matrix to the point
cloud.
--apply-origin-json arg Applies the transformation given in the
origin-json to the point cloud.
Cutting/cropping options:
--crop-min-x arg Discard all points with a x-coordinate
< than <arg>.
--crop-max-x arg Discard all points with a x-coordinate
> than <arg>.
--crop-min-y arg Discard all points with a y-coordinate
< than <arg>.
--crop-max-y arg Discard all points with a y-coordinate
> than <arg>.
--crop-min-z arg Discard all points with a z-coordinate
< than <arg>.
--crop-max-z arg Discard all points with a z-coordinate
> than <arg>.
--invert-crop To return data outside the
intervalspecified by options
crop-min/max-x/y/z.
--crop-vert-slice arg Specify the x and y coordinates of two
points from the pointcloud to create a
vertical slice going through those
points.
Expected format: --crop-vert-slice "x1
y1 x2 y2"
--vert-slice-thickness arg (=0.29999999999999999)
When specified together with
--crop-vert-slice, defines the
thickness of the slice in m.
Usage Examples
The following usage examples show typical tasks. See also: Working with Point Clouds
Convert a point cloud from the existing .ply format to another format, like LAS:
nv_pcp pointcloud.ply pointcloud.las
Convert a point cloud from the existing .ply format to the PTS format, and make a cut at the height (along the z axis) of 2.40m:
nv_pcp pointcloud.ply pointcloud.pts --crop-max-z=2.40
Down sample a point cloud to a resolution of 10cm. This will greatly reduce the number of points in the cloud and thus the computational effort of your 3D applications. Note that the accuracy of the points remains largely unchanged, only the spatial resolution will change:
nv_pcp pointcloud.ply pointcloud-downsampled.ply --resample-output=0.1
Was this article helpful?