- Home
- 3D Scanning Software
- 3DUNDERWORLD-SLS
3DUNDERWORLD-SLS
Montreal, Quebec
What it is
3DUNDERWORLD-SLS is free Linux software that reconstructs point clouds from camera image sequences illuminated by patterned light. It provides CPU and GPU implementations and command-line output in PLY or OBJ format. Version 4.x expects two or more cameras and offers a generic camera interface that programmers can extend, but camera acquisition is not implemented; users must provide a camera class. The project includes integration libraries, CPU and GPU examples, and an API included in OpenCV 3.1 for a stereo approach using time-multiplexing Gray encoding. Demo binaries, sample data, and CMake build instructions are included. Dependencies are OpenCV 2, CUDA 6.0 or later, and glm. CUDA detection creates CPU and GPU constructors; without CUDA, the default build creates only the CPU constructor. The repository uses the GNU Lesser General Public License version 3 with additional permissions. It does not provide real-time capture or mesh reconstruction. Users of resulting publications are asked to cite specified publications.
For and against
For
- CPU and GPU reconstruction paths
- PLY and OBJ export
- Extensible camera interface
- Libraries and integration API
- CMake build instructions included
Against
- Camera acquisition must be implemented
- Requires two or more cameras
- Depends on older OpenCV 2
- No real-time capture or mesh reconstruction
The verdict
3DUNDERWORLD-SLS provides a research-oriented structured-light point-cloud pipeline with extensible interfaces and CPU/GPU options. Its missing camera acquisition and build dependencies mean it requires technical setup rather than plug-and-play scanning.
Who it suits
This project suits developers and researchers building structured-light scanning workflows on Linux. It is intended for users able to implement camera acquisition and compile software with its listed dependencies.
On the record
- Build
- The repository includes demo binaries and data, and a CMake script to compile the binaries and libraries.github.com · read 7 Oct 2026
- Build requirements
- The listed dependencies are OpenCV 2, CUDA 6.0 or later, and glm.github.com · read 8 Oct 2026
- Camera acquisition
- Camera acquisition is not implemented, though the project provides interfaces for users to implement a camera class.github.com · read 7 Oct 2026
- Camera limitation
- Camera acquisition is not implemented; the project provides interfaces for users to implement a camera class.github.com · read 8 Oct 2026
- CPU and GPU
- The reconstruction process is implemented for both CPU and GPU, with CUDA-enabled builds generating both CPU and GPU executables when CUDA is detected.github.com · read 8 Oct 2026
- Data size
- The repository notes that its included example data makes the repository about 300 MB.github.com · read 7 Oct 2026
- Dependencies
- The listed dependencies are OpenCV 2, CUDA 6.0 or later, and glm.github.com · read 7 Oct 2026
- Download and build
- The repository includes demo binaries and data and provides CMake instructions to build the binaries and libraries.github.com · read 8 Oct 2026
- GPU support
- If CUDA is detected, the default build creates CPU and GPU constructors; otherwise, it generates only the CPU constructor.github.com · read 7 Oct 2026
- Integration
- The project provides libraries intended for integration into other projects, with CPU and GPU application examples in the repository.github.com · read 8 Oct 2026
- Intended use
- The project's technical report describes the system as an open-source structured-light scanner for rapid geometry acquisition.theictlab.org · read 7 Oct 2026
- Intended users
- The lab describes its work as research and notes collaborations with industry and other external partners.theictlab.org · read 8 Oct 2026
- Library
- The project includes libraries intended for integration into other projects, with CPU and GPU application examples.github.com · read 7 Oct 2026
- License
- The GitHub repository identifies its license as LGPL-3.0.github.com · read 8 Oct 2026
- Output
- The command-line program can export reconstructed models in PLY or OBJ format.github.com · read 7 Oct 2026
- Outputs
- The demo accepts camera image folders and calibration files and can save output as PLY or OBJ.github.com · read 8 Oct 2026
- Processing
- Image processors use images, projector parameters, and camera calibration parameters to produce data that the reconstructor combines into a point cloud.github.com · read 8 Oct 2026
- Project status
- The lab's software page lists GPU-based structured-light scanning software V4.0 under “Under Active Development.”theictlab.org · read 8 Oct 2026