A complete stereo vision processing system with stereo calibration, stereo matching, and 3D reconstruction capabilities. Supports both Linux and Windows platforms.
This project is a comprehensive stereo vision processing system that includes:
- Stereo Calibration: Camera calibration for stereo vision systems
- Stereo Matching: Multiple algorithms (SGBM, BM, ELAS) with post-processing filters (WLS, FBS)
- 3D Reconstruction: Point cloud generation from stereo image pairs
- Image Rectification: Stereo image pair rectification
- Dual Camera Acquisition: Synchronized dual microscope camera capture
The project provides both graphical user interfaces (GUI) and command-line tools for different use cases.
This repository contains multiple branches for different platforms:
main: Main branch with cross-platform documentationdev_linux: Linux development branch (Ubuntu 24.04 LTS)- Full Linux support with Qt5 GUI
- See dev_linux branch README for detailed Linux setup
dev_win: Windows development branch- Windows-specific configurations
- See dev_win branch README for Windows setup
- For Linux users: Checkout
dev_linuxbranchgit checkout dev_linux
- For Windows users: Checkout
dev_winbranchgit checkout dev_win
- For documentation only: Stay on
mainbranch
System Requirements:
- Ubuntu 24.04 LTS (Linux 6.14.0-29-generic)
- GCC 14.2.0
- CMake 3.16+
- C++17
Dependencies:
- OpenCV 4.6.0
- PCL 1.14.0
- Qt5 5.15.13
- Boost, FLANN, Eigen3, VTK, OpenMP
Quick Start:
git checkout dev_linux
mkdir build && cd build
cmake ..
make build_allFor detailed Linux setup instructions, see the dev_linux README.
System Requirements:
- Windows 10/11
- Visual Studio 2019 or later
- CMake 3.16+
Dependencies:
- OpenCV (Windows build)
- PCL (Windows build)
- Qt5 (Windows build)
Quick Start:
git checkout dev_win
# Follow Windows-specific build instructionsFor detailed Windows setup instructions, see the dev_win README.
git clone <your-repository-url>
cd micro_stereo_recon# For Linux
git checkout dev_linux
# For Windows
git checkout dev_winLinux:
mkdir build && cd build
cmake ..
make build_allWindows:
# Use Visual Studio or CMake GUI
# Follow platform-specific instructionsmicro_stereo_recon/
├── CMakeLists.txt # Main build file
├── README.md # This file (English)
├── README_CN.md # Chinese documentation
├── DualMicroscopeCamera/ # Dual camera acquisition module
│ ├── main_linux.cpp # Linux version
│ └── main.cpp # Windows version
├── StereoCalibration/ # Stereo calibration module
│ ├── panel.h/.cpp # GUI interface
│ └── test.cpp # Calibration test
├── StereoMatch/ # Stereo matching module
│ ├── src/
│ │ ├── console/ # Console version
│ │ ├── GUI/ # GUI version
│ │ └── include/ # Algorithm headers
│ └── 3rdparty/elas/ # ELAS algorithm library
├── StereoReconstruction/ # 3D reconstruction module
├── StereoRectifier/ # Stereo rectification module
└── CustomLib-CV/ # Custom CV library
├── DirTools.h/.cpp
├── StereoMatchingTools.h/.cpp
├── VisualizationTools.h/.cpp
└── OCV_PCL.h/.cpp
- SGBM (Semi-Global Block Matching): High-quality stereo matching with post-processing
- WLS (Weighted Least Squares) filter
- FBS (Fast Bilateral Solver) filter
- Configurable parameters
- BM (Block Matching): Fast block-based matching
- ELAS (Efficient Large-scale Stereo): Efficient large-scale stereo matching
- StereoCalib: GUI for stereo camera calibration
- StereoMatchGUI: GUI for stereo matching with real-time preview
- StereoMatchConsole: Command-line tool for batch processing
- StereoReconstruct: 3D point cloud generation
- stereoRectifier: Stereo image rectification
- DualMicroscopeCamera: Dual camera synchronization
- Camera Calibration → Generate calibration parameters
- Image Acquisition → Capture stereo image pairs
- Stereo Matching → Generate disparity maps
- 3D Reconstruction → Create 3D point clouds
- Image Rectification → Rectify stereo pairs
For detailed usage instructions, refer to the platform-specific README in dev_linux or dev_win branches.
# Linux
make build_all
# Windows
# Use Visual Studio solution or CMake# GUI programs
make StereoCalib
make StereoMatchGUI
make stereoRectifier
# Console programs
make DualMicroscopeCamera
make StereoReconstruct
make StereoMatchConsole- Main Documentation: This README (English)
- 中文文档: See
README_CN.md(if available) - Linux Details: See
dev_linuxbranch README - Windows Details: See
dev_winbranch README
This is a bachelor dissertation project. For contributions or questions:
- Check the appropriate development branch (
dev_linuxordev_win) - Review the platform-specific documentation
- Follow the coding standards and build procedures
This project is part of a bachelor dissertation. Please refer to the license file for details.
- Linux Development: dev_linux branch
- Windows Development: dev_win branch
- Chinese Documentation:
README_CN.md(in dev_linux branch)
For questions or issues, please refer to the platform-specific branches for detailed support information.
Note: This is the main branch with cross-platform overview. For platform-specific setup and detailed instructions, please checkout the appropriate development branch (dev_linux or dev_win).