1 - MOTIVATION

C'est en me rendant sur le blog français consacré à Jana Defi - qui a été refait récemment que j'ai découvert un billet montrant Jana Defi en mosaic....Le defi pour faire de même pour Jana sous GNU/linux - sang fer 2 je 2 maux - fut de trouver un outil capable de rivaliser autant que faire se peut sous GNU/Linux. Après une petite recherche fructueuse sur la Web, la réponse fut toute trouvée: metapixel...

L'outil utilisé est metapixel, déjà présenté sur divers blogs de linuxiens avertis sur le Web. Le site de metapixel est http://www.complang.tuwien.ac.at/schani/metapixel/ . Pour son installation et la génération de la collection de mosaiques, il y a http://doc.ubuntu-fr.org/metapixel

En piochant dans ma collection (personnelle )constituée de

david@bremko:~$ ls ~/tmp|wc -l
410

soit donc 410 photos, j'ai par exemple réussi à produire l'exemple suivant en utilisant la commande avec l'option --cheat qui concerne l'opacité

metapixel --cheat=40 -s 10 --library=/var/lib/david/tmp --metapixel PhotoInitiale.jpg PhotoFinale.jpg

La génération prend quelques minutes tout de même et plusieurs Mo d'occupation!

Pour réduire l'image résultante, il a suffit alors d'appliquer le redimisionnement suivant de 388x546. Ceci suffit amplement pour mes besoins

convert PhotoFinale.jpg -resize 388x546 PhotoFinale.jpg

2 - ATELIE PRATIQUE AVEC METAPIXEL

Une fois metapixel installé - en suivant les indications de - http://doc.ubuntu-fr.org/metapixel -, on commence par générer comme préciser sa collection de mozaiques. Il est important de posséder une collection assez importante avec suffisamment de variation de couleurs. Puis il est nécessaire de disposer d'une image en input. Mon image ici s'appelle off5_in.jpg.

Pour la suite, metapixel va me permettre de générer mon image de sortie off5_out.png en faisant

metapixel --cheat=40 -s 10 --library=/var/lib/david/tmp --metapixel off5_in.jpg off5_out.jpg

J'utilise imgsize et convert pour redimensionner off5_out.png aux dimensions de off5_in.jpg en faisant tout simplement

 convert off5_out.jpg -resize $(imgsize -r off5_in.jpg |sed -e "s: :x:g") off5_out.jpg

Imgsize me sert surtout pour calculer les dimensions de off5_in.jpg L'outil convert permet de redimensionner (d'où l'option -resize).

Et voici le résultat


 convert off5_out.jpg -resize $(imgsize -r off5_in.jpg |sed -e "s: :x:g") off5_out.jpg

3 - DIFFERENTS ZOOMS

Présenté ainsi on a du mal à se dire que ca fonctionne du tonnerre mais en zoomant un peu, on voit bien que c'est de la belle mosaïque. Voici différent niveau de zoom sur l'image en sortie de la section 1.


Zoom à 100%


Zoom à 67 %


Zoom à 50%


Zoom à 33%