Vi ricordate il video di johnny chung lee? quel famoso ragazzo orientale studente in america che avrebbe inventato il modo di effettuare l’head tracking con una linux box tramite un wii-mote.
In compiz verrà a breve rilasciato appunto il plugin headtrack che consentirà di utilizzarlo sia tramite una webcam compatibile che tramite lo stesso wii-mote.
Headtrack sarà forse il plugin più utile che compiz mai vedrà nell’infinito database di plugin esistenti, basta pensare agli utenti diversamente abili, che finalmente avranno meno difficoltà nell’utilizzo del loro pc.
Poco fa ho detto che bisogna avere una webcam compatibile, perchè questo plugin utilizza le librerie opencv; fortunatamente moltissime webcam sembrano essere compatibili con queste librerie, anche se l’installazione non è proprio cosi immediata.
Prima di tutto scordiamoci di utilizzare le librerie presenti nei repository, sono troppo vecchie e non contengono alcune variabili definite all’interno del plugin, dovremo quindi compilarci necessariamente l’ultimo snapshot dal ramo svn.
Iniziamo a vedere cosa ci serve per poter compilarle, tutti i pacchetti sono reperibili presso i repository ufficiali:
- build-essential
- gcc 4.x
- cmake 2.6 o maggiore
- subversion
- libgtk2.0-dev
- pkgconfig
- libpng, zlib, libjpeg, libtiff, libjasper (con relativi pacchetti -dev)
- python-dev
- swig 1.3.30 o maggiore
- libavformat-dev
- libdc1394 2.x (pacchetto -dev)
creiamo una cartella di lavoro in cui scaricheremo i sorgenti e preleviamoli dall’indirizzo seguente:
svn co https://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/tags/latest_tested_snapshot
finita la clonazione portiamoci dentro la cartella opencv e creiamo un altra cartella temporanea in cui verranno depositati i files risultanti dalla compilazione:
cd /path/to/opencv/sources
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D BUILD_PYTHON_SUPPORT=ON ..
e poi compiliamo ed installiamo:
make
sudo make install
sudo ldconfig -v
adesso dobbiamo rendere definitivi alcuni path delle librerie:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
alla fine di tutto questo abbiamo installato con successo il ramo svn delle librerie Opencv, adesso è il momento del plugin vero e proprio, il codice lo troviamo nel repository git di compiz:
mkdir headtrack
cd headtrack
git-clone git://anongit.compiz-fusion.org/users/klange/headtracking
cd headtracking
make
sudo make install
il plugin è adesso installato, lo troveremo dentro il gestore delle configurazioni di compiz sotto la sezione extra.
A me da non pochi problemi, nel senso che appena si avvia il pc la webcam mi si accende e riesco a muovere il mouse sul desktop, ma non riesco ad interagire con nulla, in più premendo la combinazione per muovere il cubo compaiono degli artefatti al centro dello schermo che accennano dei minimi movimenti appena sposto la mia testa.
Non so se questo è dovuto alla mia webcam non compatibile od al plugin ancora troppo acerbo; in ogni caso pregherei tutti coloro che seguiranno questa guida di scrivere un commento descrivendo la propria esperienza, seguiamo questo progetto e facciamolo crescere.
youtube.com/watch?v=8pdWoN04P-E
| |














scusami ma sono di coccio
scusami ma sono di coccio oggi… l’ho attivato nelle opzioni di compiz… ma poi come "lo uso" (se così si può dire?)
una volta che lo spunti ed
una volta che lo spunti ed attivi compiz si dovrebbe attivare la webcam ed inizia l’head tracking le finestre di dovrebbero muovere coi movimenti della tua testa, ancora non sono riuscito ad usarlo nemmeno io, a quanto pare tarare il plugin non è una cosa facile…
infatti… a me addirittura
infatti… a me addirittura non si attiva neanche la webcam… l’unico effetto che vedo è che quando sposto una finestra in secondo piano diciamo me la riduce un pò di dimensione… e questo è un parametro che si può cambiare…
scusate, ma esiste un
scusate, ma esiste un progetto per fare con una webcam quello che Chung Lee fa con il wiimote? Cioe’ leggere solo la posizione di uno spot luminoso (o infrarosso). Intendo quindi senza la complicazione del bluetooth e senza la complicazione del riconoscimento della faccia. Grazie.
al momento no
al momento no
In effetti mi sembra di
In effetti mi sembra di capire che il wiimote faccia in hardware il riconoscimento dello spot luminoso (anzi di 4) nel campo della sua webcam infrarossa e poi credo che invii tramite la bluetooth solo le coordinate e non il frame della webcam. Ho provato in python a leggere i frame e individuare il max di luminosita’ e a posizionare di conseguenza il cursore del mouse: ma, ovviamente, la scansione dell’array e’ troppo lenta e il cursore rimane imprigionato nella finestra aperta con pygame.
morf scusami ma make in che
morf scusami ma make in che cartella va fatto?
cmq a me la cartella <span style=”font-family: Times New Roman;”>sources</span> non esiste… esiste solo src… ed ho fatto lì i comandi successivi ma poi mi dice che non c'è nessun makefile…
appena posso ci provo…
appena posso ci provo… bello quel giochino… è per linux?
morf scusami ma make in che
morf scusami ma make in che cartella va fatto?
cmq a me la cartella sources non esiste… esiste solo src… ed ho fatto lì i comandi successivi ma poi mi dice che non c’è nessun makefile…
morf ma tu hai il file
morf ma tu hai il file headtracking_options.h??? a me dal git non lo prende e quindi non compila
è un path simbolico leggi
è un path simbolico leggi l’intero comando dice "percorso verso i sorgenti di opencv" io non so dove tu te li scarichi quindi metto quel percorso generico tipo da me sono in ~/opencv/latest-tested-snapshot
mmm boh non ricordo stasera
mmm boh non ricordo stasera a casa controllo e ti faccio sapere
a chi non trova quel file
a chi non trova quel file che ho scritto basta installare compiz-bcop o compiz-fusion-bcop
magari lo aggiungi così se qualcuno avesse lo stesso problema…
cmq non ho capito il funzionamento… cioè tu dici che muovi il mouse con la testa??? e come???
root@peppino:~/headtrack/hea
root@peppino:~/headtrack/headtracking# make
convert : headtracking.xml.in -> build/headtracking.xml
bcop’ing : build/headtracking.xml -> build/headtracking_options.h/bin/sh: –header=build/headtracking_options.h: not found
make: *** [build/headtracking_options.h] Error 127
root@peppino:~/headtrack/headtracking# sudo make install
bcop’ing : build/headtracking.xml -> build/headtracking_options.h/bin/sh: –header=build/headtracking_options.h: not found
make: *** [build/headtracking_options.h] Error 127
root@peppino:~/headtrack/headtracking#
quando scrivo make mi torna l’errore che ho riportato sopra.
Come posso risolvere l’errore?
Risolto grazie.s100
Risolto grazie.s100
no non muovi il mouse con la
no non muovi il mouse con la testa ma muovi il dekstop col movimento della testa…