TP2: Découpage d'images

Par : Sébastien Belzile

Description et approche

Réduire la taille d'une image tout en conservant son contenu, c'est possible? Ce travail effectué dans le cadre du cours de photographie algorithmique montre que ce n'est pas une tåche si ardue.
La méthode à utiliser était déjà toute définie pour nous :

  1. Déterminer l'importance de chaque pixel en utilisant une fonction d'énergie.
  2. Jusqu'à ce que l'image soit réduite à la taille désirée:
    1. Trouver le joint avec le moins d'importance dans l'image.
    2. Retirer ce joint.

La principale fonction d'énergie que j'ai utilisé fut la magnitude du gradiant.
Le joint ayant le moins d'importance a été trouvé grâce à un algorithme vu en classe, qui consiste à additionner aux pixels de chaque rangée la valeur de celui des 3 pixels contigus de la rangée précédante ayant la valeur la plus faible. L'algorithme utilisé est illustré sur l'image suivante.


Algorithme pour trouver le chemin ayant le moins d'énergie.

La figure suivante montre le type de joint qui était recherché.


Exemples de joint:
Noir: joint horizontal.
Gris: joint vertical.
Vert: n'est pas un joint -- contient plus qu'un pixel pour certaines colonnes.

Photos fournies

Voici les résultats obtenus sur les images fournies.


Redimensionnement vertical sur une l'image 'couch'.

A première vue, le résultat est bon. Cependant, on remarque que la ligne entre les dalles du trotoir n'est plus très droite.


Redimensionnement hozizontal sur une l'image 'maison'.

La maison a conservé ses proportions, mais l'arbre sur la gauche a un tronc difforme.


Redimensionnement hozizontal sur une l'image 'tower'.

L'algorithme a commencé par gruger la partie droite de la tour sans toucher ailleurs. Il a ensuite enlevé une bonne partie du ciel dans le milieu de l'image, conservant ainsi les détails.


Redimensionnement sur une l'image 'windsor'.

Nous avons ici un exemple qui ne fonctionne pas. Verticalement, les détails se situent principalement dans le haut de l'image, transformant les voitures et les gens du bas en mottons. Quelque chose de semblable se produit horizontalement. Les gens du milieu deviennent tout petit. La voiture de droite a pris une forme très aérodynamique.

Images en provenance des Internets

Voici les résultats obtenus sur les images trouvés avec Google image.


Redimensionnement vertical sur une l'image de 'Lena'.

On a conservé le jolie minois de Lena. Cependant son chapeau a beaucoup souffert lors du passage de l'algorithme.


Redimensionnement vertical d'un champs de fleurs.

L'uniformité de ce champs a été détruit. Certaines fleurs sont maintenant difformes.


Redimensionnement d'un bébé chèvre.

L'algorithme a ici conservé l'important de l'image: le bébé chèvre. Ceci est un exemple qui fonctionne à merveille.


Big Ben.

Je crois que cette tour risque de s'effondrer. Si ce n'était pas de la tour, on croirait que l'algorithme a fonctionné ici.

Images personelles


Koopa

Il ne reste plus grand chose du koopa. Le fond contenant des arbres devait être trop détaillé. L'algorithme n'a enlever que de la neige. Il en a cependant trop enlevé.


Mur blanc

Qu'en est-il d'une image assez uniforme. Le résultat est ici très positif.


cravate

Une image uniforme avec des motifs. Le résultat n'est pas du tout concluant. L'algorithme ne fait qu'enlever des lignes dans le bas de l'image.