Making of: “facce da pollycoke :)”
In Facili, o quasi :), Guide il 1/12/08 @ 0:02 trackbackL’idea di creare un mosaico del logo di pollycoke usando esclusivamente avatar di utenti pollycoke non è male, infatti è piaciuto anche a me mentre lo facevo. Non come quando preparo una cena buonissima e mi rovino il gusto assaggiandola per aggiustare il sale… odiosissimo.
Visto che l’avevo promesso, vi ragguaglio sul procedimento che ho utilizzato per mettere insieme le varie tessere. Qualcuno ha addirittura ipotizzato che le avessi ordinate a mano :D invece ho usato un’applicazione molto potente e relativamente semplice. Quel “relativamente” davanti all’aggettivo dovrebbe già suggerirvi che può essere anche piuttosto complicato raggiungere gli effetti desiderati… beh, solo non se non si ha un felipe a portata di mano.
Cosa?
Metapixel è un generatore di fotomosaici, ossia quelle immagini ottenute componendo tra loro varie fotografie in modo da ricordare appunto la tecnica del mosaico, ma utilizzando qualcosa di ben più complesso di banali tessere colorate: e cioè appunto fotografie.
Per fare ciò Metapixel deve come primo passo eseguire una veloce “mappatura” delle foto che si intendono utilizzare, in modo da conoscere quali sono le caratteristiche principali (luminosità, colore…) di quelle che cominciano ad essere considerate come tessere; successivamente può comporre l’immagine confrontando un file originale con la mappa delle tessere disponibili.
Dove?
Trovate Metapixel nei repository di Ubuntu, quindi facilmente installabile da Synaptic o con il comando:
$: sudo apt-get install metapixel
Credo che con la stessa facilità possa essere reperito per le altre principali distribuzioni. Se proprio non trovate un pacchetto, potete sempre compilarlo voi, recuperando i sorgenti nella pagina ufficiale del progetto.
Come?
Ok ci sono due modi di fare le cose: una è farla come viene prima, un’altra è la maniera felipesca
1) Come viene prima
Le istruzioni ufficiali sono molto ben scritte e disponibili a tutti, leggetele e vi assicuro che vi toglieranno tutti i dubbi. Non limitatevi però alla pagina di manuale, leggete il file README, tipo così:
$: zless /usr/share/doc/metapixel/README.gz
In sostanza, rifacendomi a quanto detto nel paragrafo “Cosa?”, si devono compiere alcuni passi fondamentali per far sì che metapixel possa operare. Prima di tutto bisogna creare nella $HOME una directory che useremo per le tessere mappate:
$: mkdir ~/metapixel-libreria
Dopo aver fatto questo possiamo già cominciare con il primo comando, ossia la mappatura vera e propria, tenendo presente che dovremo indicare a metapixel fondamentalmente solo due cose, dove sono le immagini che vogliamo mappare, e dove le vogliamo conservarle una volta che sono mappate e convertite in tessere:
$: cd ~ $: metapixel-prepare -r Immagini/ metapixel-libreria
In questo modo, è chiaro, abbiamo indicato che le immagini da utilizzare sono nella dir “Immagini”, e che vogliamo che siano mappate e salvate come tessere in “metapixel-libreria”. In realtà la mappatura non è altro che la riscalatura a 128×128 e la trascrizione di alcuni parametri in un file “table.mxt”. Se avete molte immagini ci sta un po’.
A questo punto possiamo dare il secondo comando, mettiamo ad esempio di voler creare un mosaico del logo di pollycoke con le immagini contenute in “metapixel-libreria”, agiremo così:
$: metapixel --metapixel pollycoke_logo.jpg mosaico_pollycoke.jpg --library metapixel-libreria
Ed ecco il nostro primo mosaico! Si chiama ovviamente mosaico_pollycoke.jpg e fa completamente schifo! :)
2) Alla maniera felipesca
Vediamo se indovino… il vostro mosaico fa schifo più o meno come questo:
|
metapixel –metapixel Rolling_Stone_Bart.jpg mosaico-tut.jpg –library img
Pur avendo voi fornito a metapixel una libreria con miliardi di tessere, ne ha usate solo una decina e le ha pure ripetute quattro o cinque volte con un effetto penoso. Ci ho azzeccato? Beh il motivo per cui ciò avviene è che 1) avete fornito un’immagine di riferimento troppo piccola, 2) ci sono aree troppo simili e metapixel usa più volte le immagini migliori, scartando le altre. Anche i miei primi mosaici erano penosi, poi ho scoperto l’esistenza di alcuni parametri interessanti, come questo da passare al primo comando:
--width=64 --height=64
Che cambia le dimensioni delle tessere, dalle predefinite 128×128 pixel a 64×64, cosa che permette di lavorare con file finali più piccoli ma comunque abbastanza definiti. Ancora più interessanti i parametri per il secondo comando, come questo:
--scale=3
Questo parametro ingrandirà l’immagine originale di riferimento, per cui ci vorranno più tessere per coprirne la superficie. Ovviamente al posto di 3 potete mettere qualsiasi altro valore, ma non esagerate: potreste trovarvi con estrema facilità a dover sostenere il calcolo necessario a generare immagini di centinaia di MB. Ok la situazione è un po’ migliorata, solo che c’è sempre quella stessa decina di immagini che si ripete, giusto? Beh provate ad aggiungere questo altro parametro, sempre al secondo comando:
--distance=20
In questo modo una tessera non può essere ripetuta prima di uno spazio equivalente a venti altre tessere. Va un po’ meglio? Sono sicuro di sì! Adesso provate ad aumentare subdolamente quei due valori, scale e distance, fino ad ottenere il livello massimo, oltre al quale metapixel cade in ginocchio e vi dice che non sa proprio come fare per accontentarvi. Concentratevi di più su “distance” e cercate di ottenere il numero più alto di tessere per lato. In ogni caso non è detto che sia un male assoluto il fatto che alcune immagini possano ripetersi, esempio (l’originale era ~7MB):
metapixel –metapixel Rolling_Stone_Bart_800px.jpg mosaico-tut.jpg –library img –scale=8
A questo punto i più svegli capiranno che esiste la possibilità di farsi quattro conti prima di sparare valori a caso a metapixel. In particolare si può agire in maniera preventiva sulle dimensioni dell’immagine di riferimento in relazione alla riscalatura che intendete effettuare1, alle dimensioni delle tessere e – se vi interessa – al numero di tessere che intendete utilizzare. Sapendo che la riscalatura è sempre e comunque subordinata alle dimensioni delle tessere (ossia nel mio caso a multipli di 64 pixel). Potete facilmente arrivare a stabilire voi il numero di tessere per lato del mosaico. Altro parametro interessante per il secondo comando:
--cheat=30%
Al posto di 30 potete mettere un valore qualsiasi. Questo farà sì che metapixel fonda al mosaico finale, con un’opacità del 30%, l’immagine stessa di riferimento. In questo modo il mosaico sarà molto più somigliante all’immagine di riferimento, ma così avrete barato! Io non l’ho fatto perché usando solo il reale output di metapixel c’è …più gusto :)
Ci sono molti altri parametri che vi possono servire per cambiare un po’ l’effetto o di creare interessanti variazioni del mosaico, come il “collage”. Trovate tutto nella documentazione ufficiale.
Perché?
…perché a volte le parole non bastano, ma questo l’avevamo già detto.
— Note all'articolo:
- Tra una riscalatura del file di riferimento di “2″ e di “3″ può esserci un mare di differenza, modificando direttamente le dimensioni del file originale otteniamo vie di mezzo [↩]
— Pagine forse correlate:
Commenti »
oppure non studiate, e usate foto-mosaik (win) ;F
cmq buona guida :)
Rolling stone Bart?!?!?!
Nirvana Bart… Felipe… le basi della musica!
(Non commento l’articolo perchè è ottimo così)
è molto carino, ma non un miracolo e non ha nemmeno un’interfaccia grafica. avevo un programma che fa la stessa cosa (ed è anche ben più potente) su windows già 6 o 7 anni fa.
questo pinguino arriva sempre il decennio dopo :/ (Sich!)
@lolloso
Ci tengo a precisare che non è il pinguino che arriva tardi, sono gli sviluppatori che lo fanno per win ma non per linux.
Ciao
Io mi chiedevo più che altro come hai fatto a scaricarre tutte le immagini degli avatar di Facebook sul computer. Script? Manualmente?
Sono curioso :D
io invece sono molto dubbioso,SignorCarlo,che il buon felipe abbia scaricato a mano tutte le foto da fb (più di 600)…anzi tutta questa storia del making of mi puzza un bel pò…credo che Feli si sia semplicemente appoggiato a una delle tante apps di facebook che permettono di creare mosaici con le foto che sono associate al proprio account fb,e che abbia poi ricreato ad arte sta storia di Metapixel solo per non tradire il proprio lato open e soprattutto per non deludere i fan!Non credo ci sia nulla di male ad utilizzare qualche programma/servizio closed,potevi pure dircelo chiaramente se lo hai fatto…beh,nel caso in cui tu davvero abbia scaricato a mano tutte le foto,allora tieni na salute di ferro,felì
per scaricare le foto da facebook basta fare un giro sui repo di script per greasemonkey.
o anche volendo fare a mano, basta prendere la pagina con gli utenti del gruppo e un colpo di downthemall fa il resto.
@scimmia: l’idea di downthemall mi è venuta proprio poco fa, sotto la doccia. Solo non mi è sembrato il caso di correre nudo (e bagnato) al pc per commentare :D
@Kyashan: hai la sindrome del complotto :P
Non vedo perché avrebbe dovuto mentire, ma va beh.
rwjpeg.c:129: open_jpeg_file_writing: Assertion `data->file != 0′ failed.
Che significa????
@ilSignorCarlo
per scaricare gli album da facebook c’è una comoda estensione per firefox :)
https://addons.mozilla.org/it/firefox/addon/4481
Un click col destro sull’album e ti scarica in massa le immagini. Ora devo fare una sorpresina ad una mia amica..
@elphio:
La copertina di Nevermind ritraeva un giovane essere umano. Una versione con Bart Simpson apparve su una storica rivista musicale USA chiamata “Rolling Stone”.
Le basi… ;)
@ilSignorCarlo:
Ha risposto in parte scimmia, inoltre ho fatto uso di un sistema per bloccare i suggerimenti per iscrivermi ad altri gruppi su FB, altrimenti avrei scaricato cose come “i Barbapapà” tra gli avatar :D
@Kyashan:
Io dopo aver letto il tuo commento allucinato sono un po’ dubbioso che tu stia bene con la testa. Ma va benissimo così :D
@markpersy:
Eh ma gli album sono un’altra cosa rispetto a liste di fan/amici/membri. Confermi? Ad ogni modo mi manca solo una cosa: trovare un’estensione che mi permetta di visualizzare più dei normali 10 fan per pagina (diciamo un centinaio sarebbe OK). Questo velocizzerebbe enormemente lo scaricamento.
Ragà scusate,non avevo mai trollato in vita mia…volevo capire cosa si prova!:)
@markpersy: non mi pare quella funzioni… con la nuova interfaccia di fb. e cmq dovresti usare una vecchia versione di ff, o modificare il file xpi.
vai di greasemonkey.
@ilsignorcarlo: sotto la doccia canta, non pensare al picci. :-)
ho trovato questo, forse vi sarà utile per imitare felipollicoche: http://www.labnol.org/internet/pictures/facebook-friends-digital-photo-collage-poster/1558/
Esiste anche pixelize che ha l’interfaccia grafica e più o meno le stesse opzioni, a parte la sovrapposizione con l’originale.
una figata sta cosa! :D proverò con una mia foto stile urlo di Munch :D
Boh, a me per qualche strano motivo non riconosce le opzioni ’scale’, ‘cheat’ e ‘distance’
Grazie dell’articolo, mi interessava tantissimo un programma che facesse una cosa del genere, però ho notato una cosa: anche se le immagini della libreria le ho settate con risoluzione 64×48 (sono tutte rettangolari con la base più lunga, tranne un paio che vengono ampiamente deformate), nel mosaico sono tutte rigorosamente quadrate; non è quindi possibile usare tessere “rettangolari”?