Skip to content

Commit

Permalink
Add example
Browse files Browse the repository at this point in the history
  • Loading branch information
sarlinpe committed Jan 14, 2024
1 parent 1ac0955 commit ca6dd29
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
*.egg-info/
build/
.cache/
example/
43 changes: 43 additions & 0 deletions example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import shutil
import urllib.request
import zipfile
from pathlib import Path

import pycolmap
from pycolmap import logging


def run():
output_path = Path("example/")
image_path = output_path / "Fountain/images"
database_path = output_path / "database.db"
sfm_path = output_path / "sfm"

output_path.mkdir(exist_ok=True)
logging.set_log_destination(logging.INFO, output_path / "INFO.log.") # + time

data_url = "https://cvg-data.inf.ethz.ch/local-feature-evaluation-schoenberger2017/Strecha-Fountain.zip"
if not image_path.exists():
logging.info("Downloading the data.")
zip_path = output_path / "data.zip"
urllib.request.urlretrieve(data_url, zip_path)
with zipfile.ZipFile(zip_path, "r") as fid:
fid.extractall(output_path)
logging.info(f"Data extracted to {output_path}.")

if database_path.exists():
database_path.unlink()
pycolmap.extract_features(database_path, image_path)

pycolmap.match_exhaustive(database_path)

if sfm_path.exists():
shutil.rmtree(sfm_path)
sfm_path.mkdir(exist_ok=True)
recs = pycolmap.incremental_mapping(database_path, image_path, sfm_path)
for idx, rec in recs.items():
logging.info(f"#{idx} {rec.summary()}")


if __name__ == "__main__":
run()

0 comments on commit ca6dd29

Please sign in to comment.