EZ2DIGITIZE
Turn photos or video of small objects into textured meshes and Gaussian splats, on any GPU vendor. EZ2DIGITIZE is a desktop app that drives open-source reconstruction tools...
| Written in | Python |
|---|---|
| License | GPL-3.0 |
| Last updated | 8 Oct 2026 |
Turn photos or video of small objects into textured meshes and Gaussian splats, on any GPU vendor. EZ2DIGITIZE is a desktop app that drives open-source reconstruction tools (COLMAP, OpenMVS, Brush) for you.
Status: early development (roadmap). Photos, a video or a phone upload in; a textured mesh (OBJ, GLB, STL, 3MF) or Gaussian splats out; from the GUI or the command line. CI builds a Linux AppImage, a macOS app and a portable Windows zip with the tools inside; tagged versions are published on the releases page (changelog).
Primary platform: Linux with an AMD GPU. Secondary: macOS on Apple Silicon.
- Quick start
- Capturing a small object
- Troubleshooting
- Plugins: tools you install yourself
- Capture companion: what a phone capture app sends
- Contributing
Development
Requires uv.
uv sync # create .venv with all dependencies
uv run ez2digitize # start the app
uv run pytest # tests
uv run ruff check # lint
uv run ruff format # format
uv run mypy # type check
The headless pipeline needs COLMAP 4.2.1 and OpenMVS 2.4.0
(tools/backends builds both; point
EZ2D_COLMAP and EZ2D_OPENMVS_DIR at them, or pass --colmap and
--openmvs-dir):
uv run ez2d new ~/scans/skull
uv run ez2d import ~/scans/skull ~/Pictures/skull # --masks DIR to add masks
uv run ez2d import ~/scans/skull ~/Videos/skull.mp4 # a video: --frames N (100)
uv run ez2d upload ~/scans/skull # photos from a phone (QR code)
uv run ez2d watch ~/scans/skull ~/Sync/Camera # or from the folder it syncs to
uv run ez2d photos ~/scans/skull --exclude Preview.jpg # photo checks, leave out
uv run ez2d masks ~/scans/skull # automatic masks (model: 179 MB)
uv run ez2d import ~/scans/skull ~/Pictures/under --flipped # the other side
uv run ez2d run ~/scans/skull --sparse-only # place the cameras only, then:
uv run ez2d crop ~/scans/skull --auto # a crop box (or --set, in the 3D view)
uv run ez2d scale ~/scans/skull --distance 42 # the points picked in the 3D view: 42 mm
uv run ez2d markers sheet.svg # a sheet of scale markers to print
uv run ez2d orient ~/scans/skull --tilt x # lying on its side: a quarter turn
uv run ez2d run ~/scans/skull --quality fast # fast, balanced (default), high
uv run ez2d status ~/scans/skull
uv run ez2d export ~/scans/skull --formats glb # OBJ and GLB are exported after run
See CLAUDE.md for project rules and docs/ARCHITECTURE.md for the design.
License
GPL-3.0-or-later. Third-party components are listed in THIRD_PARTY_LICENSES.
This page is synced from README.md in the EZ2DIGITIZE repo.