Pre-processing script for multispectral images from the DJI Mavic 3M

Hi all,
others before me have noticed a misalignment of the spectral bands when processing the images from a DJI Mavic 3M. I created a small Python script that you can run to pre-process the images and which seems to fix the problem. To do this, I used the homography transformation from the CV2 library. Once this image registration script is done, you can use the output in ODM/WebODM - just make sure you turn off the spectral band alignment.

Mind that this is just a first draft. It is also pretty slow and I will add a parallelized version soon.
I also just used each image’s original metadata, but the GPS data should be copied from the green image (the reference). Probably this has very little or no effect on the output.

All feedback is welcome.
https://gitlab.com/Yario/image_registration_dji_mavic_3m

Potentially interesting for:
owlsarecool
KazuhaM

Fantastic. Thanks for sharing! I’m traveling at the moment, but will test when I can. If you’re so inclined, join the conversation here:

And open a pull request if you like!

Hi Yario,

Thank you for sharing this script!
The results from my first test pre-processing with this script look great (screenshots below).


Cheers,

Ben