# colmap/colmap

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/colmap-colmap).**

12,014 stars · 2,049 forks · C++ · NOASSERTION

## Links

- GitHub: https://github.com/colmap/colmap
- Homepage: https://colmap.github.io/
- awesome-repositories: https://awesome-repositories.com/repository/colmap-colmap.md

## Description

COLMAP is a 3D scene reconstruction suite and C++ geometry library that implements a full structure-from-motion pipeline. It functions as a GPU-accelerated photogrammetry tool and multi-view stereo framework designed to produce dense 3D geometry and watertight meshes from collections of 2D images.

The project distinguishes itself through hardware-accelerated feature extraction and a modular camera modeling system that supports perspective, fisheye, and equirectangular lens types. It employs vocabulary tree image retrieval to efficiently identify similar images in large datasets and provides Python language bindings to integrate its core reconstruction engine into custom applications.

The software covers a broad range of photogrammetry capabilities, including camera pose estimation, bundle adjustment for reprojection error minimization, and image undistortion. Its pipeline extends from initial visual feature matching and geometric estimation to dense 3D model generation, surface reconstruction, and mesh texturing.

Users can manage the reconstruction process and visualize spatial data through a graphical user interface or automate workflows via a command-line interface.

## Tags

### Part of an Awesome List

- [3D Reconstruction](https://awesome-repositories.com/f/awesome-lists/ai/3d-reconstruction.md) — Provides a comprehensive suite for extracting image features, performing bundle adjustment, and texturing 3D models.
- [Watertight Mesh Generation](https://awesome-repositories.com/f/awesome-lists/ai/3d-generation/mesh-and-geometry-generators/surface-and-volume-meshes/watertight-mesh-generation.md) — Converts sparse point clouds into watertight 3D surfaces and textured meshes for external visualization.
- [Pose Estimation](https://awesome-repositories.com/f/awesome-lists/ai/pose-estimation.md) — Implements algorithms to recover exact camera positions and orientations from image features and GPS data. ([source](https://github.com/colmap/colmap/blob/main/CHANGELOG.rst))
- [Camera Calibration](https://awesome-repositories.com/f/awesome-lists/ai/pose-estimation/camera-calibration.md) — Determines intrinsic and extrinsic camera parameters to handle lens distortions across various camera models. ([source](https://github.com/colmap/colmap/blob/main/CHANGELOG.rst))
- [Multi-View Scene Reconstructions](https://awesome-repositories.com/f/awesome-lists/ai/scene-reconstruction/multi-view-scene-reconstructions.md) — Produces dense 3D geometry and watertight meshes from multiple calibrated images of a scene.
- [Structure From Motion](https://awesome-repositories.com/f/awesome-lists/ai/structure-from-motion.md) — Reconstructs 3D scenes from 2D image collections using camera pose estimation and point cloud generation.
- [Feature Extraction](https://awesome-repositories.com/f/awesome-lists/devtools/feature-extraction.md) — Detects and describes local image features using GPU-accelerated algorithms to identify unique visual landmarks. ([source](https://github.com/colmap/colmap/blob/main/CHANGELOG.rst))
- [Local Feature Matching](https://awesome-repositories.com/f/awesome-lists/devtools/local-feature-matching.md) — Identifies corresponding visual landmarks across large image datasets to establish geometric relationships.
- [Point Cloud Surface Extraction](https://awesome-repositories.com/f/awesome-lists/ai/surface-reconstruction/point-cloud-surface-extraction.md) — Generates 3D meshes from point clouds using surface reconstruction algorithms and visibility-based filtering. ([source](https://github.com/colmap/colmap/tree/main/doc))
- [Database Import Pipelines](https://awesome-repositories.com/f/awesome-lists/devtools/feature-extraction/database-import-pipelines.md) — Extracts and matches visual features from images and imports them into a database for geometric verification. ([source](https://github.com/colmap/colmap/tree/main/python))
- [Lens Distortion Removal](https://awesome-repositories.com/f/awesome-lists/devtools/sensor-calibration/lens-distortion-removal.md) — Removes lens distortion from images based on camera models to produce rectified views. ([source](https://github.com/colmap/colmap/blob/main/CHANGELOG.rst))
- [Photogrammetry and Scanning](https://awesome-repositories.com/f/awesome-lists/data/photogrammetry-and-scanning.md) — Automatic 3D reconstruction from image collections.
- [Structure From Motion](https://awesome-repositories.com/f/awesome-lists/devtools/structure-from-motion.md) — Comprehensive pipeline for structure from motion and multi-view stereo.
- [Media & Communication](https://awesome-repositories.com/f/awesome-lists/media/media-communication.md) — Structure-from-motion and multi-view stereo

### Graphics & Multimedia

- [Structure from Motion Pipelines](https://awesome-repositories.com/f/graphics-multimedia/structure-from-motion-pipelines.md) — Generates 3D models from collections of 2D images using a full structure-from-motion pipeline. ([source](https://github.com/colmap/colmap#readme))
- [3D Geometry Engines](https://awesome-repositories.com/f/graphics-multimedia/3d-geometry-engines.md) — Implements a high-performance C++ engine for processing 3D geometric data and transformations with Python bindings.
- [GPU-Accelerated Photogrammetry](https://awesome-repositories.com/f/graphics-multimedia/gpu-accelerated-photogrammetry.md) — Uses hardware acceleration to perform high-speed visual landmark detection and image feature matching.
- [Photogrammetry Orchestrators](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing/command-line-toolkits/photogrammetry-orchestrators.md) — Provides a command-line toolkit that orchestrates the entire photogrammetry pipeline from feature extraction to texturing.
- [3D Reconstruction Pipelines](https://awesome-repositories.com/f/graphics-multimedia/media-production-suites/animation-tools/mathematical-visualization-engines/3d-surface-visualizations/3d-reconstruction-pipelines.md) — Provides an automated pipeline for converting sets of 2D photographs into accurate 3D digital models. ([source](https://github.com/colmap/colmap#readme))
- [3D Point Cloud Filtering](https://awesome-repositories.com/f/graphics-multimedia/3d-point-cloud-filtering.md) — Provides algorithms for removing noise and outliers from 3D point cloud datasets to clean sparse models. ([source](https://github.com/colmap/colmap/blob/main/CHANGELOG.rst))
- [Photogrammetric Texture Mapping](https://awesome-repositories.com/f/graphics-multimedia/3d-texture-workflows/photogrammetric-texture-mapping.md) — Produces textured 3D models by mapping colors from calibrated original images onto the reconstructed mesh. ([source](https://github.com/colmap/colmap/blob/main/CHANGELOG.rst))
- [Watertight Mesh Generation](https://awesome-repositories.com/f/graphics-multimedia/mesh-generators/watertight-mesh-generation.md) — Creates watertight surfaces from point clouds using meshing and simplification algorithms to refine geometry. ([source](https://github.com/colmap/colmap/blob/main/CHANGELOG.rst))

### Artificial Intelligence & ML

- [Multi-View Depth Estimators](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/computer-vision/object-pose-estimations/monocular-depth-estimators/multi-view-depth-estimators.md) — Computes depth maps from multiple calibrated views to generate dense 3D point clouds.
- [SIFT Feature Accelerators](https://awesome-repositories.com/f/artificial-intelligence-ml/gpu-acceleration/sift-feature-accelerators.md) — Leverages CUDA-capable graphics cards to accelerate the extraction of visual landmarks from images.
- [Multi-View Stereo Generators](https://awesome-repositories.com/f/artificial-intelligence-ml/pose-estimation/dense/multi-backend-dense-reconstruction/multi-view-stereo-generators.md) — Produces detailed 3D geometry from multiple views using multi-view stereo processing. ([source](https://github.com/colmap/colmap/blob/main/CMakeLists.txt))
- [Image-to-Image Retrieval](https://awesome-repositories.com/f/artificial-intelligence-ml/image-retrieval-systems/text-to-image-retrieval/image-to-image-retrieval.md) — Finds visually similar images within large datasets using vocabulary trees and embedding techniques. ([source](https://github.com/colmap/colmap/blob/main/CHANGELOG.rst))
- [Large-Scale Image Retrieval](https://awesome-repositories.com/f/artificial-intelligence-ml/large-scale-image-retrieval.md) — Indexes visual features in a hierarchical vocabulary tree to efficiently find similar images in large datasets.

### Scientific & Mathematical Computing

- [Bundle Adjustment Algorithms](https://awesome-repositories.com/f/scientific-mathematical-computing/bundle-adjustment-algorithms.md) — Implements optimization techniques to refine 3D coordinates and camera poses by minimizing reprojection errors. ([source](https://github.com/colmap/colmap/blob/main/CHANGELOG.rst))
- [Camera Geometry Estimation](https://awesome-repositories.com/f/scientific-mathematical-computing/data-modeling-processing/geospatial-and-location-services/spatial-data-processing/spatial-geometry-libraries/camera-geometry-estimation.md) — Calculates absolute poses, matrices, and homographies using robust estimators to determine spatial relationships. ([source](https://github.com/colmap/colmap/tree/main/python))
- [Multi-Lens Projection Models](https://awesome-repositories.com/f/scientific-mathematical-computing/data-modeling-processing/geospatial-and-location-services/spatial-data-processing/spatial-geometry-libraries/camera-geometry-estimation/pinhole-camera-models/multi-lens-projection-models.md) — Implements interchangeable mathematical models to handle different lens types like fisheye or equirectangular.

### Programming Languages & Runtimes

- [Python-C++ Bindings](https://awesome-repositories.com/f/programming-languages-runtimes/python-c-bindings.md) — Provides Python-C++ bindings that expose high-performance reconstruction functions to Python scripts. ([source](https://github.com/colmap/colmap/blob/main/pyproject.toml))

### User Interface & Experience

- [Geospatial Model Alignments](https://awesome-repositories.com/f/user-interface-experience/coordinate-systems/coordinate-converters/coordinate-space-mappers/multi-reconstruction-scene-alignments/geospatial-model-alignments.md) — Aligns reconstructed 3D models to global coordinate systems using GPS data and gravity priors. ([source](https://github.com/colmap/colmap/blob/main/CHANGELOG.rst))
