Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/SBCV/Blender-Addon-Photogrammetry-Importer
Addon to import different photogrammetry formats into Blender
https://github.com/SBCV/Blender-Addon-Photogrammetry-Importer
agisoft-metashape blender blender-addon colmap meshroom mve open3d openmvg opensfm photogrammetry sfm structure-from-motion
Last synced: about 1 month ago
JSON representation
Addon to import different photogrammetry formats into Blender
- Host: GitHub
- URL: https://github.com/SBCV/Blender-Addon-Photogrammetry-Importer
- Owner: SBCV
- License: mit
- Created: 2017-08-05T16:35:11.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-03-19T17:53:18.000Z (9 months ago)
- Last Synced: 2024-03-19T18:59:45.853Z (9 months ago)
- Topics: agisoft-metashape, blender, blender-addon, colmap, meshroom, mve, open3d, openmvg, opensfm, photogrammetry, sfm, structure-from-motion
- Language: Python
- Homepage:
- Size: 30 MB
- Stars: 836
- Watchers: 42
- Forks: 76
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Blender Photogrammetry Importer
This repository contains a Blender addon to import results of several reconstruction libraries. In addition it allows to perform novel view synthesis using Neural Radiance Fields (NeRF).## Compatibility
The latest release of the addon is currently compatible with **Blender 4.0.2 onwards**. For older Blender versions you might find a suitable release [here](https://github.com/SBCV/Blender-Addon-Photogrammetry-Importer/releases).
## Supported Reconstruction Libraries and Point Cloud Data Formats
Supported photogrammetry libraries (data formats):
- [x] [Agisoft Metashape](https://www.agisoft.com/) (VisualSfM NVM) 1
- [x] [Colmap](https://github.com/colmap/colmap) (Model folders (BIN and TXT), dense workspaces, NVM, PLY)
- [x] [Meshroom](https://alicevision.github.io/) (MG, JSON, SfM, PLY)
- [x] [MVE](https://github.com/simonfuhrmann/mve) (Workspaces) 1
- [x] [Open3D](http://www.open3d.org/) (JSON, LOG, PLY) 1
- [x] [OpenSfM](https://github.com/mapillary/OpenSfM) (JSON)
- [x] [OpenMVG](https://github.com/openMVG/openMVG) (JSON, NVM, PLY)
- [x] [Regard3D](https://www.regard3d.org/) (OpenMVG JSON)
- [x] [VisualSFM](http://ccwu.me/vsfm/) (NVM) 1Supported view synthesis libraries (data formats):
- [x] [Instant NGP](https://github.com/NVlabs/instant-ngp) (JSON)In addition, the addon supports some common point cloud data formats:
- [x] [Polygon files](http://paulbourke.net/dataformats/ply/) (PLY) 2
- [x] [Point Cloud Library files](https://github.com/PointCloudLibrary/pcl) (PCD) 2
- [x] [LASer files](https://www.asprs.org/divisions-committees/lidar-division/laser-las-file-format-exchange-activities) (LAS) 2,3
- [x] [LASzip files](https://laszip.org/) (LAZ) 2,3,4
- [x] [Simple ASCII point files](https://www.cloudcompare.org/doc/wiki/index.php?title=FILE_I/O) (ASC, PTS, CSV) 21 Requires [Pillow](https://pypi.org/project/Pillow/) to read image sizes from disk.
2 Requires [Pyntcloud](https://pypi.org/project/pyntcloud/) for parsing.
3 Requires [Laspy](https://pypi.org/project/laspy/) for parsing.
4 Requires [Lazrs](https://pypi.org/project/lazrs/) for parsing.## Getting Started
- [Documentation](https://blender-photogrammetry-importer.readthedocs.io/en/latest)
- [Installation Instructions](https://blender-photogrammetry-importer.readthedocs.io/en/latest/installation.html)
- [Troubleshooting](https://blender-photogrammetry-importer.readthedocs.io/en/latest/troubleshooting.html)
- [Customize Import/Export Options](https://blender-photogrammetry-importer.readthedocs.io/en/latest/customize.html)
- [Examples](https://blender-photogrammetry-importer.readthedocs.io/en/latest/examples.html)
- [Import Data](https://blender-photogrammetry-importer.readthedocs.io/en/latest/import.html)
- [Export Data](https://blender-photogrammetry-importer.readthedocs.io/en/latest/export.html)
- [Adjust Results (Scale Cameras and Points)](https://blender-photogrammetry-importer.readthedocs.io/en/latest/adjustment.html)
- [Ensure Camera and Point Alignment](https://blender-photogrammetry-importer.readthedocs.io/en/latest/alignment.html)
- [Point Cloud Visualization and Rendering](https://blender-photogrammetry-importer.readthedocs.io/en/latest/point_cloud.html)
- [Addon Usage with Python](https://blender-photogrammetry-importer.readthedocs.io/en/latest/python.html)
- [Read and Apply Calibration/Transformation Matrices](https://github.com/SBCV/Blender-Matrix-World-Addon)
- [Extending the Addon](https://blender-photogrammetry-importer.readthedocs.io/en/latest/extension.html)
- [Contribution](https://blender-photogrammetry-importer.readthedocs.io/en/latest/contribution.html)
- [Recent features / Changelog](https://blender-photogrammetry-importer.readthedocs.io/en/latest/changelog.html)## Paper
If you use this library for scientific purposes, please consider to cite the following paper.
[paper] [arxiv]
```bibtex
@article{PhotogrammetryForModeling2021,
title={A Photogrammetry-based Framework to Facilitate Image-based Modeling and Automatic Camera Tracking},
author={Bullinger, Sebastian and Bodensteiner, Christoph and Arens, Michael},
booktitle={International Conference on Computer Graphics Theory and Applications},
year={2021}
}
```## View Synthesis Examples
This addon allows to peform novel view synthesis for arbitrary cameras using NeRF (e.g. [Instant NGP](https://github.com/NVlabs/instant-ngp)). The left image shows a plain NeRF result and the right image an overlay with the corresponding point cloud.
## Reconstruction Examples
This repository contains an example Colmap model. The following image shows the imported camera poses, image planes and point cloud in Blender's 3D view.
![alt text](doc/images/import_result.jpg)
The input images of the Colmap model are located here: [https://github.com/openMVG/ImageDataset_SceauxCastle](https://github.com/openMVG/ImageDataset_SceauxCastle).The addon computes an animated camera with corresponding background images from the reconstructed camera poses.
![alt text](doc/images/camera_animation_background.gif)There is also an import option that allows to interpolate the reconstructed camera poses.
![alt text](doc/images/camera_animation.gif)In addition, the addon allows to import meshes contained in the workspaces of specific libraries. Manually imported meshes can also be aligned with the corresponding reconstruction by following the instructions [here](https://blender-addon-photogrammetry-importer.readthedocs.io/en/latest/import.html#meshes).
![alt text](doc/images/mesh_3d_view.jpg)The addon offers two options to represent the point clouds (OpenGL and Geometry Nodes). The addon provides different panels to adjust the appearance and to render these point clouds - see [Point Cloud Visualization and Rendering](https://blender-addon-photogrammetry-importer.readthedocs.io/en/latest/point_cloud.html). The following images show an example represented with OpenGL (top) and Geometry Nodes (bottom).
![alt text](doc/images/import_result_opengl.jpg)
![alt text](doc/images/import_result_geometry_nodes.jpg)In addition, the addon allows to visualize depth maps (reconstructed with Colmap or MVE) as point clouds.