PageSourceSearch

https://colmap.github.io/install.html

html colmap.github.io collected 2026-10-03 08:49:07 UTC 72,949 bytes, 1,320 lines download raw bytes

1
2<!DOCTYPE html>
3
4
5<html lang="en" data-content_root="./" data-theme="auto">
6
7  <head>
8    <meta charset="utf-8" />
9    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
10<meta property="og:title" content="Installation" />
11<meta property="og:type" content="website" />
12<meta property="og:url" content="https://colmap.github.io/install.html" />
13<meta property="og:site_name" content="COLMAP" />
14<meta property="og:description" content="You can either download one of the pre-built binaries or build the source code manually. Pre-built binaries and other resources can be downloaded from https://demuc.de/colmap/. An overview of syste..." />
15<meta property="og:image" content="https://colmap.github.io/_static/og-image.png" />
16<meta property="og:image:alt" content="COLMAP — Structure-from-Motion & Multi-View Stereo" />
17<meta name="description" content="You can either download one of the pre-built binaries or build the source code manually. Pre-built binaries and other resources can be downloaded from https://demuc.de/colmap/. An overview of syste..." />
18<meta name="twitter:card" content="summary_large_image" />
19
20    <title>Installation &#8212; COLMAP</title>
21  
22  
23  
24  
24<script data-cfasync="false">
25    document.documentElement.dataset.mode = localStorage.getItem("mode") || "auto";
26    document.documentElement.dataset.theme = localStorage.getItem("theme") || "auto";
27  </script>
27
28  <!--
29    this give us a css class that will be invisible only if js is disabled
30  -->
31  <noscript>
32    <style>
33      .pst-js-only { display: none !important; }
34
35    </style>
36  </noscript>
37  
38  <!-- Loaded before other Sphinx assets -->
39  <link href="_static/styles/theme.css?digest=90905a2f556bf617f1a9" rel="stylesheet" />
40<link href="_static/styles/pydata-sphinx-theme.css?digest=90905a2f556bf617f1a9" rel="stylesheet" />
41
42    <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
43    <link rel="stylesheet" type="text/css" href="_static/sphinx-design.min.css?v=95c83b7e" />
44    <link rel="stylesheet" type="text/css" href="_static/custom.css?v=f70ce231" />
45    <link rel="stylesheet" type="text/css" href="_static/landing.css?v=1fe38c8d" />
46  
47  <!-- So that users can add custom icons -->
48  
48<script defer src="_static/scripts/fontawesome.js?digest=90905a2f556bf617f1a9"></script>
48
49  <!-- Pre-loaded scripts that we'll load fully later -->
50  <link rel="preload" as="script" href="_static/scripts/bootstrap.js?digest=90905a2f556bf617f1a9" />
51<link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=90905a2f556bf617f1a9" />
52
53    
53<script src="_static/documentation_options.js?v=062709e3"></script>
53
54    
54<script src="_static/doctools.js?v=fd6eb6e6"></script>
54
55    
55<script src="_static/sphinx_highlight.js?v=6ffebe34"></script>
55
56    
56<script src="_static/design-tabs.js?v=f930bc37"></script>
56
57    
57<script>DOCUMENTATION_OPTIONS.pagename = 'install';</script>
57
58    
58<script>DOCUMENTATION_OPTIONS.search_as_you_type = false;</script>
58
59    
59<script src="_static/install_selector.js?v=af4a3e9b"></script>
59
60    
60<script src="_static/external_links.js?v=cd4e6f29"></script>
60
61    <link rel="canonical" href="https://colmap.github.io/install.html" />
62    <link rel="icon" href="_static/favicon.svg"/>
63    <link rel="index" title="Index" href="genindex.html" />
64    <link rel="search" title="Search" href="search.html" />
65    <link rel="next" title="Tutorial" href="tutorial.html" />
66    <link rel="prev" title="COLMAP" href="index.html" />
67  <meta name="viewport" content="width=device-width, initial-scale=1"/>
68  <meta name="docsearch:language" content="en"/>
69  <meta name="docsearch:version" content="4.3.0.dev0 | 998ff4d (2026-10-01)" />
70  
71    
72    
72<script src="_static/searchtools.js"></script>
72
73    
73<script src="_static/language_data.js"></script>
73
74    
74<script src="searchindex.js"></script>
74
75  
76  </head>
77  <body data-default-mode="auto">
78  
79  
80  <div id="pst-skip-link" class="skip-link d-print-none"><a href="#main-content">Skip to main content</a></div>
81
82  
83  <div id="pst-scroll-pixel-helper"></div>
84  
85  <button type="button" class="btn rounded-pill" id="pst-back-to-top">
86    <i class="fa-solid fa-arrow-up"></i>Back to top</button>
87  
88  
89  
90  
91  <dialog id="pst-search-dialog">
92    
93<form class="bd-search d-flex align-items-center"
94      action="search.html"
95      method="get">
96  <i class="fa-solid fa-magnifying-glass"></i>
97  <input type="search"
98         class="form-control"
99         name="q"
100         placeholder="Search the docs ..."
101         aria-label="Search the docs ..."
102         autocomplete="off"
103         autocorrect="off"
104         autocapitalize="off"
105         spellcheck="false"/>
106  <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
107</form>
108  </dialog>
109
110  <div class="pst-async-banner-revealer d-none">
111  <aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
112</div>
113
114  
115    <header id="pst-header" class="bd-header navbar navbar-expand-lg bd-navbar d-print-none">
116<div class="bd-header__inner bd-page-width">
117  <button class="pst-navbar-icon sidebar-toggle primary-toggle" aria-label="Site navigation">
118    <span class="fa-solid fa-bars"></span>
119  </button>
120  
121  
122  <div class=" navbar-header-items__start">
123    
124      <div class="navbar-item">
125
126  
127    
128  
129
130<a class="navbar-brand logo" href="index.html">
131  
132  
133  
134  
135  
136    
137    
138      
139    
140    
141    <img src="_static/colmap-logo.svg" class="logo__image only-light" alt=""/>
142    <img src="_static/colmap-logo-dark.svg" class="logo__image only-dark pst-js-only" alt=""/>
143  
144  
145    <p class="title logo__title">COLMAP</p>
146  
147</a></div>
148    
149  </div>
150  
151  <div class=" navbar-header-items">
152    
153    <div class="me-auto navbar-header-items__center">
154      
155        <div class="navbar-item">
156<nav>
157  <ul class="bd-navbar-elements navbar-nav">
158    
159<li class="nav-item current active">
160  <a class="nav-link nav-internal" href="#">
161    Installation
162  </a>
163</li>
164
165
166<li class="nav-item ">
167  <a class="nav-link nav-internal" href="tutorial.html">
168    Tutorial
169  </a>
170</li>
171
172
173<li class="nav-item ">
174  <a class="nav-link nav-internal" href="concepts.html">
175    Key Concepts
176  </a>
177</li>
178
179
180<li class="nav-item ">
181  <a class="nav-link nav-internal" href="viewer.html">
182    3D Viewer
183  </a>
184</li>
185
186            <li class="nav-item dropdown">
187                <button class="btn dropdown-toggle nav-item" type="button"
188                data-bs-toggle="dropdown" aria-expanded="false"
189                aria-controls="pst-nav-more-links">
190                    More
191                </button>
192                <ul id="pst-nav-more-links" class="dropdown-menu">
193                    
194<li class=" ">
195  <a class="nav-link dropdown-item nav-internal" href="features.html">
196    Feature Extraction and Matching
197  </a>
198</li>
199
200
201<li class=" ">
202  <a class="nav-link dropdown-item nav-internal" href="database.html">
203    Database Format
204  </a>
205</li>
206
207
208<li class=" ">
209  <a class="nav-link dropdown-item nav-internal" href="cameras.html">
210    Camera Models
211  </a>
212</li>
213
214
215<li class=" ">
216  <a class="nav-link dropdown-item nav-internal" href="rigs.html">
217    Rig Support
218  </a>
219</li>
220
221
222<li class=" ">
223  <a class="nav-link dropdown-item nav-internal" href="format.html">
224    Output Format
225  </a>
226</li>
227
228
229<li class=" ">
230  <a class="nav-link dropdown-item nav-internal" href="datasets.html">
231    Datasets
232  </a>
233</li>
234
235
236<li class=" ">
237  <a class="nav-link dropdown-item nav-internal" href="gui.html">
238    Graphical User Interface
239  </a>
240</li>
241
242
243<li class=" ">
244  <a class="nav-link dropdown-item nav-internal" href="cli.html">
245    Command-line Interface
246  </a>
247</li>
248
249
250<li class=" ">
251  <a class="nav-link dropdown-item nav-internal" href="pycolmap/index.html">
252    PyCOLMAP
253  </a>
254</li>
255
256
257<li class=" ">
258  <a class="nav-link dropdown-item nav-internal" href="faq.html">
259    Frequently Asked Questions
260  </a>
261</li>
262
263
264<li class=" ">
265  <a class="nav-link dropdown-item nav-internal" href="changelog.html">
266    Changelog
267  </a>
268</li>
269
270
271<li class=" ">
272  <a class="nav-link dropdown-item nav-internal" href="contribution.html">
273    Contribution
274  </a>
275</li>
276
277
278<li class=" ">
279  <a class="nav-link dropdown-item nav-internal" href="license.html">
280    License
281  </a>
282</li>
283
284
285<li class=" ">
286  <a class="nav-link dropdown-item nav-internal" href="bibliography.html">
287    Bibliography
288  </a>
289</li>
290
291
292<li class=" ">
293  <a class="nav-link dropdown-item nav-internal" href="legacy.html">
294    Legacy Documentations
295  </a>
296</li>
297
298                </ul>
299            </li>
300            
301  </ul>
302</nav></div>
303      
304    </div>
305    
306    
307    <div class="navbar-header-items__end">
308      
309        <div class="navbar-item navbar-persistent--container">
310          
311
312<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
313 <i class="fa-solid fa-magnifying-glass"></i>
314 <span class="search-button__default-text">Search</span>
315 <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
316</button>
317        </div>
318      
319      
320        <div class="navbar-item">
321
322<div class="theme-switch-container dropdown pst-js-only" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Color mode">
323  <button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button dropdown-toggle" aria-label="Color mode" data-bs-toggle="dropdown">
324    <i class="theme-switch fa-solid fa-sun fa-lg fa-fw" data-mode="light" title="Light"></i>
325    <i class="theme-switch fa-solid fa-moon fa-lg fa-fw" data-mode="dark" title="Dark"></i>
326    <i class="theme-switch fa-solid fa-circle-half-stroke fa-lg fa-fw" data-mode="auto" title="System Settings"></i>
327  </button>
328  <ul class="dropdown-menu dropdown-menu-end">
329    <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="auto"><i class="fa-solid fa-circle-half-stroke fa-lg fa-fw me-1"></i>System Settings</button></li>
330    <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="light"><i class="fa-solid fa-sun fa-lg fa-fw me-1"></i>Light</button></li>
331    <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="dark"><i class="fa-solid fa-moon fa-lg fa-fw me-1"></i>Dark</button></li>
332  </ul>
333</div></div>
334      
335        <div class="navbar-item"><ul class="navbar-icon-links"
336    aria-label="Icon Links">
337        <li class="nav-item">
338          
339          
340          
341          
342          
343          
344          
345          
346          <a href="https://github.com/colmap/colmap" title="GitHub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-github fa-lg" aria-hidden="true"></i><span class="visually-hidden">GitHub</span></a>
347        </li>
348        <li class="nav-item">
349          
350          
351          
352          
353          
354          
355          
356          
357          <a href="https://pypi.org/project/pycolmap/" title="PyPI" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-python fa-lg" aria-hidden="true"></i><span class="visually-hidden">PyPI</span></a>
358        </li>
359        <li class="nav-item">
360          
361          
362          
363          
364          
365          
366          
367          
368          <a href="https://hub.docker.com/r/colmap/colmap" title="Docker Hub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-docker fa-lg" aria-hidden="true"></i><span class="visually-hidden">Docker Hub</span></a>
369        </li>
370</ul></div>
371      
372    </div>
373    
374  </div>
375  
376  
377    <div class="navbar-persistent--mobile">
378
379<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
380 <i class="fa-solid fa-magnifying-glass"></i>
381 <span class="search-button__default-text">Search</span>
382 <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
383</button>
384    </div>
385  
386
387  
388    <button class="pst-navbar-icon sidebar-toggle secondary-toggle" aria-label="On this page">
389      <span class="fa-solid fa-outdent"></span>
390    </button>
391  
392</div>
393
394    </header>
395  
396
397  <div class="bd-container">
398    <div class="bd-container__inner bd-page-width">
399      
400      
401      
402      <dialog id="pst-primary-sidebar-modal"></dialog>
403      <div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
404        
405
406  
407  <div class="sidebar-header-items sidebar-primary__section">
408    
409    
410      <div class="sidebar-header-items__center">
411        
412          
413          
414            <div class="navbar-item">
415<nav>
416  <ul class="bd-navbar-elements navbar-nav">
417    
418<li class="nav-item current active">
419  <a class="nav-link nav-internal" href="#">
420    Installation
421  </a>
422</li>
423
424
425<li class="nav-item ">
426  <a class="nav-link nav-internal" href="tutorial.html">
427    Tutorial
428  </a>
429</li>
430
431
432<li class="nav-item ">
433  <a class="nav-link nav-internal" href="concepts.html">
434    Key Concepts
435  </a>
436</li>
437
438
439<li class="nav-item ">
440  <a class="nav-link nav-internal" href="viewer.html">
441    3D Viewer
442  </a>
443</li>
444
445
446<li class="nav-item ">
447  <a class="nav-link nav-internal" href="features.html">
448    Feature Extraction and Matching
449  </a>
450</li>
451
452
453<li class="nav-item ">
454  <a class="nav-link nav-internal" href="database.html">
455    Database Format
456  </a>
457</li>
458
459
460<li class="nav-item ">
461  <a class="nav-link nav-internal" href="cameras.html">
462    Camera Models
463  </a>
464</li>
465
466
467<li class="nav-item ">
468  <a class="nav-link nav-internal" href="rigs.html">
469    Rig Support
470  </a>
471</li>
472
473
474<li class="nav-item ">
475  <a class="nav-link nav-internal" href="format.html">
476    Output Format
477  </a>
478</li>
479
480
481<li class="nav-item ">
482  <a class="nav-link nav-internal" href="datasets.html">
483    Datasets
484  </a>
485</li>
486
487
488<li class="nav-item ">
489  <a class="nav-link nav-internal" href="gui.html">
490    Graphical User Interface
491  </a>
492</li>
493
494
495<li class="nav-item ">
496  <a class="nav-link nav-internal" href="cli.html">
497    Command-line Interface
498  </a>
499</li>
500
501
502<li class="nav-item ">
503  <a class="nav-link nav-internal" href="pycolmap/index.html">
504    PyCOLMAP
505  </a>
506</li>
507
508
509<li class="nav-item ">
510  <a class="nav-link nav-internal" href="faq.html">
511    Frequently Asked Questions
512  </a>
513</li>
514
515
516<li class="nav-item ">
517  <a class="nav-link nav-internal" href="changelog.html">
518    Changelog
519  </a>
520</li>
521
522
523<li class="nav-item ">
524  <a class="nav-link nav-internal" href="contribution.html">
525    Contribution
526  </a>
527</li>
528
529
530<li class="nav-item ">
531  <a class="nav-link nav-internal" href="license.html">
532    License
533  </a>
534</li>
535
536
537<li class="nav-item ">
538  <a class="nav-link nav-internal" href="bibliography.html">
539    Bibliography
540  </a>
541</li>
542
543
544<li class="nav-item ">
545  <a class="nav-link nav-internal" href="legacy.html">
546    Legacy Documentations
547  </a>
548</li>
549
550  </ul>
551</nav></div>
552          
553        
554      </div>
555    
556    
557    
558      <div class="sidebar-header-items__end">
559        
560          <div class="navbar-item">
561
562<div class="theme-switch-container dropdown pst-js-only" data-bs-toggle="tooltip" data-bs-placement="bottom" title="Color mode">
563  <button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button dropdown-toggle" aria-label="Color mode" data-bs-toggle="dropdown">
564    <i class="theme-switch fa-solid fa-sun fa-lg fa-fw" data-mode="light" title="Light"></i>
565    <i class="theme-switch fa-solid fa-moon fa-lg fa-fw" data-mode="dark" title="Dark"></i>
566    <i class="theme-switch fa-solid fa-circle-half-stroke fa-lg fa-fw" data-mode="auto" title="System Settings"></i>
567  </button>
568  <ul class="dropdown-menu dropdown-menu-end">
569    <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="auto"><i class="fa-solid fa-circle-half-stroke fa-lg fa-fw me-1"></i>System Settings</button></li>
570    <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="light"><i class="fa-solid fa-sun fa-lg fa-fw me-1"></i>Light</button></li>
571    <li><button class="dropdown-item d-flex align-items-center theme-change-button" data-mode="dark"><i class="fa-solid fa-moon fa-lg fa-fw me-1"></i>Dark</button></li>
572  </ul>
573</div></div>
574        
575          <div class="navbar-item"><ul class="navbar-icon-links"
576    aria-label="Icon Links">
577        <li class="nav-item">
578          
579          
580          
581          
582          
583          
584          
585          
586          <a href="https://github.com/colmap/colmap" title="GitHub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-github fa-lg" aria-hidden="true"></i><span class="visually-hidden">GitHub</span></a>
587        </li>
588        <li class="nav-item">
589          
590          
591          
592          
593          
594          
595          
596          
597          <a href="https://pypi.org/project/pycolmap/" title="PyPI" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-python fa-lg" aria-hidden="true"></i><span class="visually-hidden">PyPI</span></a>
598        </li>
599        <li class="nav-item">
600          
601          
602          
603          
604          
605          
606          
607          
608          <a href="https://hub.docker.com/r/colmap/colmap" title="Docker Hub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-docker fa-lg" aria-hidden="true"></i><span class="visually-hidden">Docker Hub</span></a>
609        </li>
610</ul></div>
611        
612      </div>
613    
614  </div>
615  
616    <div class="sidebar-primary-items__start sidebar-primary__section">
617        <div class="sidebar-primary-item pst-sidebar-collapse"><button id="pst-collapse-sidebar-button" aria-expanded="true" aria-controls="pst-primary-sidebar">
618  <svg class="pst-icon" role="img" aria-hidden="true" focusable="false" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
619    <path fill="currentColor" d="M3 15.5C2.36232 15.5 1.74874 15.2564 1.28478 14.8189C0.820828 14.3815 0.541576 13.7832 0.504167 13.1467L0.5 13L0.5 3C0.499965 2.36232 0.743605 1.74874 1.18107 1.28478C1.61854 0.820828 2.21676 0.541576 2.85333 0.504167L3 0.5L13 0.5C13.6377 0.499965 14.2513 0.743605 14.7152 1.18107C15.1792 1.61854 15.4584 2.21676 15.4958 2.85333L15.5 3L15.5 13C15.5 13.6377 15.2564 14.2513 14.8189 14.7152C14.3815 15.1792 13.7832 15.4584 13.1467 15.4958L13 15.5L3 15.5ZM3 13.8333L10.5 13.8333L10.5 2.16667L3 2.16667C2.79589 2.16669 2.59889 2.24163 2.44636 2.37726C2.29383 2.5129 2.19638 2.69979 2.1725 2.9025L2.16667 3L2.16667 13C2.16669 13.2041 2.24163 13.4011 2.37726 13.5536C2.5129 13.7062 2.69979 13.8036 2.9025 13.8275L3 13.8333ZM6.65583 10.325L6.5775 10.2558L4.91083 8.58917C4.76735 8.44567 4.68116 8.25476 4.66843 8.05223C4.65569 7.84971 4.71729 7.6495 4.84167 7.48917L4.91083 7.41083L6.5775 5.74417C6.72747 5.59471 6.9287 5.50794 7.14032 5.50148C7.35194 5.49502 7.55809 5.56935 7.7169 5.70937C7.8757 5.8494 7.97525 6.04463 7.99533 6.25539C8.01541 6.46616 7.95451 6.67667 7.825 6.84417L7.75583 6.9225L6.67917 8L7.75583 9.0775C7.89931 9.22099 7.98551 9.41191 7.99824 9.61443C8.01097 9.81695 7.94938 10.0172 7.825 10.1775L7.75583 10.2558C7.61234 10.3993 7.42142 10.4855 7.2189 10.4982C7.01638 10.511 6.81617 10.4494 6.65583 10.325Z"/>
620  </svg>
621  <span class="pst-collapse-sidebar-label">Collapse Sidebar</span>
622  <span class="pst-expand-sidebar-label">Expand Sidebar</span>
623</button></div>
624        <div class="sidebar-primary-item">
625
626<nav class="bd-docs-nav bd-links"
627     aria-label="Section Navigation">
628  <p class="bd-links__title" role="heading" aria-level="1">Section Navigation</p>
629  <div class="bd-toc-item navbar-nav"></div>
630</nav></div>
631    </div>
632  
633  
634  <div class="sidebar-primary-items__end sidebar-primary__section">
635      <div class="sidebar-primary-item">
636<div id="ethical-ad-placement"
637      class="flat"
638      data-ea-publisher="readthedocs"
639      data-ea-type="readthedocs-sidebar"
640      data-ea-manual="true">
641</div></div>
642  </div>
643
644
645      </div>
646      
647      <main id="main-content" class="bd-main" role="main">
648        
649        
650          <div class="bd-content">
651            <div class="bd-article-container">
652              
653              <div class="bd-header-article d-print-none">
654<div class="header-article-items header-article__inner">
655  
656    <div class="header-article-items__start">
657      
658        <div class="header-article-item">
659
660<nav aria-label="Breadcrumb" class="d-print-none">
661  <ul class="bd-breadcrumbs">
662    
663    <li class="breadcrumb-item breadcrumb-home">
664      <a href="index.html" class="nav-link" aria-label="Home">
665        <i class="fa-solid fa-home"></i>
666      </a>
667    </li>
668    <li class="breadcrumb-item active" aria-current="page"><span class="ellipsis">Installation</span></li>
669  </ul>
670</nav>
671</div>
672      
673    </div>
674  
675  
676</div>
677</div>
678              
679              
680              
681                
682<div id="searchbox"></div>
683                <article class="bd-article">
684                  
685  <section id="installation">
686<span id="id1"></span><h1>Installation<a class="headerlink" href="#installation" title="Link to this heading">#</a></h1>
687<p>You can either download one of the pre-built binaries or build the source code
688manually. Pre-built binaries and other resources can be downloaded from
689<a class="reference external" href="https://demuc.de/colmap/">https://demuc.de/colmap/</a>.</p>
690<p>An overview of system packages for Linux/Unix/BSD distributions are available at
691<a class="reference external" href="https://repology.org/metapackage/colmap/versions">https://repology.org/metapackage/colmap/versions</a>. Note that the COLMAP packages
692in the default repositories for Linux/Unix/BSD do not come with CUDA or HIP/ROCm
693support, which requires a manual build from source, as explained further below.</p>
694<p>For Mac users, <a class="reference external" href="https://brew.sh">Homebrew</a> provides a formula for COLMAP with
695pre-compiled binaries or the option to build from source. After installing
696homebrew, installing COLMAP is as easy as running <code class="docutils literal notranslate"><span class="pre">brew</span> <span class="pre">install</span> <span class="pre">colmap</span></code>.</p>
697<p>COLMAP can be used as an independent application through the command-line or
698graphical user interface. Alternatively, COLMAP is also built as a reusable
699library, i.e., you can include and link COLMAP against your own C++ source code,
700as described further below. Furthermore, you can use most of COLMAP’s
701functionality with <a class="reference internal" href="pycolmap/index.html#pycolmap-index"><span class="std std-ref">PyCOLMAP</span></a> in Python.</p>
702<section id="pre-built-binaries">
703<h2>Pre-built Binaries<a class="headerlink" href="#pre-built-binaries" title="Link to this heading">#</a></h2>
704<section id="windows">
705<h3>Windows<a class="headerlink" href="#windows" title="Link to this heading">#</a></h3>
706<p>For convenience, the pre-built binaries for Windows contain both the graphical
707and command-line interface executables. To start the COLMAP GUI, you can simply
708double-click  the <code class="docutils literal notranslate"><span class="pre">COLMAP.bat</span></code> batch script or alternatively run it from the
709Windows command shell or Powershell. The command-line interface is also
710accessible through this batch script, which automatically sets the necessary
711library paths. To list the available COLMAP commands, run <code class="docutils literal notranslate"><span class="pre">COLMAP.bat</span> <span class="pre">-h</span></code> in
712the command shell <code class="docutils literal notranslate"><span class="pre">cmd.exe</span></code> or in Powershell. The first time you run COLMAP,
713Windows defender may prompt you with a security warning, because the binaries
714are not officially signed. The provided COLMAP binaries are automatically built
715from GitHub Actions CI machines. If you do not trust them, you can build from
716source as described below.</p>
717</section>
718<section id="docker">
719<h3>Docker<a class="headerlink" href="#docker" title="Link to this heading">#</a></h3>
720<p>COLMAP provides a pre-built Docker image with CUDA support. For detailed
721instructions on how to build and run COLMAP using Docker, please refer to the
722<a class="reference external" href="https://github.com/colmap/colmap/tree/main/docker">Docker documentation</a>.</p>
723</section>
724</section>
725<section id="build-from-source">
726<h2>Build from Source<a class="headerlink" href="#build-from-source" title="Link to this heading">#</a></h2>
727<p>COLMAP builds on all major platforms (Linux, Mac, Windows) with little effort.
728First, checkout the latest source code:</p>
729<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">colmap</span><span class="o">/</span><span class="n">colmap</span>
730</pre></div>
731</div>
732<p>Under Linux and Mac, it is generally recommended to follow the installation
733instructions below, which use the respective system package managers to install
734the required dependencies. Alternatively, the instructions for VCPKG can be used
735to compile the required dependencies from scratch on more exotic systems with
736limited system packages. The VCPKG approach is also the method of choice under
737Windows, compute clusters, or if you do not have root access under Linux or Mac.</p>
738<section id="debian-ubuntu">
739<h3>Debian/Ubuntu<a class="headerlink" href="#debian-ubuntu" title="Link to this heading">#</a></h3>
740<p><em>Recommended dependencies:</em> CUDA (at least version 11.X)</p>
741<p>Dependencies from the default Ubuntu repositories:</p>
742<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">apt</span><span class="o">-</span><span class="n">get</span> <span class="n">install</span> \
743    <span class="n">git</span> \
744    <span class="n">cmake</span> \
745    <span class="n">ninja</span><span class="o">-</span><span class="n">build</span> \
746    <span class="n">build</span><span class="o">-</span><span class="n">essential</span> \
747    <span class="n">libboost</span><span class="o">-</span><span class="n">program</span><span class="o">-</span><span class="n">options</span><span class="o">-</span><span class="n">dev</span> \
748    <span class="n">libboost</span><span class="o">-</span><span class="n">graph</span><span class="o">-</span><span class="n">dev</span> \
749    <span class="n">libboost</span><span class="o">-</span><span class="n">system</span><span class="o">-</span><span class="n">dev</span> \
750    <span class="n">libeigen3</span><span class="o">-</span><span class="n">dev</span> \
751    <span class="n">libopenimageio</span><span class="o">-</span><span class="n">dev</span> \
752    <span class="n">openimageio</span><span class="o">-</span><span class="n">tools</span> \
753    <span class="n">libmetis</span><span class="o">-</span><span class="n">dev</span> \
754    <span class="n">libgoogle</span><span class="o">-</span><span class="n">glog</span><span class="o">-</span><span class="n">dev</span> \
755    <span class="n">libgtest</span><span class="o">-</span><span class="n">dev</span> \
756    <span class="n">libgmock</span><span class="o">-</span><span class="n">dev</span> \
757    <span class="n">libsqlite3</span><span class="o">-</span><span class="n">dev</span> \
758    <span class="n">libglew</span><span class="o">-</span><span class="n">dev</span> \
759    <span class="n">qt6</span><span class="o">-</span><span class="n">base</span><span class="o">-</span><span class="n">dev</span> \
760    <span class="n">libqt6opengl6</span><span class="o">-</span><span class="n">dev</span> \
761    <span class="n">libqt6openglwidgets6</span> \
762    <span class="n">qt6</span><span class="o">-</span><span class="n">svg</span><span class="o">-</span><span class="n">dev</span> \
763    <span class="n">libcgal</span><span class="o">-</span><span class="n">dev</span> \
764    <span class="n">libceres</span><span class="o">-</span><span class="n">dev</span> \
765    <span class="n">libsuitesparse</span><span class="o">-</span><span class="n">dev</span> \
766    <span class="n">libcurl4</span><span class="o">-</span><span class="n">openssl</span><span class="o">-</span><span class="n">dev</span> \
767    <span class="n">libssl</span><span class="o">-</span><span class="n">dev</span> \
768    <span class="n">
768libmkl</span><span class="o">-</span><span class="n">full</span><span class="o">-</span><span class="n">dev</span>
769<span class="c1"># Fix issue in Ubuntu's openimageio CMake config.</span>
770<span class="c1"># We don't depend on any of openimageio's OpenCV functionality,</span>
771<span class="c1"># but it still requires the OpenCV include directory to exist.</span>
772<span class="n">sudo</span> <span class="n">mkdir</span> <span class="o">-</span><span class="n">p</span> <span class="o">/</span><span class="n">usr</span><span class="o">/</span><span class="n">include</span><span class="o">/</span><span class="n">opencv4</span>
773</pre></div>
774</div>
775<p>Alternatively, you can also build against Qt 5 instead of Qt 6 using:</p>
776<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">qtbase5</span><span class="o">-</span><span class="n">dev</span> <span class="n">libqt5opengl5</span><span class="o">-</span><span class="n">dev</span> <span class="n">libqt5svg5</span><span class="o">-</span><span class="n">dev</span>
777</pre></div>
778</div>
779<p>To compile with <strong>CUDA support</strong>, also install Ubuntu’s default CUDA package:</p>
780<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">apt</span><span class="o">-</span><span class="n">get</span> <span class="n">install</span> <span class="o">-</span><span class="n">y</span> \
781    <span class="n">nvidia</span><span class="o">-</span><span class="n">cuda</span><span class="o">-</span><span class="n">toolkit</span> \
782    <span class="n">nvidia</span><span class="o">-</span><span class="n">cuda</span><span class="o">-</span><span class="n">toolkit</span><span class="o">-</span><span class="n">gcc</span>
783</pre></div>
784</div>
785<p>Or, manually install the latest CUDA from NVIDIA’s homepage. During CMake
786configuration, specify <code class="docutils literal notranslate"><span class="pre">-DCMAKE_CUDA_ARCHITECTURES=native</span></code>, if you want to run
787COLMAP only on your current machine (default), “all”/”all-major” to be able to
788distribute to other machines, or a specific CUDA architecture like “75”, etc.</p>
789<p>To compile with <strong>HIP / ROCm support</strong> instead of CUDA (for AMD GPUs), install
790ROCm following the <a class="reference external" href="https://rocm.docs.amd.com/projects/install-on-linux/en/latest/">AMD ROCm installation guide</a> and ensure
791the <code class="docutils literal notranslate"><span class="pre">hip</span></code>, <code class="docutils literal notranslate"><span class="pre">hiprand</span></code>, and <code class="docutils literal notranslate"><span class="pre">rocrand</span></code> packages are present (default
792location <code class="docutils literal notranslate"><span class="pre">/opt/rocm</span></code>). Then pass the following flags at configure time:</p>
793<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cmake</span> <span class="o">..</span> <span class="o">-</span><span class="n">GNinja</span> \
794    <span class="o">-</span><span class="n">DCUDA_ENABLED</span><span class="o">=</span><span class="n">OFF</span> \
795    <span class="o">-</span><span class="n">DHIP_ENABLED</span><span class="o">=</span><span class="n">ON</span> \
796    <span class="o">-</span><span class="n">DCMAKE_HIP_ARCHITECTURES</span><span class="o">=</span><span class="n">gfx90a</span> \
797    <span class="o">-</span><span class="n">DCMAKE_HIP_COMPILER</span><span class="o">=/</span><span class="n">opt</span><span class="o">/</span><span class="n">rocm</span><span class="o">/</span><span class="n">llvm</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">clang</span><span class="o">++</span>
798</pre></div>
799</div>
800<p>Set <code class="docutils literal notranslate"><span class="pre">CMAKE_HIP_ARCHITECTURES</span></code> to match the target AMD GPU
801(<code class="docutils literal notranslate"><span class="pre">gfx90a</span></code> for MI200/MI250, <code class="docutils literal notranslate"><span class="pre">gfx942</span></code> for MI300, <code class="docutils literal notranslate"><span class="pre">gfx1030</span></code> for RDNA2,
802<code class="docutils literal notranslate"><span class="pre">gfx1100</span></code> for RDNA3, etc.; multiple values can be passed as a
803semicolon-separated list). <code class="docutils literal notranslate"><span class="pre">CUDA_ENABLED</span></code> and <code class="docutils literal notranslate"><span class="pre">HIP_ENABLED</span></code> are mutually
804exclusive. CMake 3.21 or newer is required for the HIP backend. On RDNA3
805consumer parts where ROCm only officially supports a subset of architectures,
806you may also need <code class="docutils literal notranslate"><span class="pre">HSA_OVERRIDE_GFX_VERSION=11.0.0</span></code> in the runtime
807environment. The HIP backend currently accelerates dense reconstruction
808(<code class="docutils literal notranslate"><span class="pre">patch_match_stereo</span></code>); see the changelog for ongoing coverage.</p>
809<p>If ROCm is installed through a Python wheel / virtualenv (for example AMD’s
810TheRock packaging, which puts a <code class="docutils literal notranslate"><span class="pre">rocm-sdk</span></code> command on the <code class="docutils literal notranslate"><span class="pre">PATH</span></code>), the
811install root and target architectures are detected automatically from
812<code class="docutils literal notranslate"><span class="pre">rocm-sdk</span> <span class="pre">path</span> <span class="pre">--root</span></code> and <code class="docutils literal notranslate"><span class="pre">rocm-sdk</span> <span class="pre">targets</span></code>, so <code class="docutils literal notranslate"><span class="pre">ROCM_PATH</span></code> and
813<code class="docutils literal notranslate"><span class="pre">CMAKE_HIP_ARCHITECTURES</span></code> need not be set by hand. An explicit
814<code class="docutils literal notranslate"><span class="pre">-DROCM_PATH</span></code> or a <code class="docutils literal notranslate"><span class="pre">ROCM_PATH</span></code> environment variable still takes
815precedence, and CMake’s own architecture autodetection sets
816<code class="docutils literal notranslate"><span class="pre">CMAKE_HIP_ARCHITECTURES</span></code> when a target GPU is visible at configure time.</p>
817<p>Configure and compile COLMAP:</p>
818<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">
818com</span><span class="o">/</span><span class="n">colmap</span><span class="o">/</span><span class="n">colmap</span><span class="o">.</span><span class="n">git</span>
819<span class="n">cd</span> <span class="n">colmap</span>
820<span class="n">mkdir</span> <span class="n">build</span>
821<span class="n">cd</span> <span class="n">build</span>
822<span class="n">cmake</span> <span class="o">..</span> <span class="o">-</span><span class="n">GNinja</span> <span class="o">-</span><span class="n">DBLA_VENDOR</span><span class="o">=</span><span class="n">Intel10_64lp</span>
823<span class="n">ninja</span>
824<span class="n">sudo</span> <span class="n">ninja</span> <span class="n">install</span>
825</pre></div>
826</div>
827<div class="admonition note">
828<p class="admonition-title">Note</p>
829<p>COLMAP uses <code class="docutils literal notranslate"><span class="pre">boost::unordered</span></code> flat/node hash maps for the
830performance-critical scene and SfM containers. These are data members of
831classes in public headers, so their layout is part of COLMAP’s ABI, and a
832mismatch between two COLMAP builds loaded into one process produces no link
833error, only memory corruption. There is therefore no build option to swap
834them for <code class="docutils literal notranslate"><span class="pre">std::unordered_*</span></code>.</p>
835<p><code class="docutils literal notranslate"><span class="pre">boost::unordered_node_map</span></code> requires <strong>Boost &gt;= 1.84</strong>, which is newer than
836the apt Boost on Ubuntu 24.04 (1.83) and earlier. Where the available Boost
837is new enough it is used as it is and nothing is downloaded. Only where it
838is too old does the build download a pinned Boost release (about 100 MB) and
839build the libraries COLMAP uses from source, installing them alongside
840COLMAP. Only Boost is taken from that copy, so its headers and compiled
841libraries always match. Pass <code class="docutils literal notranslate"><span class="pre">-DFETCH_BOOST=OFF</span></code> to require a new enough
842system Boost instead and fail at configure time if there is none.</p>
843</div>
844<p>Run COLMAP:</p>
845<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">colmap</span> <span class="o">-</span><span class="n">h</span>
846<span class="n">colmap</span> <span class="n">gui</span>
847</pre></div>
848</div>
849<p>Under <strong>Ubuntu 22.04</strong>, there is a problem when compiling with Ubuntu’s default
850CUDA package and GCC, and you must compile against GCC 10:</p>
851<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">apt</span><span class="o">-</span><span class="n">get</span> <span class="n">install</span> <span class="n">gcc</span><span class="o">-</span><span class="mi">10</span> <span class="n">g</span><span class="o">++-</span><span class="mi">10</span>
852<span class="n">export</span> <span class="n">CC</span><span class="o">=/</span><span class="n">usr</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">gcc</span><span class="o">-</span><span class="mi">10</span>
853<span class="n">export</span> <span class="n">CXX</span><span class="o">=/</span><span class="n">usr</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">g</span><span class="o">++-</span><span class="mi">10</span>
854<span class="n">export</span> <span class="n">CUDAHOSTCXX</span><span class="o">=/</span><span class="n">usr</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">g</span><span class="o">++-</span><span class="mi">10</span>
855<span class="c1"># ... and then run CMake against COLMAP's sources.</span>
856</pre></div>
857</div>
858<p>Notice that the <code class="docutils literal notranslate"><span class="pre">BLA_VENDOR=Intel10_64lp</span></code> option tells CMake to find Intel’s MKL
859implementation of BLAS. If you decide to compile against OpenBLAS instead of
860MKL, you must install and select the OpenMP version under Debian/Ubuntu because
861of <a class="reference external" href="https://github.com/facebookresearch/faiss/wiki/Troubleshooting#surprising-faiss-openmp-and-openblas-interaction">this issue</a>.</p>
862</section>
863<section id="fedora">
864<h3>Fedora<a class="headerlink" href="#fedora" title="Link to this heading">#</a></h3>
865<p><em>Recommended dependencies:</em> CUDA (at least version 11.X)</p>
866<p>Dependencies from the default Fedora repositories:</p>
867<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">dnf</span> <span class="n">install</span> <span class="o">-</span><span class="n">y</span> \
868    <span class="n">git</span> \
869    <span class="n">cmake</span> \
870    <span class="n">ninja</span><span class="o">-</span><span class="n">build</span> \
871    <span class="n">gcc</span><span class="o">-</span><span class="n">c</span><span class="o">++</span> \
872    <span class="n">boost</span><span class="o">-</span><span class="n">devel</span> \
873    <span class="n">eigen3</span><span class="o">-</span><span class="n">devel</span> \
874    <span class="n">OpenImageIO</span><span class="o">-</span><span class="n">devel</span> \
875    <span class="n">OpenImageIO</span><span class="o">-</span><span class="n">utils</span> \
876    <span class="n">metis</span><span class="o">-</span><span class="n">devel</span> \
877    <span class="n">glog</span><span class="o">-</span><span class="n">devel</span> \
878    <span class="n">gtest</span><span class="o">-</span><span class="n">devel</span> \
879    <span class="n">gmock</span><span class="o">-</span><span class="n">devel</span> \
880    <span class="n">sqlite</span><span class="o">-</span><span class="n">devel</span> \
881    <span class="n">glew</span><span class="o">-</span><span class="n">devel</span> \
882    <span class="n">qt6</span><span class="o">-</span><span class="n">qtbase</span><span class="o">-</span><span class="n">devel</span> \
883    <span class="n">qt6</span><span class="o">-</span><span class="n">qtsvg</span><span class="o">-</span><span class="n">devel</span> \
884    <span class="n">CGAL</span><span class="o">-</span><span class="n">devel</span> \
885    <span class="n">ceres</span><span class="o">-</span><span class="n">solver</span><span class="o">-</span><span class="n">devel</span> \
886    <span class="n">suitesparse</span><span class="o">-</span><span class="n">devel</span> \
887    <span class="n">suitesparse</span><span class="o">-</span><span class="n">static</span> \
888    <span class="n">libcurl</span><span class="o">-</span><span class="n">devel</span> \
889    <span class="n">openssl</span><span class="o">-</span><span class="n">devel</span> \
890    <span class="n">openblas</span><span class="o">-</span><span class="n">devel</span>
891<span class="c1"># suitesparse-static is required even for a dynamic build, because Fedora's</span>
892<span class="c1"># SuiteSparse CMake config references the static targets file regardless of</span>
893<span class="c1"># link type. This can be dropped once Fedora ships SuiteSparse &gt;= 7.11.0 with</span>
894<span class="c1"># its separated static config.</span>
895</pre></div>
896</div>
897<p>Alternatively, you can also build against Qt 5 instead of Qt 6 using:</p>
898<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">qt5</span><span class="o">-</span><span class="n">qtbase</span><span class="o">-</span><span class="n">devel</span> <span class="n">qt5</span><span class="o">-</span><span class="n">qtsvg</span><span class="o">-</span><span class="n">devel</span>
899</pre></div>
900</div>
901<p>To compile with <strong>CUDA support</strong>, install the CUDA toolkit from NVIDIA’s official
902Fedora repository, which (unlike the plain <code class="docutils literal notranslate"><span class="pre">cuda</span></code> meta-package) preserves an
903existing NVIDIA driver. Replace <code class="docutils literal notranslate"><span class="pre">&lt;VERSION&gt;</span></code> with your Fedora release, e.g.
904<code class="docutils literal notranslate"><span class="pre">43</span></code>:</p>
905<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span> <span class="n">dnf</span> <span class="n">config</span><span class="o">-</span><span class="n">manager</span> <span class="n">addrepo</span> <span class="o">--</span><span class="n">from</span><span class="o">-</span><span class="n">repofile</span><span class="o">=</span><span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">developer</span><span class="o">.</span><span class="n">download</span><span class="o">.</span><span class="n">nvidia</span><span class="o">.</span><span class="n">
905com</span><span class="o">/</span><span class="n">compute</span><span class="o">/</span><span class="n">cuda</span><span class="o">/</span><span class="n">repos</span><span class="o">/</span><span class="n">fedora</span><span class="o">&lt;</span><span class="n">VERSION</span><span class="o">&gt;/</span><span class="n">x86_64</span><span class="o">/</span><span class="n">cuda</span><span class="o">-</span><span class="n">fedora</span><span class="o">&lt;</span><span class="n">VERSION</span><span class="o">&gt;.</span><span class="n">repo</span>
906<span class="n">sudo</span> <span class="n">dnf</span> <span class="n">install</span> <span class="o">-</span><span class="n">y</span> <span class="n">cuda</span><span class="o">-</span><span class="n">toolkit</span>
907</pre></div>
908</div>
909<p>During CMake configuration, specify <code class="docutils literal notranslate"><span class="pre">-DCMAKE_CUDA_ARCHITECTURES=native</span></code>, if you
910want to run COLMAP only on your current machine (default), “all”/”all-major” to be
911able to distribute to other machines, or a specific CUDA architecture like “89”, etc.</p>
912<p>Configure and compile COLMAP:</p>
913<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">
913com</span><span class="o">/</span><span class="n">colmap</span><span class="o">/</span><span class="n">colmap</span><span class="o">.</span><span class="n">git</span>
914<span class="n">cd</span> <span class="n">colmap</span>
915<span class="n">mkdir</span> <span class="n">build</span>
916<span class="n">cd</span> <span class="n">build</span>
917<span class="n">cmake</span> <span class="o">..</span> <span class="o">-</span><span class="n">GNinja</span> <span class="o">-</span><span class="n">DCMAKE_CUDA_ARCHITECTURES</span><span class="o">=</span><span class="n">native</span>
918<span class="n">ninja</span>
919<span class="n">sudo</span> <span class="n">ninja</span> <span class="n">install</span>
920</pre></div>
921</div>
922<p>Run COLMAP:</p>
923<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">colmap</span> <span class="o">-</span><span class="n">h</span>
924<span class="n">colmap</span> <span class="n">gui</span>
925</pre></div>
926</div>
927</section>
928<section id="mac">
929<h3>Mac<a class="headerlink" href="#mac" title="Link to this heading">#</a></h3>
930<p>Dependencies from <a class="reference external" href="https://brew.sh/">Homebrew</a>:</p>
931<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">brew</span> <span class="n">install</span> \
932    <span class="n">cmake</span> \
933    <span class="n">ninja</span> \
934    <span class="n">boost</span> \
935    <span class="n">eigen</span> \
936    <span class="n">openimageio</span> \
937    <span class="n">curl</span> \
938    <span class="n">libomp</span> \
939    <span class="n">metis</span> \
940    <span class="n">glog</span> \
941    <span class="n">googletest</span> \
942    <span class="n">ceres</span><span class="o">-</span><span class="n">solver</span> \
943    <span class="n">suitesparse</span> \
944    <span class="n">qt</span> \
945    <span class="n">glew</span> \
946    <span class="n">cgal</span> \
947    <span class="n">sqlite3</span>
948<span class="n">brew</span> <span class="n">link</span> <span class="o">--</span><span class="n">force</span> <span class="n">libomp</span>
949</pre></div>
950</div>
951<p>Configure and compile COLMAP:</p>
952<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">
952com</span><span class="o">/</span><span class="n">colmap</span><span class="o">/</span><span class="n">colmap</span><span class="o">.</span><span class="n">git</span>
953<span class="n">cd</span> <span class="n">colmap</span>
954<span class="n">mkdir</span> <span class="n">build</span>
955<span class="n">cd</span> <span class="n">build</span>
956<span class="n">cmake</span> <span class="o">..</span> <span class="o">-</span><span class="n">GNinja</span>
957<span class="n">ninja</span>
958<span class="n">sudo</span> <span class="n">ninja</span> <span class="n">install</span>
959</pre></div>
960</div>
961<p>If you have Qt 5 installed on your system as well, you might have to temporarily
962link your Qt 5 installation while configuring CMake:</p>
963<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">brew</span> <span class="n">unlink</span> <span class="n">qt</span> <span class="o">&amp;&amp;</span> <span class="n">brew</span> <span class="n">link</span> <span class="o">--</span><span class="n">force</span> <span class="n">qt</span>
964<span class="n">cmake</span> <span class="o">...</span>
965</pre></div>
966</div>
967<p>Run COLMAP:</p>
968<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">colmap</span> <span class="o">-</span><span class="n">h</span>
969<span class="n">colmap</span> <span class="n">gui</span>
970</pre></div>
971</div>
972</section>
973<section id="id2">
974<h3>Windows<a class="headerlink" href="#id2" title="Link to this heading">#</a></h3>
975<p><em>Recommended dependencies:</em> CUDA (at least version 11.X), Visual Studio 2019 or newer</p>
976<p>On Windows, the recommended way is to build COLMAP using VCPKG:</p>
977<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">
977com</span><span class="o">/</span><span class="n">microsoft</span><span class="o">/</span><span class="n">vcpkg</span>
978<span class="n">cd</span> <span class="n">vcpkg</span>
979<span class="o">.</span>\<span class="n">bootstrap</span><span class="o">-</span><span class="n">vcpkg</span><span class="o">.</span><span class="n">bat</span>
980<span class="o">.</span>\<span class="n">vcpkg</span> <span class="n">install</span> <span class="n">colmap</span><span class="p">[</span><span class="n">cuda</span><span class="p">,</span><span class="n">tests</span><span class="p">]:</span><span class="n">x64</span><span class="o">-</span><span class="n">windows</span>
981</pre></div>
982</div>
983<p>To compile CUDA for multiple compute architectures, please use:</p>
984<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">.</span>\<span class="n">vcpkg</span> <span class="n">install</span> <span class="n">colmap</span><span class="p">[</span><span class="n">cuda</span><span class="o">-</span><span class="n">redist</span><span class="p">]:</span><span class="n">x64</span><span class="o">-</span><span class="n">windows</span>
985</pre></div>
986</div>
987<p>Please refer to the next section for more details.</p>
988</section>
989<section id="vcpkg">
990<h3>VCPKG<a class="headerlink" href="#vcpkg" title="Link to this heading">#</a></h3>
991<p>COLMAP ships as part of the VCPKG distribution. This enables to conveniently
992build COLMAP and all of its dependencies from scratch under different platforms.
993Note that VCPKG requires you to install CUDA manually in the standard way on
994your platform. To compile COLMAP using VCPKG, you run:</p>
995<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">
995com</span><span class="o">/</span><span class="n">microsoft</span><span class="o">/</span><span class="n">vcpkg</span>
996<span class="n">cd</span> <span class="n">vcpkg</span>
997<span class="o">./</span><span class="n">bootstrap</span><span class="o">-</span><span class="n">vcpkg</span><span class="o">.</span><span class="n">sh</span>
998<span class="o">./</span><span class="n">vcpkg</span> <span class="n">install</span> <span class="n">colmap</span><span class="p">:</span><span class="n">x64</span><span class="o">-</span><span class="n">linux</span>
999</pre></div>
1000</div>
1001<p>VCPKG ships with support for various other platforms (e.g., x64-osx,
1002x64-windows, etc.). To compile with CUDA support and to build all tests:</p>
1003<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">./</span><span class="n">vcpkg</span> <span class="n">install</span> <span class="n">colmap</span><span class="p">[</span><span class="n">cuda</span><span class="p">,</span><span class="n">tests</span><span class="p">]:</span><span class="n">x64</span><span class="o">-</span><span class="n">linux</span>
1004</pre></div>
1005</div>
1006<p>The above commands will build the latest release version of COLMAP. To compile
1007the latest commit in the dev branch, you can use the following options:</p>
1008<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">./</span><span class="n">vcpkg</span> <span class="n">install</span> <span class="n">colmap</span><span class="p">:</span><span class="n">x64</span><span class="o">-</span><span class="n">linux</span> <span class="o">--</span><span class="n">head</span>
1009</pre></div>
1010</div>
1011<p>To modify the source code, you can further add <code class="docutils literal notranslate"><span class="pre">--editable</span> <span class="pre">--no-downloads</span></code>.
1012Or, if you want to build from another folder and use the dependencies from
1013vcpkg, first run <code class="docutils literal notranslate"><span class="pre">./vcpkg</span> <span class="pre">integrate</span> <span class="pre">install</span></code> (under Windows use pwsh and
1014<code class="docutils literal notranslate"><span class="pre">./scripts/shell/enter_vs_dev_shell.ps1</span></code>) and then configure COLMAP as:</p>
1015<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cd</span> <span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">colmap</span>
1016<span class="n">mkdir</span> <span class="n">build</span>
1017<span class="n">cd</span> <span class="n">build</span>
1018<span class="n">cmake</span> <span class="o">..</span> <span class="o">-</span><span class="n">DCMAKE_TOOLCHAIN_FILE</span><span class="o">=</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">vcpkg</span><span class="o">/</span><span class="n">scripts</span><span class="o">/</span><span class="n">buildsystems</span><span class="o">/</span><span class="n">vcpkg</span><span class="o">.</span><span class="n">cmake</span> <span class="o">-</span><span class="n">DCMAKE_BUILD_TYPE</span><span class="o">=</span><span class="n">Release</span>
1019<span class="n">cmake</span> <span class="o">--</span><span class="n">build</span> <span class="o">.</span> <span class="o">--</span><span class="n">config</span> <span class="n">release</span> <span class="o">--</span><span class="n">target</span> <span class="n">colmap</span> <span class="o">--</span><span class="n">parallel</span> <span class="mi">24</span>
1020</pre></div>
1021</div>
1022</section>
1023<section id="anaconda-mamba">
1024<h3>Anaconda/Mamba<a class="headerlink" href="#anaconda-mamba" title="Link to this heading">#</a></h3>
1025<p>Install miniconda and run the following commands. You can replace <code class="docutils literal notranslate"><span class="pre">conda</span></code> with <code class="docutils literal notranslate"><span class="pre">mamba</span></code> for faster package installation:</p>
1026<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span> <span class="n">create</span> <span class="o">-</span><span class="n">n</span> <span class="n">colmap</span> <span class="n">python</span><span class="o">=</span><span class="mf">3.12</span>
1027<span class="n">conda</span> <span class="n">config</span> <span class="o">--</span><span class="n">add</span> <span class="n">channels</span> <span class="n">conda</span><span class="o">-</span><span class="n">forge</span>
1028<span class="n">conda</span> <span class="n">config</span> <span class="o">--</span><span class="nb">set</span> <span class="n">channel_priority</span> <span class="n">strict</span>
1029<span class="n">conda</span> <span class="n">install</span> \
1030    <span class="n">cmake</span> \
1031    <span class="n">ninja</span> \
1032    <span class="n">boost</span> \
1033    <span class="n">
1033ccache</span> \
1034    <span class="n">eigen</span> \
1035    <span class="n">openimageio</span> \
1036    <span class="n">curl</span> \
1037    <span class="n">metis</span> \
1038    <span class="n">glog</span> \
1039    <span class="n">gtest</span> \
1040    <span class="n">ceres</span><span class="o">-</span><span class="n">solver</span> \
1041    <span class="n">suitesparse</span> \
1042    <span class="n">qt</span> \
1043    <span class="n">glew</span> \
1044    <span class="n">sqlite</span> \
1045    <span class="n">cgal</span><span class="o">-</span><span class="n">cpp</span> \
1046    <span class="n">mesa</span><span class="o">-</span><span class="n">libgl</span><span class="o">-</span><span class="n">devel</span><span class="o">-</span><span class="n">cos7</span><span class="o">-</span><span class="n">x86_64</span> \
1047    <span class="n">cuda</span><span class="o">-</span><span class="n">compiler</span><span class="o">==</span><span class="mf">12.6.2</span> \
1048    <span class="n">cuda</span><span class="o">-</span><span class="n">cudart</span><span class="o">-</span><span class="n">dev</span> \
1049    <span class="n">cuda</span><span class="o">-</span><span class="n">nvrtc</span><span class="o">-</span><span class="n">dev</span> \
1050    <span class="n">libcurand</span><span class="o">-</span><span class="n">dev</span>
1051
1052<span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">
1052com</span><span class="o">/</span><span class="n">colmap</span><span class="o">/</span><span class="n">colmap</span><span class="o">.</span><span class="n">git</span>
1053<span class="n">cd</span> <span class="n">colmap</span>
1054<span class="n">mkdir</span> <span class="n">build</span>
1055<span class="n">cd</span> <span class="n">build</span>
1056<span class="n">cmake</span> <span class="o">..</span> <span class="o">-</span><span class="n">GNinja</span>
1057<span class="n">ninja</span>
1058</pre></div>
1059</div>
1060</section>
1061</section>
1062<section id="library">
1063<span id="installation-library"></span><h2>Library<a class="headerlink" href="#library" title="Link to this heading">#</a></h2>
1064<p>If you want to include and link COLMAP against your own library, the easiest way
1065is to use CMake as a build configuration tool. After configuring the COLMAP
1066build and running <code class="docutils literal notranslate"><span class="pre">ninja/make</span> <span class="pre">install</span></code>, COLMAP automatically installs all
1067headers to <code class="docutils literal notranslate"><span class="pre">${CMAKE_INSTALL_PREFIX}/include/colmap</span></code>, all libraries to
1068<code class="docutils literal notranslate"><span class="pre">${CMAKE_INSTALL_PREFIX}/lib/colmap</span></code>, and the CMake configuration to
1069<code class="docutils literal notranslate"><span class="pre">${CMAKE_INSTALL_PREFIX}/share/colmap</span></code>.</p>
1070<p>For example, compiling your own source code against COLMAP is as simple as
1071using the following <code class="docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code>:</p>
1072<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cmake_minimum_required</span><span class="p">(</span><span class="n">VERSION</span> <span class="mf">3.10</span><span class="p">)</span>
1073
1074<span class="n">project</span><span class="p">(</span><span class="n">SampleProject</span><span class="p">)</span>
1075
1076<span class="n">find_package</span><span class="p">(</span><span class="n">colmap</span> <span class="n">REQUIRED</span><span class="p">)</span>
1077<span class="c1"># or to require a specific version: find_package(colmap 3.4 REQUIRED)</span>
1078
1079<span class="n">add_executable</span><span class="p">(</span><span class="n">hello_world</span> <span class="n">hello_world</span><span class="o">.</span><span class="n">cc</span><span class="p">)</span>
1080<span class="n">target_link_libraries</span><span class="p">(</span><span class="n">hello_world</span> <span class="n">colmap</span><span class="p">::</span><span class="n">colmap</span><span class="p">)</span>
1081</pre></div>
1082</div>
1083<p>with the source code <code class="docutils literal notranslate"><span class="pre">hello_world.cc</span></code>:</p>
1084<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>#include &lt;cstdlib&gt;
1085#include &lt;iostream&gt;
1086
1087#include &lt;colmap/controllers/option_manager.h&gt;
1088#include &lt;colmap/util/string.h&gt;
1089
1090int main(int argc, char** argv) {
1091    colmap::InitializeGlog(argv);
1092
1093    std::string message;
1094    colmap::OptionManager options;
1095    options.AddRequiredOption("message", &amp;message);
1096    if (!options.Parse(argc, argv)) {
1097        return EXIT_FAILURE;
1098    }
1099
1100    std::cout &lt;&lt; colmap::StringPrintf("Hello %s!\n", message.c_str());
1101
1102    return EXIT_SUCCESS;
1103}
1104</pre></div>
1105</div>
1106<p>Then compile and run your code as:</p>
1107<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>mkdir build
1108cd build
1109export colmap_DIR=${CMAKE_INSTALL_PREFIX}/share/colmap
1110cmake .. -GNinja
1111ninja
1112./hello_world --message "world"
1113</pre></div>
1114</div>
1115<p>The sources of this example are stored under <code class="docutils literal notranslate"><span class="pre">doc/sample-project</span></code>.</p>
1116</section>
1117<section id="shared-libraries">
1118<h2>Shared Libraries<a class="headerlink" href="#shared-libraries" title="Link to this heading">#</a></h2>
1119<p>By default, COLMAP builds static libraries. To build shared/dynamic libraries
1120instead, enable the <code class="docutils literal notranslate"><span class="pre">BUILD_SHARED_LIBS</span></code> option:</p>
1121<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cmake</span> <span class="o">..</span> <span class="o">-</span><span class="n">GNinja</span> <span class="o">-</span><span class="n">DBUILD_SHARED_LIBS</span><span class="o">=</span><span class="n">ON</span>
1122</pre></div>
1123</div>
1124<p>Trade-offs compared to static libraries:</p>
1125<ul class="simple">
1126<li><p><strong>Faster incremental linking</strong>: Only the changed shared library needs to be
1127re-linked during development, rather than all executables.</p></li>
1128<li><p><strong>Reduced disk usage</strong>: Multiple executables share the same library files on
1129disk and in memory.</p></li>
1130<li><p><strong>No cross-library optimization</strong>: The compiler cannot inline or apply
1131link-time optimization (LTO/IPO) across shared library boundaries, which
1132reduces runtime performance.</p></li>
1133<li><p><strong>Symbol resolution overhead</strong>: The dynamic linker resolves symbols at load
1134time, adding minor startup cost and indirect call overhead.</p></li>
1135</ul>
1136<p>For development workflows, shared libraries can significantly speed up
1137edit-compile-test cycles. For production or benchmarking, static libraries are
1138recommended.</p>
1139</section>
1140<section id="addresssanitizer">
1141<h2>AddressSanitizer<a class="headerlink" href="#addresssanitizer" title="Link to this heading">#</a></h2>
1142<p>If you want to build COLMAP with address sanitizer flags enabled, you need to
1143use a recent compiler with ASan support. For example, you can manually install
1144a recent clang version on your Ubuntu machine and invoke CMake as follows:</p>
1145<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">CC</span><span class="o">=/</span><span class="n">usr</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">clang</span> <span class="n">CXX</span><span class="o">=/</span><span class="n">usr</span><span class="o">/</span><span class="nb">bin</span><span class="o">/</span><span class="n">clang</span><span class="o">++</span> <span class="n">cmake</span> <span class="o">..</span> \
1146    <span class="o">-</span><span class="n">DASAN_ENABLED</span><span class="o">=</span><span class="n">ON</span> \
1147    <span class="o">-</span><span class="n">DTESTS_ENABLED</span><span class="o">=</span><span class="n">ON</span> \
1148    <span class="o">-</span><span class="n">DCMAKE_BUILD_TYPE</span><span class="o">=</span><span class="n">RelWithDebInfo</span>
1149</pre></div>
1150</div>
1151<p>Note that it is generally useful to combine ASan with debug symbols to get
1152meaningful traces for reported issues.</p>
1153</section>
1154<section id="documentation">
1155<h2>Documentation<a class="headerlink" href="#documentation" title="Link to this heading">#</a></h2>
1156<ol class="arabic">
1157<li><p>Install latest pycolmap for up-to-date pycolmap API documentation.</p></li>
1158<li><p>Build the documentation:</p>
1159<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">cd</span> <span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">colmap</span><span class="o">/</span><span class="n">doc</span>
1160<span class="n">pip</span> <span class="n">install</span> <span class="o">-</span><span class="n">r</span> <span class="n">requirements</span><span class="o">.</span><span class="n">txt</span>
1161<span class="n">make</span> <span class="n">html</span>
1162<span class="nb">open</span> <span class="n">_build</span><span class="o">/</span><span class="n">html</span><span class="o">/</span><span class="n">index</span><span class="o">.</span><span class="n">html</span> <span class="c1"># preview results</span>
1163</pre></div>
1164</div>
1165<p>Alternatively, you can build the documentation as PDF, EPUB, etc.:</p>
1166<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">make</span> <span class="n">latexpdf</span>
1167<span class="nb">open</span> <span class="n">_build</span><span class="o">/</span><span class="n">pdf</span><span class="o">/</span><span class="n">COLMAP</span><span class="o">.</span><span class="n">pdf</span>
1168</pre></div>
1169</div>
1170</li>
1171</ol>
1172<p>Publishing to the website (<a class="reference external" href="https://colmap.github.io/">colmap.github.io</a>) is
1173automated: whenever documentation-relevant files change on <code class="docutils literal notranslate"><span class="pre">main</span></code>, the CI
1174pipeline builds these docs and pushes the result to the <code class="docutils literal notranslate"><span class="pre">master</span></code> branch of the
1175<a class="reference external" href="https://github.com/colmap/colmap.github.io">colmap/colmap.github.io</a>
1176repository. Pull requests that touch the docs build them too and upload the
1177generated HTML as a downloadable <code class="docutils literal notranslate"><span class="pre">docs-preview</span></code> artifact for review, without
1178publishing. The manual steps above are therefore only needed to preview the docs
1179locally.</p>
1180<p>For a main release, still copy the previous release as legacy to the “legacy”
1181folder in the website repository, under a folder with the release number
1182(<a class="reference external" href="https://github.com/colmap/colmap.github.io/tree/master/legacy">see here</a>).
1183The automated deploy preserves the existing <code class="docutils literal notranslate"><span class="pre">legacy</span></code> folder.</p>
1184</section>
1185</section>
1186
1187
1188                </article>
1189              
1190              
1191              
1192              
1193              
1194                <footer class="prev-next-footer d-print-none">
1195                  
1196<div class="prev-next-area">
1197    <a class="left-prev"
1198       href="index.html"
1199       title="previous page">
1200      <i class="fa-solid fa-angle-left"></i>
1201      <div class="prev-next-info">
1202        <p class="prev-next-subtitle">previous</p>
1203        <p class="prev-next-title">COLMAP</p>
1204      </div>
1205    </a>
1206    <a class="right-next"
1207       href="tutorial.html"
1208       title="next page">
1209      <div class="prev-next-info">
1210        <p class="prev-next-subtitle">next</p>
1211        <p class="prev-next-title">Tutorial</p>
1212      </div>
1213      <i class="fa-solid fa-angle-right"></i>
1214    </a>
1215</div>
1216                </footer>
1217              
1218            </div>
1219            
1220            
1221              
1222                <dialog id="pst-secondary-sidebar-modal"></dialog>
1223                <div id="pst-secondary-sidebar" class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
1224
1225
1226  <div class="sidebar-secondary-item">
1227<div
1228    id="pst-page-navigation-heading-2"
1229    class="page-toc tocsection onthispage">
1230    <i class="fa-solid fa-list"></i> On this page
1231  </div>
1232  <nav id="pst-page-toc-nav" class="page-toc" aria-labelledby="pst-page-navigation-heading-2">
1233    <ul class="pst-show_toc_level nav section-nav flex-column">
1234<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#pre-built-binaries">Pre-built Binaries</a><ul class="nav section-nav flex-column">
1235<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#windows">Windows</a></li>
1236<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#docker">Docker</a></li>
1237</ul>
1238</li>
1239<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#build-from-source">Build from Source</a><ul class="nav section-nav flex-column">
1240<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#debian-ubuntu">Debian/Ubuntu</a></li>
1241<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#fedora">Fedora</a></li>
1242<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#mac">Mac</a></li>
1243<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#id2">Windows</a></li>
1244<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#vcpkg">VCPKG</a></li>
1245<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#anaconda-mamba">Anaconda/Mamba</a></li>
1246</ul>
1247</li>
1248<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#library">Library</a></li>
1249<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#shared-libraries">Shared Libraries</a></li>
1250<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#addresssanitizer">AddressSanitizer</a></li>
1251<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#documentation">Documentation</a></li>
1252</ul>
1253  </nav></div>
1254
1255  <div class="sidebar-secondary-item">
1256
1257  <div class="tocsection sourcelink">
1258    <a href="_sources/install.rst.txt">
1259      <i class="fa-solid fa-file-lines"></i> Show Source
1260    </a>
1261  </div>
1262</div>
1263
1264</div></div>
1265              
1266            
1267          </div>
1268          <footer class="bd-footer-content">
1269            
1270          </footer>
1271        
1272      </main>
1273    </div>
1274  </div>
1275  
1276  <!-- Scripts loaded after <body> so the DOM is not blocked -->
1277  
1277<script defer src="_static/scripts/bootstrap.js?digest=90905a2f556bf617f1a9"></script>
vendor: 1 bytes, line 1277
1277
1278<script defer src="_static/scripts/pydata-sphinx-theme.js?digest=90905a2f556bf617f1a9"></script>
1278
1279
1280  <footer class="bd-footer">
1281<div class="bd-footer__inner bd-page-width">
1282  
1283    <div class="footer-items__start">
1284      
1285        <div class="footer-item">
1286
1287  <p class="copyright">
1288    
1289      © Copyright 2026, COLMAP Team.
1290      <br/>
1291    
1292  </p>
1293</div>
1294      
1295    </div>
1296  
1297  
1298    <div class="footer-items__center">
1299      
1300        <div class="footer-item">
1301<p class="footer-version">COLMAP 4.3.0.dev0 | 998ff4d (2026-10-01)</p></div>
1302      
1303    </div>
1304  
1305  
1306    <div class="footer-items__end">
1307      
1308        <div class="footer-item">
1309<p class="theme-version">
1310  <!-- # L10n: Setting the PST URL as an argument as this does not need to be localized -->
1311  Built with the <a href="https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html">PyData Sphinx Theme</a> 0.20.0.
1312</p></div>
1313      
1314    </div>
1315  
1316</div>
1317
1318  </footer>
1319  </body>
1320</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.