theICTlab/3DUNDERWORLD-SLS-GPU_CPU

A structured light scanner

What it solves

This project provides a tool for reconstructing 3D point clouds from a series of images. It specifically addresses the need for rapid geometry acquisition by using structured light scanning, which allows for the reconstruction of objects based on patterned light projected onto them.

How it works

The system uses a structured light approach where patterns are projected onto an object in a grid. Each cell in this grid has a unique sequence that can be decoded from images captured by cameras. The software processes these images using two main components:

  1. ImageProcessor: Takes images, projector parameters, and camera calibration parameters to produce "Buckets."
  2. Reconstructor: Combines these Buckets to generate the final 3D point cloud.

To improve performance, the reconstruction process is implemented for both CPU and GPU (via CUDA), with the GPU version providing significant acceleration.

Who it’s for

This tool is designed for researchers and developers working in 3D scanning, computer vision, and geometry acquisition who have access to a projector and calibrated cameras.

Highlights

  • Dual Implementation: Supports both CPU and GPU (CUDA) processing to accelerate reconstruction time.
  • Point Cloud Generation: Capable of producing output files in .ply or .obj formats.
  • OpenCV Integration: Utilizes OpenCV2 for image processing and camera calibration.
  • Library Support: Provides libraries that can be integrated into other software projects.