A C++ application for creating 3D models from multiple photographs using Structure from Motion (SfM) techniques.
- Real-time camera feed
- Image capture from different angles
- 3D model reconstruction using feature matching and triangulation
- Save and load 3D models in PLY format
- Modern Qt-based GUI
- OpenCV 4.x
- Qt6
- Open3D
- C++17 compatible compiler
-
Install the required dependencies:
# Ubuntu/Debian sudo apt-get install libopencv-dev sudo apt-get install qt6-base-dev sudo apt-get install libopen3d-dev -
Create a build directory and build the project:
mkdir build cd build cmake .. make -
Run the application:
./3D_Scanner
- Launch the application
- The camera feed will start automatically
- Position your object in front of the camera
- Click "Capture Image" to take a photo
- Move the camera to a different angle and capture more images
- Click "Reconstruct 3D Model" to create the 3D model
- Use "Save Model" to save the result
- Use "Load Model" to load previously saved models
- For best results, ensure good lighting and capture images from different angles
- The object should be stationary while capturing images
- The camera should be moved in small increments between captures
- The reconstruction quality depends on the number and quality of captured images
This project is licensed under the MIT License - see the LICENSE file for details.