[GIS] Image orthorectification with XYZ and roll, pitch and yaw

orthorectificationpython-2.7

There are a lot of raw images taken by UAV and the only parameters that I have are XYZ and roll, pitch, yaw in excel spreadsheet.
I've been trying to orthorectify these images with ArcGIS, Er mapper and even Python. They all require other paramteres such as control points, camera files, … Which unfortunately I don't have them.
Is there a way to orthorectify these images using only XYZ and roll, pitch, yaw?

Best Answer

You need additional parameters from the image acquisition process. Important are:

  • sensor resolution which is the cellsize of the chip,
  • the sensor area and
  • the focal length.

Normally you need also correction factors to compensate the spherical errors of your lenses. You should ask for the camera type and try to find these parameters in the web. Cellsize, sensor extent and focal length can sometimes be found in the EXIF metadata block of the image. The exiftool written by Phil Harvey could help you and can be found in the CPAN repository. It is written in perl, but strawberry perl for windows could be useful.

The computer vision buzzword for your task is Homography. For a simple approach, you could use the spatial origin and the attitude data and calculate the four corner points in "World Co-ordinates", determin the homography and apply the perspective transformation. To do this you could use OpenCV-Python bindings. OpenCV has also good tutorials for camera calibration, how to find the homography and recalculate the images. The australian Professor Peter Corke could give you a lecture for this computer vision aspects.

Related Question