Redimensionnement d’images GIF-4105/7105 Photographie Algorithmique Jean-François Lalonde
Retour sur le TP1 Moyenne: 80% Écart-type: 16% Allez voir les autres projets et votez! votre projet préféré votre résultat préféré Envoyez vos votes à jflalonde@gel.ulaval.ca
Retour sur le TP1 Testez avec des images supplémentaires! Commentez les résultats (surtout les négatifs) Crédits supplémentaires: montrez avant et après Mettez des liens vers les images haute résolution <a href=“img_highres.jpg”><img src=“img_lowres.jpg”></a> Commencez tôt et venez nous voir!
Aujourd’hui Redimensionnement d’images: TP2! Aussi utile pour: agrandir les images enlever les objets, boucher les trous
Stratégies de redimensionnement Image originale — 500 px de large, 375 px de haut Écrasée — 300 px de large Avidan, S. and Shamir, A. 2007. Seam Carving for Content-Aware Image Resizing. ACM Transactions on Graphics (SIGGRAPH 2007) 26, 3.
Stratégies de redimensionnement Image originale — 500 px de large Coupée — 300 px
But Conserver les parties importantes de l’image Qu’est-ce qui est “important”?
Fonction d’énergie Définir une fonction d’énergie qui indique, pour chaque pixel: Haute énergie = conserver le pixel Basse énergie = on peut l’enlever Des idées de fonction d’énergie? Image originale
Stratégies de redimensionnement Enlevons les pixels qui ont le moins d’énergie! Image moins ses (200x375) pixels ayant le moins d’énergie Énergie
Stratégies de redimensionnement Enlevons les pixels qui ont le moins d’énergie — dans chaque ligne Image moins ses (200x375) pixels ayant le moins d’énergie Énergie
Stratégies de redimensionnement Calculer l’énergie totale pour chaque colonne Retirer les colonnes ayant le moins d’énergie Image moins ses 200 colonnes ayant le moins d’énergie Mieux! Mais quels sont les problèmes? — nous sommes contraints à couper une colonne entière! DESSINER EXEMPLE AU TABLEAU Énergie par pixel Énergie par colonne
Re-dimensionnement “intelligent” Trouver un chemin à travers l’image dont la somme totale d’énergie est minimale Ça vous rappelle quelque chose?
Coupure minimisant les discontinuités blocs se chevauchant discontinuité verticale Notre but: trouver un chemin qui minimise la somme totale de l’erreur de chevauchement. 2 _ erreur minimale = erreur de chevauchement
Trouver le chemin au coût minimum Coût de passer par ce pixel 1 3 4 3 2 1 2 1 4 2 1 2
Trouver le chemin au coût minimum 1 source: l1 coût: 4 4 3 6 4 3 7 l1 source: l2 coût: 6 source: l2 coût: 7 source: l1 coût: 2 2 1 2 source: l2 coût: 4 4 2 4 1 l2 source: l3 coût:4 source: l2 coût: 4 source: l2 coût:3 4 2 4 1 3 5 2 l3 source: l3 coût:5
Trouver le chemin au coût minimum 1 3 4 3 l1 2 1 2 1 l2 4 2 1 2 l3
Trouver le chemin au coût minimum 1 3 4 3 Retirer les pixels correspondants! 2 1 2 1 4 2 1 2
Trouver le chemin au coût minimum Retirer les pixels correspondants! 3 4 3 2 4 2 2 2
Algorithme Calculer une fonction d’énergie sur l’image Tant que l’image n’ait pas atteint la taille (réduite) voulue: Trouver le chemin (8-voisins) ayant le coût minimum Retirer les pixels faisant partie du chemin Aussi possible de séparer l’algorithme en deux parties: pré-calculs et exécution rapide. Je vous laisse y réfléchir pour votre TP (indice: lisez l’article).
Démo! http://swieskowski.net/carve/
Résultats Image originale Écrasée
Résultats Image originale Coupée
Résultats Image originale De-dimensionnée
Agrandir l’image Image originale Image 50% plus large
Agrandir l’image Image originale Image agrandie Comment?
Trouver le chemin au coût minimum 1 3 4 3 l1 2 1 2 1 l2 4 2 1 2 l3
Trouver le chemin au coût minimum 1 3 4 3 Insérer des pixels! 2 1 2 1 4 2 1 2
Trouver le chemin au coût minimum 1 3 4 3 1 1 2 1 2 1 1 1 4 2 1 2
Trouver le chemin au coût minimum 1 3 4 3 1.5 1 2 1 2 1.5 1 1.5 4 2 1 2
Trouver le chemin au coût minimum 1 3 4 3 1.5 2 2 2 2 1.5 1.5 1.5 4 2 1 2
Agrandir l’image Image originale Image 100% plus large Problèmes?
Conserver (et enlever) des objets Image originale Rouge = conserver, vert = enlever Nouvelle image
Enlever des objets Pigeon disparu Image originale Fillette disparue
Trouvez le soulier manquant? Image originale Image moins un soulier (lequel?)
Trouvez le soulier manquant? Image originale Image moins un soulier (lequel?)
Trouvez le soulier manquant? Image originale Image moins un soulier (lequel?) Effet difficile à atteindre avec des algorithmes de synthèse de texture conventionnels comme on a vu lundi
Incorporer d’autres contraintes Image originale Image re-dimensionnée
Incorporer d’autres contraintes Image originale Image re-dimensionnée
Rappel: TP2 Date de remise: 16 février @ 23h55 sur Pixel Taille maximale pour le fichier: 100MB Sauvegardez vos images en jpg imwrite(img, ‘fichier.jpg’, ‘Quality’, 85);
La semaine prochaine Découpage d’images