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 — 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 >= 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 >= 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"><VERSION></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"><</span><span class="n">VERSION</span><span class="o">>/</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"><</span><span class="n">VERSION</span><span class="o">>.</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">&&</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 <cstdlib> 1085#include <iostream> 1086 1087#include <colmap/controllers/option_manager.h> 1088#include <colmap/util/string.h> 1089 1090int main(int argc, char** argv) { 1091 colmap::InitializeGlog(argv); 1092 1093 std::string message; 1094 colmap::OptionManager options; 1095 options.AddRequiredOption("message", &message); 1096 if (!options.Parse(argc, argv)) { 1097 return EXIT_FAILURE; 1098 } 1099 1100 std::cout << 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.