RSSAmplifier

Blog

Matt’s Ramblings

Python projects, CS curiosities, and mathematical musings.

matthewearl.github.ioRSS feed ↗10 posts

Latest posts

Path tracing Quake in Blender

Using Python and Blender I produce a tool for converting Quake demo files into a path traced scene.

Reprojecting the Perseverance landing footage onto satellite imagery

Using Python, OpenCV, and PyTorch to reproject the Mars 2020 / Perseverance descent and landing footage onto satellite imagery of the area.

Extracting Super Mario Bros levels with Python

A Python script for extracting level data from the Super Mario Bros ROM, using a 6502 emulator (also written in Python).

Number plate recognition with Tensorflow

Applying convolutional neural networks to the problem of automatic number plate recognition. Synthesized number plate images are used to train a TensorFlow network which is then used to detect number plates in real-world images.

12 years in 15 seconds: Aligning and condensing a self-portrait time-lapse

Following from my previous experiments with face alignment, I got to thinking if the same techniques could be applied to photo-a-day time lapse projects, such as Noah Kalina's 12.5 year (and counting) epic. It turns out they can; in this post I explain how I smoothed out this video.

Making faces with Haar cascades and mixed integer linear programming

In 2001 Viola and Jones introduced their successful face (and other object) detection algorithm, based on so-called Haar-like features. This post describes how I used mixed integer linear programming (MILP) and Python to write a script which inverts this algorithm; instead of detecting faces in an input image, it will generate an image of a face.

Solving the GCHQ christmas card with Python and pycosat

For Christmas 2015, the director of British spy agency GCHQ released a Christmas card featuring a grid-shading puzzle. This post describes a Python script to solve the puzzle (which can also be applied to similar puzzles), which uses a SAT solver to find the solution.

Creating a Pluto flyby using unaligned New Horizons images

In the months leading up to NASA's historic flyby of Pluto, the New Horizons probe took a series of pictures of the dwarf planet as it approached. This post describes how I used Python to turn these unaligned images into a flyby animation.

Switching Eds: Face swapping with Python, dlib, and OpenCV

Automating the algorithm from the previous post. Facial landmarks are detected using dlib. Alignment, colour correction, and blending is then done with numpy and OpenCV.

Face swapping with The GIMP

A methodical technique for face swapping in the GIMP. The approach replaces the face of a person in one image with the face of a person in another image.