Create 3D model from pictures using ODM
1 minute read
In this tutorial, we will be creating a 3D model of a tajine from 44 pictures. We will be using OpenDroneMap open source software.
Prerequisites
- OS: Windows 10 , wsl2 installation guide
- Docker Desktop, install from here.
- Mesh-Lab, install from here
Setting up OpenDroneMap
Install docker desktop
Run from the following command in terminal to download odm image to your local machine (1,5 GB approx.):
docker pull opendronemap/odm
Building the 3D model
- Place some images (JPEGs or TIFFs) in a folder named “images” in a project folder in the datasets folder in the home directory (for example
/home/your-user/datasets/tajine/images
)
- Run the following command:
docker run -ti --rm -v /home/youruser/datasets:/datasets opendronemap/odm --project-path /datasets project
This command will be used all the time, for the first time it will download the docker image to your machine (1,5 Gb approx.).
Viewing the model
When the process finishes, the results will be organized as follows:
|-- images/
|-- img-1234.jpg
|-- ...
|-- opensfm/
|-- see mapillary/opensfm repository for more info
|-- odm_meshing/
|-- odm_mesh.ply # A 3D mesh
|-- odm_texturing/
|-- odm_textured_model.obj # Textured mesh
|======================================================================
|-- odm_textured_model_geo.obj # Georeferenced textured mesh
|======================================================================
|-- odm_georeferencing/
|-- odm_georeferenced_model.laz # LAZ format point cloud
|-- odm_orthophoto/
|-- odm_orthophoto.tif # Orthophoto GeoTiff
Open the textured model (odm_textured_model_geo.obj) or the mesh using MeshLab (open source system for processing and editing 3D triangular meshes).
First result
Final result
After some editing on Mesh-Lab, here are the final results: