The original project has now been relocated to filrg/pcprep.
The following packages are required to build the Point cloud preparation tool:
For Ubuntu, you can run the following:
sudo apt-get install cmake make gcc g++ libpng-dev
# (OPTIONAL) to build the tool with desktop mode (GPU support)
# install the following additional dependencies
sudo apt-get install libglfw3-dev libglew-dev libgl-dev
# (OPTIONAL) dependencies for example binaries
sudo apt-get install libglm-dev
Bash scripts can be used to build the pcprep project:
chmod +x scripts/build.sh
./scripts/build.sh
mkdir build
cd build
cmake ..
make -j$(nproc)
make install
mkdir build
cd build
cmake .. -DDESKTOP_MODE=ON
make -j$(nproc)
make install
mkdir build
cd build
cmake .. -DBUILD_EXAMPLES=ON
make -j$(nproc)
make install
mkdir build
cd build
cmake .. -DBUILD_VPCC=ON
make -j$(nproc)
make install
pcp
)./bin/pcp \
--process=sample 0.5 0 \
--tile=2,2,2 \
--binary=0 \
--input=longdress0000.ply \
--output=tile%04d.ply
More infomations could be found in the user manual.
fil-CPCTv1
) DatasetThe pcprep.sh
script was used to generate a dataset of V-PCC-compressed point cloud tiles, derived from the 8i-VFBv2 point cloud sequences. This dataset is publicly available here.
To edit and create synthetic user’s camera trajectory, a tool has been designed to be used in Unity Engine as a script. More information about how to use the scripts can be found here.
The scripts can be found in the folder trajectory-tool
if the repository was cloned with submodule:
git clone --recursive https://github.com/QuangNguyenLong/pcprep.git
This program takes input a point cloud, currently supporting Polygon File Format (PLY), the numbers of division per axis, and output tiles by deviding the point cloud bounding box.
tiling <input_file_path> <n_x> <n_y> <n_z> <is_binary> <output_folder>
For example:
tiling longdress0000.ply 2 2 2 1 test
This program takes input a point cloud, currently supporting Polygon File Format (PLY), subsampling percentage (from 0 to 1) and output subsampled point cloud.
subsampling <input_file_path> <subsample_percentage> <output_file_path>
For example:
subsampling longdress0000.ply 0.5 ouput.ply
This program takes input a JSON file which specified camera parameters, and output the MVP matrixes in a JSON file.
cam2mat <input-cam-param.json> <output-cam-matrix.json>
For example:
cam2mat cam-param.json cam-matrix.json
This program is currently in development. This program print the screen proportion (estimated by the bounding box) of the 8 tiles given by upper “tilling” example command.
screen_area
For example:
screen_area