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 anomalies 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 utilised 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.
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 algorithm. Factors including different lightening conditions, camera distance
had adverse effects on some of the detection algorithms.
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 source code is available on the GitHub
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 source code is available on the GitHub
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 source code is available on the GitHub
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 screenshot 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.
The source code is available on the GitHub
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 screenshot 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 screenshot calculates the Fibonacci sequence.