This repository contains a graphical user interface (GUI) application developed for the Photogrammetry III course at the University of Isfahan. The project, completed during my undergraduate studies in Geomatics Engineering, was designed for educational purposes to demonstrate the use of Direct Linear Transformation (DLT) in photogrammetry in Fall 2018.
DLT is a widely used method in photogrammetry for mapping coordinates from two-dimensional images to three-dimensional ground-based coordinates. This method is particularly useful when working with Ground Control Points (GCPs) for 3D reconstruction or spatial analysis of images. It uses a set of known 3D points (in object space) and their 2D counterparts (in image space) to calculate a transformation model that estimates unknown parameters. The model allows for reconstructing object coordinates by determining projection parameters based on the positions of GCPs.
For further details on Direct Linear Transformation, you can refer to this resource on DLT from Purdue University.
The GUI application allows users to:
- Load Two Images: Upload one image to the left and one to the right panel.
- Select GCP Coordinates: Load a
.txt
file containing the known coordinates of GCPs in the ground coordinate system. - Specify Points on Images: Define the location of GCPs on both images to set up the model.
- Run DLT Models: Calculate DLT parameters based on the provided GCPs and images.
- Compute Ground-Based Coordinates: By selecting a point on one of the images, the application calculates its X, Y, and height coordinates in the ground-based coordinate system using the DLT parameters.
- Python 2.7
- Libraries:
pillow
for image handlingnumpy
for numerical computationsmatplotlib
for plotting data and GUI elementsopencv
for image processingsympy
for symbolic calculations
To use this application:
- Load two images (left and right side).
- Import a
.txt
file containing the ground coordinates for GCPs. - Mark corresponding GCPs on each image.
- Run the DLT model to calculate transformation parameters.
- Select a point to estimate its 3D coordinates in the ground-based system.
If you have any questions about this project, feel free to reach out.