Softwareentwicklung und Algorithmik sind für uns ein kreative, spannende und teilweise künstlerische Themen. Und auch wenn wir primär unsere Energie in eigenen Produkte – wie die Sokratext Engine für deutsche Sprache – und natürlich die Software unserer Kunden stecken, begegnen wir manchmal einem Paper, das einfach zu interessant ist, es nicht umzusetzen. Dann gönnen wir uns die Zeit, dieses Paper umzusetzen und möglichst dabei neue Technologien und Techniken auszuprobieren.

Der DIVISIO Depixelizer ist so ein Projekt, das einen sehr speziellen Computer-Vision-Algorithmus implementiert, mit dem man Retro-Computerspiel-Grafiken („Pixel Art“) in frei skalierbare Vektorgrafiken umwandeln kann. Dieser Algorithmus ist auf Bilder mit geringer Auflösung und knalligen Farben optimiert – mit echten Photos kann er leider nicht umgehen. Dafür sind die Ergebnisse für Ihr Lieblings-NES-Spiel um so besser.

Die Schritte des Depixelizer-Algorithmus (Quelle: https://johanneskopf.de/publications/pixelart/). Die Pixel werden geladen (a), auf Basis der Farbwerte werden Pixel in einem Graphen verbunden (b), eine Heuristik auf Basis der Gestaltgesetze entfernt Kantenüberschneidungen (c), die entstandenen Flächen werden deformiert (d), die deformierten Flächen werden durch Splines approximiert (e), die Splines werden mit einem Energieminimierungsansatz geglättet und ähnliche Farben werden in Farbverläufe umgewandelt (f). Um SVG kompatibel zu bleiben, haben wir auf die Erstellung der Farbverläufe verzichtet.

Der Depixelizer ist unsere Implementierung des Papers „Depixelizing Pixel Art“ von Johannes Kopf und Dani Lischinski. Dieser Algorithmus wandelt „Pixel Art“ in frei skalierbare SVG-Grafiken um. Dabei nutzt er die Gestaltgesetze nach Wertheimer um die menschliche Wahrnehmung nachzuahmen.

Datenschutzhinweis: Sämtliche hochgeladenen Bilder und die Ergebnisse werden nach dem „depixeln“ sofort wieder gelöscht, es werden keine Bilder gespeichert.

ACHTUNG! Dieser Algorithmus funktioniert nur gut bei kontrastreicher Pixel Art in Originalauflösung – Photos, JPEGs mit Kompressionsartefakten und hochskalierte Pixel Bilder erzeugen keine brauchbaren Ergebnisse.