Automatic photograph orientation
Posted on Apr 25, 2007. In Tech.
This is a project I conducted in my final year at uni, it is the equivalent of a dissertation piece.
I chose to research into the area of automatic photograph orientation, with the aim of implementing an application to correctly orientate images of incorrect orientations. For this project I achieved a 78% mark and was awarded the first prize for multimedia project from the year.
Automatic photograph orientation is the method of detecting the correct orientation of an image, through several possible feature extraction techniques, and rotating that image to be correctly orientated. I researched into this area, implementing several methods of feature extraction, to produce an application to correctly orientate images.
Through the course of this project I produced several pieces of assessed work.
Interim report
The interim report was produced halfway through the project. This summarised the the work carried out to date with a plan of the schedule for future work.
Final report
The final report was produced at the end of the project, detailing all the work carried out through its duration. This is a large 94 page report looking at all areas of the project including research, implementation, testing, and conclusions.
Presentation
I gave a presentation at the end of the project, to act as an introduction to the project theory. This consists of a few slides covering the some of the theory of feature extraction, the projects goals, and the application performance.
The application
Unfortunately the application cannot be included here as it requires the inclusion of the ImageMagick plugin on the running system. Full details of the application can however be found in the final report.

The application interface
The application was developed using C++ and Apple's Cocoa windowing system implementing several researched feature extraction methods.
Technology used:- C++
- Objective-C
- Apple Interface Builder(tm)
- Apple XCode(tm)
- Working on a long-term project
- Working with no set schedule
- Independent work
- Mixing various technologies
- Writing a long scientific report
