Software Applications

Sample of software applications.

Augmentation Inspection Application
The image on the left is of my final year dissertation project. The idea behind the project was to compare a physical component against a 3d geometrical model, highlighting anomolies between the two. I was keen to try experimenting in the area of Computer Vision and attempt to develop something that could prove very useful to the company i work for. The application was written in C++, using Direct X 11 for rendering both 3d geometry & projection of the webcam image. The OpenCV library was utlised for the computer vision algorithms.

Key to the success of the project, many Computer Vision techniques were tested, these include:
  • Edge detection - Canny, Sobel.
  • Optical flow tracking, please check : my video on YouTube
  • Machine Learning.
  • Solve PNP.
  • Camera Calibration.


Optical flow

Augmentation Inspection Application

Each type of detection was tested for its suitability in the application. The chart shown on the left is the result of an experiment to monitor the movement of the points detected by the KLT Tracking algorthimn. Factors including different lightening conditions, camera distance had adverse effects on some of the detection algortihms.

ImageConverter

Image Converter

This is a small application written in C# to make converting Images (.png, .jpg, etc) into Base64. The idea came from speeding up Website development.

The application is available on the GitHub


Emulator

Emulator

Why did i write this ? For fun is the only answer i can give ! Written in C# the app is emulating an Intel 8080 processor & can be seen running an original Space Invaders rom..

The application is available on the GitHub


Map Maker

Map Maker

This C# application was developed for creating the levels for the game Nodes of Yesod. The game can be found and played on the Games page.

The application is available on the GitHub


Interactive 3d Graphics Programming

Interactive 3d Graphics Programming

This C++ application was developed as an assignment during my University Degree studies. The graphics API is DirectX 9 using the fixed function pipeline.
The screen shot does not do justice to the application, the app features Textured Terrain, Fog, 1st & 3rd person cameras, bounding box collision detection and many more features.


WigWam

WigWam

Language Design and Implementation (WigWam)

The upper screenshot shows a C# windows form application containing some Python code... Under the covers, there is a Java Interpreter being fed my language called WigWam, that is running some Python whilst being controlled through a C# application !! This Java application was developed as an assignment during my University Degree studies. The grammar for WigWam was created using Antlr.

The lower screen shot shows the output from a Java compiler that I wrote as part of the same assignment. The compiler generated code that is executed using LLVM, the code shown in the screen shot calculates the Fibonacci sequence.