Large-scale DSM registration using two-stage ICP
reg.exe -src source.tif -dst reference.tif
Support rigid transformation (6DoF) and translation (3DoF).
This project was tested on Windows 11 with Visual Studio 2019, c++17, and vcpkg.
vcpkg environment:
vcpkg tool version: 2026-04-08-e0612b42ce44e55a0e630f2ee9d3c533a63d8bc1
vcpkg commit: 2b65c20fc66eda893aa15a15a453c3cf09500b19
vcpkg triplet: x64-windows
dependency versions:
Eigen3: 5.0.1
GDAL: 3.12.4#1
nanoflann: 1.9.0
Build steps:
- Install Visual Studio 2019 with c++ development tools.
- Install and bootstrap vcpkg.
- Install the required packages with vcpkg:
vcpkg install eigen3:x64-windows gdal:x64-windows nanoflann:x64-windows- Open the project folder in CMake GUI.
- Select the generator:
Visual Studio 16 2019
- Select the platform:
x64
- Set the vcpkg toolchain file in CMake:
CMAKE_TOOLCHAIN_FILE=path/to/vcpkg/scripts/buildsystems/vcpkg.cmake
- Click
Configure, then clickGenerate. - Open the generated
.slnfile in Visual Studio. - Build the project in
Releasemode. The main executable for DSM registration will be generated as:
reg.exe


