-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Running OpenDroneMap
For the latest documentation, visit http://docs.opendronemap.org
First make sure you have edit the settings.yaml file to your liking AND that you have properly set the environmental variables.
To use OpenDroneMap run the following command:
python run.py --images </path/to/images> <project-name>
Then sit back, grab a coffee and wait. Note that you only have to specify --images
on the first run.
If you supply a GCP file called gcp_list.txt then ODM will automatically detect it. If it has another name you can specify using --gcp <path>
. If you have a gcp file and want to do georeferencing with exif instead, then you can specify --use-exif
.
This post has some information about placing Ground Control Targets before a flight, but if you already have images, you can find your own points in the images post facto. It's important that you find high-contrast objects that are found in at least 3 photos, and that you find a minimum of 5 objects.
For example, in this image, I would use the sharp corners of the diamond-shaped bioswales in the parking lot:
You should also place/find the GCPs evenly around your survey area.
The gcp_list.txt
file must then be created in the base of your project folder:
The format of the GCP file is simple. The header line is a description of the coordinate system: either a UTM specification written as "WGS84 UTM xx<N\S>" or a coordinate system definition in any format the GDAL library can understand. Link. We recommend using EPSG:n codes. Please note that currently angular coordinates (like lat/lon) do not work. Subsequent lines are the X, Y & Z coordinate in your coordinate system, your associated pixel and line number in the image, and the image name itself:
coordinate system description
x1 y1 z1 pixelx1 pixely1 imagename1
x2 y2 z2 pixelx2 pixely2 imagename2
x3 y3 z3 pixelx3 pixely3 imagename3
e.g. for the Langley dataset:
WGS84 UTM 10N
544256.7 5320919.9 5 3044 2622 IMG_0525.jpg
544157.7 5320899.2 5 4193 1552 IMG_0585.jpg
544033.4 5320876.0 5 1606 2763 IMG_0690.jpg
Given the recommendations above, your file should have a minimum of 15 lines after the header (5 points with 3 images to each point).
Make sure that filenames match exactly, the GCP file is case-sensitive (if a file is named IMG_0525.jpg
, writing IMG_0525.JPG
will not work and the point will be ignored).
Note: if you use a GCP file, then the images in the images_resize folder in your project will have coordinates in the EXIF data.
You can read the specification of the Ground Control Points file format here: https://github.com/mapillary/OpenSfM/blob/master/doc/source/gcp.rst