Dans ce projet on s'intéresse au redimensionnement d'image proposé par Avidan et Shamir dans un article intitulé
Seam Carving for Content-Aware Image Resizing.
L'idée est de trouver des joints dans l'image qui contiennent peu d'information et de les retirer.
M(i,j) = Grad(i,j) + min([M(i-1,j-1),M(i-1,j),M(i-1,j+1)])
Grad
l'image du gradient. Une fois la matrice M calculée, on recherche le plus petit élément de la dernière ligne. Cet élément correspond à la fin du joint vertical le
moins couteux. On remonte ensuite celui-ci pour obtenir les indices du joint minimal. L'image ci-dessous illustre le joint ayant le plus faible cout pour l'image considérée.
M = Grad;
for ind = 1:x-1
M(ind+1,:) = M(ind+1,:) + min([Inf mini2D(ind,1:end-1);mini2D(ind,:);mini2D(ind,2:end) Inf]);
end
"House" [512x384], jim mc cann | [312x384] |
"Yo couch" [375x500], yuan | [375x250] |
"tower" [640x434] | [200x350] |
"Max in windsor" [648x432] | [430x432] |
"Mutual" [286x261], xkcd.com | [256x261] |
Chuttes de Montmorency [768x1024] TT | [768x512] |
"Giraffe Ithala"[1024x682], Luca Galuzzi - www.galuzzi.it | [674x632] |
Brûlage dirigé [587x720], Gilles Planelle | [434x470] |
"Lenna" [512x512], The USC-SIPI image database | [412x412] |
"Rubik Pomme" [989x551], TT | [555x551] |
énergie+entropie | eHoG |
Masque binaire | zone à protéger |
Lenna protégé [412x412], on voit nettement la différence avec l'image obtenue précédemment | Encore plus loin! [312x312] | Toujours plus loin! [192x200] | Peut-être un peu trop loin... [160x100], la zone protégée commence à se déformer du fait que la zone est plus grande que l'image que l'on veut obtenir |
Beach Baby [640x427] Thephotographymuse | zone à protéger |
Résultat sans protection [440x307] | Résultat avec protection [440x307] |
BMX riding at Zvera Festival 2009 (Latvia) [548x433], Staffan Vilcans | image agrandie [548x593] |
Canadair St Florent [1024x768], TT | Sans canadair [1024x768] |