Questo pacchetto contiene due files, uno scritto in bash e uno in python.
Premettendo che quello scritto in python è tratto dai codici di esempio ed è disponibile su
http://python.pastebin.com/m76db1d6b .
Ho integrato il tutto con un piccolo script bash, che una volta datagli in pasto un'immagine, la analizza attraverso lo script face.py, che, basato sulle librerie opencv, è in gradi di riconoscere i volti presenti in un'immagine, restituendo le coordinate degli ipotetici rettangoli che potrebbero racchiuderli, quindi una volta effettuata questa operazione, lo script bash, attraverso convert prende l'immagine originale e vi disegna sopra dei rettangoli rossi che andranno a racchiudere il volti riconosciuti dallo script bash, restituendo alla fine un'immagine "output.jpg" che conterrà l'immagine originale modificata (lasciando comunque intatto l'originale).
Per utilizzarlo basterà scompattare il pacchetto e poi lanciare lo script trace_face.sh come da esempio:
Codice:
redmarv@acer:~/python/face$ sh trace_face.sh MOCA2008_26.jpg
L'immagine datagli in pasto:
Allegato:
MOCA2008_26.jpg
E si avrà, nel terminale un risultato del tipo:
Codice:
Processing [(695,183) -> (786,274)]
695
183
274
786
Processing [(495,62) -> (592,159)]
495
62
159
592
Processing [(554,385) -> (671,502)]
554
385
502
671
Sono state trovate circa 3 facce
L'immagine risultante:
Allegato:
output.jpg
Il "circa" dell'ultima riga è dovuto al fatto che non sempre lo script python riconosce tutte le facce, o non sempre quello che lui riconosce come facce è realmente un faccia!
Ovviamente, maggiore è la risoluzione della foto, migliore sarà il risultato.
Divertitevi:
Allegato:
trace_face.tar