Depixelizing Pixel Art
An interesting paper submitted to SIGGRAPH2011 from Microsoft’s Johannes Kopf and Hebrew University’s Dani Lischinski puts forth a new automated algorithm for “Vectorizing” old pixellized graphics.
We describe a novel algorithm for extracting a resolution-independent vector representation from pixel art images, which enables magnifying the results by an arbitrary amount without image degradation. Our algorithm resolves pixel-scale features in the input and converts them into regions with smoothly varying shading that are crisply separated by piecewise-smooth contour curves. In the original image, pixels are represented on a square pixel lattice, where diagonal neighbors are only connected through a single point. This causes thin features to become visually disconnected under magnification by conventional means, and it causes connectedness and separation of diagonal neighbors to be ambiguous. The key to our algorithm is in resolving these ambiguities. This enables us to reshape the pixel cells so that neighboring pixels belonging to the same feature are connected through edges, thereby preserving the feature connectivity under magnification. We reduce pixel aliasing artifacts and improve smoothness by fitting spline curves to contours in the image and optimizing their control points.
The results shown are impressive. I’ld love to see some of my old 8-bit favorites reprocessed into some higher-resolution vector graphics (1080p Bionic Commando!). Their website is (understandably) under some pretty heavy load, so I’ve mirrored their paper at this link (4Meg PDF). See some other results of their algorithm below: