Comparatif des outils de super resolution

Pour agrandir une image sans perdre en netteté, des outils gratuits utilisent des algorithmes performants.

Le premier script servira à d'évaluer la qualité de ces outils, on va les comparer d'abord avec un agrandissement simple réalisé sans aucune optimisation. Dans cet algorithme, inclut dans le code de la page, chaque pixel de l'image originale est remplacé par un carré de même couleur de 2 ou 4 pixels de coté.

En second lieu, j'ai aussi essayé un algorithme d'interpolation bilinéaire, qui est simple et rapide, mais j'ai vu que le navigateur fournit un résultat similaire, aussi je n'ai pas inclu le script dans la liste. Il est plus facile d'agrandir une image en utilisant simplement le navigateur: on charge l'image avec la balise <img>, et on assigne aux propriétés width et height une valeur supérieure aux dimensions originales. La fonction scale de la balise Canvas utilise aussi cet algorithme.

Le troisième outil est le logiciel HQX de Maxim Stepin qui utilise une table de référence pour choisir les couleurs intermédiaires susceptible de supprimer les effets d'escalier.

Finalement le logiciel Scale2X de AdvanceMame offre les même facteurs d'agrandissement de 2, 3 ou 4 que HQX. Il est plus rapide. Son objectif est la création d'émulateurs de jeux et c'est sans doute pourquoi il est le plus efficace sur les sprites.

Un autre outil, Image Resampler, a été testé mais non inclu dans les échantillons. Il fournit un résultat intermédiaire entre celui du navigateur et HQX pour les sprites. Les images sont moins pixelisées qu'avec l'algorithme d'interpolation bilinéaire ou bicubique mais restent floues. Son inconvénient est que l'image redimensionnée est au format TGA et doit être convertie pour le Web.

  Original Basse résolution Navigateur HQX Scale 2X
Petite icône
Grande icône

Affiche:

Le silence des agneaux

Sprite: le plombier

Photo d'un visage de fille

Original Basse résolution Navigateur
  HQX Scale 2X
 

Conclusions

Le silence des agneaux cache une image

Scale2X fournit généralement l'image la plus nette, mais semble avoir des difficultés avec les formes rondes. Pour la photo, il ne fait pas mieux que le navigateur. Pour l'anecdote, cette photo est elle-même le résultat d'un algorithme.
C'est avec de petites images au dessin complexe mais grossier que Scale2X fournit le meilleur résultat, mais il est alors équivalent à celui de HQX.

Dans certains cas, celui de la photo notamment, le navigateur fournit une image aussi nette que les outils spécialisés. L'algorithme d'interpolation linéaire peut donc s'avérer suffisant la plupart du temps, et si l'image est destinée à une page web, on peut se contenter de charger l'original et de l'agrandir dans la page.

Malheureusement, la super résolution ne peut fournir une image plus précise que l'image originale. D'après ce que l'on voit dans les séries télévisées, de tels algorithmes existent, mais ce n'est pas l'objectif des algorithmes ici présent. Sinon l'image extraite de l'affiche du film Le Silence des Agneaux ressemblerait à l'image que l'on voit à droite.