This repo consists of multiple Python scripts; stereo calibration, multiway registration, estimating normals, manual registration, global registration, mesh generation, and colored point cloud registration.
The required pip packages can be installed using the requirements.txt file: pip install -r requirements.txt
colored_icp.py
: run like python colored_icp.py
, the script will automatically take 2 jpg images and their corresponding png depth images, along with their intrinsic parameters.
create_mesh_from_pc_poisson.py
: run like python create_mesh_from_pc_poisson.py <filename>
, provide the script with a file containing point cloud information, like a pcd or ply file.
global_reg.py
: run like python global_reg.py
, the script will automatically take 2 jpg images and their corresponding png depth images, along with their intrinsic parameters.
manual.py
: run like python manual.py
, the script will automatically take 2 jpg images and their corresponding png depth images, along with their intrinsic parameters.
multiway.py
: run like python multiway.py <amount>
, provide the number of pcds you have, the script will automatically take the proper amount of jpg images and their corresponding png depth images, along with their intrinsic parameters.
normals.py
: run like python normals.py
, the script will automatically take 1 jpg image and its corresponding png depth image, along with its intrinsic parameters.
stereo_calib.py
: run like python stereo_calib.py
, the script will automatically take 2 jpg images and their corresponding png depth images, along with their intrinsic and extrinsic parameters.
The scripts that automatically take input files assume the following format, where index represents the camera index (index is 0 up to amount of cameras-1). This formatting is already correct if the code from C++ repo is used:
intrinsic[index].json the camera intrinsic matrix of camera [index]
color[index].jpg the color image of camera [index]
depth[index].png the depth image of camera [index]
The stereo calibration script also requires extrinsics:
extrinsic.json the camera extrinsic matrices, for the transformation from sub camera to master camera