May 5, 2024 A simple color map algorithm I have had to manipulate a lot of images in my life to look nice with brands where no designer was available to do…
June 15, 2010 Region Quadtrees in C++ (Original image by GoAwayStupidAI). Below are four C++ implementations of the region quadtree (the kind used for image compression, for example). The different implementations…
May 12, 2010 Catching Common Image Processing Programming Errors with Generic Unit Tests When implementing image algorithms, I am prone to make these mistakes: swapping x and y; working on the wrong channel; making off-by-one errors, especially…
April 16, 2010 Simple, Fast* Approximate Minimum / Maximum Filters *Fast = not toooo slow… For the image restoration tool I had to implement min and max filters (also erosion and dilation—in this case with a…
April 15, 2010 Experimental Tool for Removing Unwanted Artefacts in Textures Many textures used for 3D art start from photographs. Ideally, such textures should be uniformly lit so that the texture does not interfere with…
April 7, 2010 Poisson Disk Sampling Example Code I decided to put the Poisson disk sampling code here for download since the site that hosted it is down. The code accompanies the…
May 28, 2009 Getting More out of Seamless Tiles I wrote an article for Dev.Mag covering some techniques for working with seamless tile sets such as making blend tiles, getting more variety with procedural colour manipulation,…
December 15, 2008 A simple texture algorithm – faster code and more results Faster Code A while back I wrote about a simple texture algorithm that I have been exploring. The Python implementation was very slow –…
November 15, 2008 Quadtrees The code below implements some quadtree extensions, as discussed in another Dev.Mag tutorial about quadtrees (see Issue 27). The tutorial covers the following topics:…
October 6, 2008 Quadtrees The quadtree is an important 2D data structure and forms the core of many spatial algorithms, including compression, collision detection, and stitching algorithms. Below…