Nous avons déjà parlé ici de ces algorithmes de redimensionnement d'images qui utilisent des moyennes pondérées plus ou moins complexes de groupes de pixels pour déterminer les pixels redimensionnés. Un nouvel algorithme pour redimensionner une image, appelé Seam Carving, développé par Shai Avidan et Ariel Shamir, analyse l’image en classant les pixels par ordre d’importance, c'est-à-dire selon le contraste avec les pixels voisins : plus ce contraste est grand, plus le pixel est considéré comme important. C'est à partir de cette pondération des pixels que l'algorithme redimensionne intelligemment l’image.

Pour en réduire la taille, l’algorithme supprime d’abord les pixels les moins importants et ne touche aux pixels importants que lorsqu'il n'a plus le choix. C'est ainsi que les détails, caractérisés par un fort contraste, sont conservés, contrairement à ce qui se passe avec les algorithmes classiques qui rendent les agrandissements flous et perdent les détails lors de la réduction d’une image.

 

Seam Carving est un algorithme de redimensionnement d’image « en fonction du contenu » (content aware image resizing ou CAIR). Il existe sur l'internet la bibliothèque libre CAIR développée par Brain Recall qui le met en œuvre. Une application a été écrite qui permet d’expérimenter avec l’algorithme et la bibliothèque. Seam-carving-gui, libre comme la bibliothèque, offre une interface conviviale avec accès à tous les paramètres importants et il est capable d’afficher les étapes intermédiaires de l’algorithme. Le logiciel permet aussi de définir dans l’image des zones importantes ou justement sans importance, une option qui permet de supprimer des objets ou personnes visibles dans l’image à redimensionner. L'algorithme Seam Carving mérite une explication détaillée que vous trouverez sur le site de CAIR en suivant le lien ci-dessous.

 

Note : on trouve aussi sous le nom de Liquid Resize un logiciel similaire, mais ce projet a (malheureusement) été abandonné.